Hvordan en MongoDB-database kan bedre organisere dataene dine

MongoDB (fra humongous) er en cross-platform dokumentorientert database som brukes som et alternativ til MySQL. Men hva betyr det?

MongoDB (fra humongous) er en cross-platform dokumentorientert database som brukes som et alternativ til MySQL.  Men hva betyr det?
Annonse

Alle som noen gang har jobbet med databaser som organiserer data i tabeller, også kalt relasjonsdatabaser, kan sannsynligvis snakke om sine feil. Så godt et system for lagring av data som det kan være, det er ikke uten problemer og er ikke designet for tolkning av mennesker, noe som gjør organisering med det innviklet, overflødig og med en bratt læringskurve.

Derfor, NoSQL bevegelsen. SQL står for Structured Query Language, og det brukes til å kommunisere med databaser. Men det er ikke så bra i større målestokk. Når apps for eksempel går virale, er det nødvendig med støtte, slik at brukerne kan bruke appen uten å oppleve problemer. Men SQL blir komplisert på denne skalaen, mer enn mange utviklere kan håndtere.

NoSQL lager lagring og organisering av data lettere, fordi foresatte av NoSQL-skolen har tenkt å lage en database som fungerte med store datasett, skalert, og ble organisert som måten folk tenker på, og kan lett leses av mennesker. MongoDB er en slik database, og det endrer måten utviklere bygger nettsteder på.

Hva er MongoDB?

Connection_to_the_MongoDB_Shell

MongoDB (fra "humongous") er en dokumentasjonsorientert database som brukes som et alternativ til MySQL. Men hva betyr det? Vel, en database er et strukturert sett med data så hva er en database, uansett? [MakeUseOf Forklarer] Så Hva er en database, uansett? [MakeUseOf Forklarer] For en programmerer eller en teknologientusiast er begrepet en database noe som virkelig kan tas for gitt. Men for mange mennesker er begrepet en database selv litt utenlandsk .... Les mer, men MongoDB skiller seg ut fordi det har en tendens til å være mindre streng om hvordan dataene er strukturert. Informasjon er gruppert sammen, i stedet for nedbrutt i relaterte dokumenter og tabeller som MySQL, et populært RDBMS- eller relationsdatabasebehandlingssystem, som bruker SQL.

Mange databaser som bruker SQL-lagringsdata i tabeller på sider. Tenk på noe som et Excel-regneark med biter av kode. Disse sidene er de minste dataene på en server, og hver side er viet til ett bord. Dette blir innviklet i stor skala, mens med MongoDB, kan utvikleren bestemme hvordan man skal strukturere informasjonen for hva som helst som passer deres behov.

MongoDB bruker BSON til å lagre informasjon. BSON (en kombinasjon av "binær" og "JSON", eller JavaScript Object Notation) kan betraktes som en binær eller numerisk representasjon av JSON-dokumenter. JSON Hva er JSON? A Laymans oversikt Hva er JSON? En Laymans oversikt Enten du planlegger å være en webutvikler eller ikke, er det en god ide å minst vite hva som er JSON, hvorfor det er viktig, og hvorfor det brukes over hele nettet. Les mer er et åpent standardformat (som åpen kildekode) for å organisere data.

Den legger også til støtte for visse datatyper som ikke støttes i JSON, som datatypen 'dato', som normalt ikke ville bli støttet og derfor ikke kunne brukes av utvikleren. Utvikleren, i dette tilfellet, ville ikke kunne inkludere noen form for dato som et stykke data.

Vanligvis er disse dataene organisert i dokumenter. JSON overfører data ved hjelp av dokumenter som lett kan leses av mennesker, men dette er ikke tilfelle med BSON. JSON brukes også ofte til å overføre data mellom en server og en applikasjon, samt et generelt datalagringsmedium.

Dokumenter trenger ikke å være strukturert på en bestemt måte i henhold til samlingen, eller en gruppe relaterte objekter de er organisert i, noe som gjør det veldig enkelt for en utvikler å komme seg opp med MongoDB. Dette har ført til at det er en av de mest populære NoSQL-databasene der ute.

Hva gjør det forskjellig fra MySQL?

Mysql-skjermbilde

Med MySQL er kanskje den mest brukte RDBMS der ute, men feilaktig som det kan være, det er bare naturlig at alternativer vil kaste opp. Med NoSQL som et alternativ til SQL, anses MongoDB som et alternativ til MySQL. MySQL bruker tabeller for å organisere sine data og er basert på den klassiske relasjonsdata modellen fra det tjuende århundre, men, som MongoDB, kan den modifiseres for forbedret funksjonalitet.

De to er imidlertid svært forskjellige. De er ment for forskjellige formål, for en. MongoDB er ment mer for den store (meget store) skalaen, mens det bare er så mye MySQL kan håndtere. Som tidligere nevnt, bruker MySQL tabeller for å organisere data som kan ende opp med å bli veldig innviklede. Men de er begge veldig gode systemer, og faktisk blir hybrider implementert på enkelte nettsteder rundt på nettet. Craigslist er kjent for å være en av de mer vellykkede nettstedene som implementerer en MongoDB / MySQL hybrid.

Hvordan virker det?

mongodb-dokument

MongoDB fungerer ved å lagre data i dokumenter som ligner på JSON. Disse dokumentene har ett eller flere felt (objekter eller verdier som finnes i en klasse eller struktur), som inkluderer arrays (en serie objekter av samme størrelse og type) og underdokumenter (et dokument som utgjør en del av et større dokument). Disse feltene kan settes som utvikleren ønsker det, i henhold til deres behov.

Mens organisering dette normalt ville være en komplisert affære, gjør BSON det enkelt ved å gruppere dokumentene sammen i henhold til type og størrelse i stedet for å bryte dem ned i svært små datamengder som SQL, og organisere dataene basert på annen informasjon. På grunn av denne fleksibiliteten kan utviklere utvikle datainnsamlingen, også kalt datamodellen, for å dekke deres behov.

Utviklere kan få tilgang til dokumentene via drivere som de kan lese og forstå, og dokumentene er tilgjengelige i mest populære, moderne programmeringsspråk. Med MongoDB kartlegges dokumentene naturlig til objektene, slik at det ikke er behov for et ORM-objekt (objektrelasjonell kartlegging) som manuelt kartlegger dokumenter til de respektive objektene. Enkelt sagt er dokumentene koblet til objektene naturlig, så det er ikke behov for en egen kommando eller et program for å koble dem til.

MongoDB bruker et JavaScript-basert skall og støtter utviklere som skriver egendefinert kode ved hjelp av JavaScript-funksjoner, og vil trolig bli mer utbredt når JavaScript fortsetter å boom. Hva er JavaScript, og kan Internett eksistere uten det? Hva er JavaScript, og kan Internett eksistere uten det? JavaScript er en av de tingene mange tar for gitt. Alle bruker det. Les mer i popularitet.

Hvem bruker det?

Selv om det fortsatt er relativt ung, er MongoDB brukt på en rekke populære nettsteder. Disse inkluderer forretningsjournal Forbes, samt gif-tastic Buzzfeed.

Forbes benyttet seg av MongoDB for raskt å utvikle en ny web- og mobilportefølje. MongoDBs fart og kraft gjorde det mulig for dem å sette opp et nettsted på to måneder og en mobilapp på en måned. Dette hadde en drastisk innvirkning på leserenes engasjement og trafikk. Ifølge MongoDB-utviklerne:

Over natten hoppet mobil trafikk fra 5% til 15% av Forbes.com total trafikk, og raskt rammet til 50%.

Buzzfeed lider av utfordringene som en stor medieorganisasjon står overfor. Deres distribuerte skrivepersonale publiserer en så mektig mengde innhold 5 nettsteder for å sjekke ut Siste Buzz og Viral Videoer 5 Nettsteder for å sjekke ut Siste Buzz og Viral Video Les mer, til et stort publikum. MongoDB tillater Buzzfeed å raskt skalere i henhold til trafikken de mottar, samt bestemme hvilke typer innhold som resoneres med sine lesere.

Hvordan bruker du det?

MongoDB er et flott verktøy for web, spill og programvareutviklere. Vi vet at det er raskt og skalerbart. Og vi vet at det er lett å lese, og å lære. Men hvordan bruker du det egentlig?

mongodb skall i nettleseren

Den offisielle MongoDB-nettsiden gir brukerne mulighet til å prøve et MongoDB-skall i sine nettlesere. TutorialsPoint tilbyr flere svært detaljerte opplæringsprogrammer for bruk av MongoDB, alt fra nybegynner til avansert. Det finnes også prosjekter på GitHub ikke bare for kodere: 9 måter å bruke GitHub på for kreativt arbeid, ikke bare for kodere: 9 måter å bruke GitHub på for kreativt arbeid GitHub er kjent for de flotte funksjonene det kan tilby programmerere, men det er ikke bare for dem . Det er mange andre kreative bruksområder for GitHub. Her er ni du kan utforske. Les mer relatert til MongoDB, inkludert The Little MongoDB Book av Karl Seguin, for omtrent alt du trenger å vite om MongoDB.

Hvis du bare vil lære å installere MongoDB, må du sjekke ut denne opplæringen fra den offisielle MongoDB-nettsiden.

Skal du bruke den?

Det avhenger av din individuelle situasjon.

Like bra som MongoDB er, er det ikke uten sine feil. Det er ikke ACID-kompatibelt. ACID, som står for atomitet, konsistens, isolasjon og holdbarhet, er et sett med egenskaper som sikrer at databasetransaksjoner, eller arbeid utført i en database, behandles og fullføres korrekt. NoSQL databaser er noen ganger ikke ACID-kompatible, noe som begrenser deres produktivitet og pålitelighet.

MongoDB bruker også alt tilgjengelig minne som systembuffer. Som et resultat er det ytelsesproblemer på datamaskiner som kjører på 32-biters systemer, som kun kan adressere maksimalt 4 GB minne. Hvis du vil vite mer om å bruke RAM på datamaskinen, må du sjekke ut denne artikkelen av Brad Jones Hvor mye RAM trenger du virkelig? Hvor mye RAM trenger du egentlig? RAM er som korttidsminne. Jo mer du multitask, jo mer du trenger. Finn ut hvor mye datamaskinen har, hvordan du får mest mulig ut av det, eller hvordan du får mer. Les mer .

Fordi det ikke er behov for tabeller med denne databasen, er det stor risiko for at utviklere er lat og skriver slurvet kode, men at risikoen gjelder for nesten alt. Du ender med duplikatdata, fordi det ikke er mulighet for å bli med i systemet.

MongoDB er likevel et raskt og effektivt system som kan hjelpe til med å øke utviklerens produktivitet

MongoDB er også brukervennlig fordi det ikke krever en enhetlig datastruktur for alle objekter, selv om det anbefales å sette opp en enkel bruk. Datastrukturen trenger ikke å være den samme i hele systemet, så en singel stemme er ikke helt nødvendig.

Til slutt, ifølge MakeUseOf-forfatteren Matthew Hughes, din oppstart burde ha en blogg. Her er hvorfor din oppstart burde ha en blogg. Her er hvorfor Her er noen flere overbevisende grunner til at oppstarten din ikke kan leve uten en blogg. Les mer, MongoDB-teamet driver en utmerket blogg med høy kvalitet, godt skrevet teknisk innhold rettet mot et teknisk publikum.

Konklusjon

Hvis du ikke har et system med en god mengde RAM som ikke kan støtte en stor database, eller du virkelig ikke ønsker å ha en stor database i det hele tatt, er MongoDB ikke for deg. Det pleier å selge seg selv når den er i stor skala. For mindre prosjekter, er det muligens lettere å bruke RDBMS. Hvis du imidlertid trenger fart og letthet og kan støtte systemet, er det kanskje verdt å se på.

Har du noen erfaring med MongoDB? Er du nysgjerrig på å prøve det? Legg igjen en kommentar nedenfor og vi snakker!

Bildekreditter: "Tilkobling til MongoDB Shell" av Ularugeanina via Wikimedia Commons, "Mysql-skjermbilde" av Stephantom via Wikimedia Commons

In this article