Hvordan en MongoDB-database kan bedre organisere dine data

MongoDB (fra humongous) er en platform-orienteret dokumentorienteret database, der bruges som et alternativ til MySQL. Men hvad betyder det?

MongoDB (fra humongous) er en platform-orienteret dokumentorienteret database, der bruges som et alternativ til MySQL.  Men hvad betyder det?
Reklame

Enhver, der nogensinde har arbejdet med databaser, der organiserer data i tabeller, også kaldet relationelle databaser, kan nok tale om dets fejl. Så godt et system til lagring af data, det kan være, det er ikke uden dets problemer og er ikke designet til fortolkning af mennesker, at organisere med det sammenfaldende, overflødigt og med en stejl indlæringskurve.

Derfor er NoSQL bevægelsen. SQL står for Structured Query Language, og det bruges til at kommunikere med databaser. Men det er ikke så stort i større målestok. Når apps for eksempel går virale, er det nødvendigt med support, så brugerne kan bruge appen uden at opleve problemer. Men SQL bliver kompliceret i denne skala, mere end mange udviklere kan klare.

NoSQL gør det lettere at opbevare og organisere data, fordi forkæmperne i NoSQL-skolens tankegang har forsøgt at lave en database, der arbejdede med store datasæt, skaleres og blev organiseret som måden folk tror på, og de kan let læses af mennesker. MongoDB er en sådan database, og det ændrer måden udviklere bygger hjemmesider på.

Hvad er MongoDB?

Connection_to_the_MongoDB_Shell

MongoDB (fra "humongous") er en platform-orienteret dokumentorienteret database, der bruges som et alternativ til MySQL. Men hvad betyder det? Nå, en database er et struktureret sæt data. Så Hvad er en database, alligevel? [MakeUseOf Forklarer] Så hvad er en database, alligevel? [MakeUseOf Forklarer] For en programmør eller en teknologi entusiast er begrebet en database noget, der virkelig kan tages for givet. Men for mange mennesker er begrebet en database selv en smule udenlandsk .... Læs mere, men MongoDB adskiller sig, fordi det har tendens til at være mindre strenge om, hvordan disse data er struktureret. Oplysninger grupperes sammen, snarere end opdelt i relaterede dokumenter og tabeller som MySQL, et populært RDBMS- eller relationsdatabasestyringssystem, der bruger SQL.

Mange databaser, der bruger SQL-lagerdata i tabeller på sider. Tænk på noget som et Excel-regneark med bits af kode. Disse sider er de mindste datastykker på en server, og hver side er afsat til en tabel. Dette bliver forældet i stor skala, mens med MongoDB, kan bygherren beslutte, hvordan man strukturerer informationen, uanset hvad der passer til deres behov.

MongoDB bruger BSON til at gemme information. BSON (en kombination af "binær" og "JSON" eller JavaScript Objektnotation) kan betragtes som en binær eller numerisk repræsentation af JSON-dokumenter. JSON Hvad er JSON? A Layman's Overview Hvad er JSON? En Layman's Overview Uanset om du planlægger at være en webudvikler eller ej, er det en god idé at i det mindste vide, hvad der er JSON, hvorfor det er vigtigt, og hvorfor det bruges over hele nettet. Læs mere er et åbent standardformat (som open source) til organisering af data.

Det tilføjer også støtte til visse datatyper, der ikke understøttes i JSON, ligesom datatypen 'dato', som normalt ikke understøttes og derfor ikke kunne bruges af bygherren. Udvikleren, i dette tilfælde, ville ikke kunne inkludere nogen form for dato som et stykke data.

Disse data er typisk organiseret i dokumenter. JSON sender data ved hjælp af dokumenter, der let kan læses af mennesker, men det er ikke tilfældet med BSON. JSON bruges også almindeligvis til at transmittere data mellem en server og en applikation, såvel som et generelt datalagringsmedium.

Dokumenter behøver ikke at være struktureret på en bestemt måde ifølge samlingen eller en gruppe relaterede objekter, de er organiseret i, hvilket gør det meget nemt for en udvikler at komme i gang med MongoDB. Dette har ført til, at det er en af ​​de mest populære NoSQL-databaser derude.

Hvad gør det anderledes fra MySQL?

Mysql-skærmbillede

Med MySQL er måske den mest udbredte RDBMS derude, selvom det er fejlfuldt, er det kun naturligt, at alternativer ville opstå. Da NoSQL er et alternativ til SQL, anses MongoDB for et alternativ til MySQL. MySQL bruger tabeller til at organisere sine data og er baseret på den klassiske relationelle datamodel fra det tyvende århundrede, men kan ligesom MongoDB ændres for forbedret funktionalitet.

Men de to er meget forskellige. De er beregnet til forskellige formål, for en. MongoDB er beregnet mere til den større (meget store) skala, mens der kun er så meget, som MySQL kan klare. Som det blev nævnt før bruger MySQL tabeller til at organisere data, der kan ende med at blive meget sammenfaldende. Men de er begge meget gode systemer, og i virkeligheden bliver hybrider implementeret på visse websteder rundt om i nettet. Craigslist er kendt for at være en af ​​de mere succesrige websteder, der implementerer en MongoDB / MySQL hybrid.

Hvordan virker det?

mongodb dokument

MongoDB virker ved at gemme data i dokumenter svarende til JSON. Disse dokumenter har et eller flere felter (objekter eller værdier indeholdt i en klasse eller struktur), som indeholder arrays (en række objekter af samme størrelse og type) og underdokumenter (et dokument, der udgør en del af et større dokument). Disse felter kan indstilles som bygherren ønsker det, alt efter deres behov.

Mens organisering dette normalt ville være en kompliceret affære, gør BSON det nemt ved blot at gruppere dokumenterne sammen i henhold til type og størrelse i stedet for at bryde dem ned i meget små stykker data som SQL gør og organisere dataene baseret på andre oplysninger. På grund af denne fleksibilitet er udviklerne i stand til at udvikle dataindsamlingen, også kaldet datamodellen, der passer til deres behov.

Udviklere kan få adgang til dokumenterne via drivere, som de kan læse og forstå, og dokumenterne er tilgængelige i de mest populære moderne programmeringssprog. Med MongoDB kortlægges dokumenterne naturligt til objekterne, så der er ikke behov for et ORM (objekt-relationelt kortlægning) lag, der manuelt kortlægger dokumenter til deres respektive objekter. Enkelt sagt er dokumenterne forbundet naturligt til objekterne, så der er ikke behov for en separat kommando eller et program for at forbinde dem.

MongoDB bruger en JavaScript-baseret shell og understøtter udviklere, der skriver brugerdefinerede kode ved hjælp af JavaScript-funktioner og vil sandsynligvis blive mere udbredt, da JavaScript fortsætter med at boom. Hvad er JavaScript, og kan internettet eksistere uden det? Hvad er JavaScript, og kan internettet eksistere uden det? JavaScript er en af ​​de ting, som mange tager for givet. Alle bruger det. Læs mere i popularitet.

Hvem bruger det?

Selvom det stadig er relativt ung, er MongoDB brugt på en række populære hjemmesider. Disse omfatter business journal Forbes, samt gif-tastic Buzzfeed.

Forbes udnyttede MongoDB til hurtigt at udvikle en ny web- og mobilportefølje. MongoDBs hurtighed og kraft gjorde det muligt for dem at oprette et websted om to måneder og en mobilapp på en måned. Dette havde en drastisk indflydelse på deres læsers engagement og trafik. Ifølge MongoDB-udviklerne:

Om natten hoppede mobiltrafikken fra 5% til 15% af Forbes.com total trafik, og blev hurtigt rammet til 50%.

Buzzfeed lider af de udfordringer, som enhver stor medieorganisation står overfor. Deres distribuerede skrivepersonale offentliggør en så mægtig mængde indhold 5 websites til at tjekke nyeste buzz- og virale videoer 5 websites til at tjekke de nyeste buzz- og virale videoer Læs mere til et stort publikum. MongoDB tillader, at Buzzfeed hurtigt skaleres i henhold til den trafik, de modtager, samt bestemme hvilke typer indhold der resoneres med deres læsere.

Hvordan bruger du det?

MongoDB er et godt værktøj til web, spil og softwareudviklere. Vi ved, at det er hurtigt og skalerbart. Og vi ved, at det er let at læse og at lære. Men hvordan bruger du det faktisk?

mongodb shell i browser

Den officielle MongoDB hjemmeside giver brugerne mulighed for at prøve en MongoDB shell i deres browsere. TutorialsPoint tilbyder flere meget detaljerede vejledninger til brug af MongoDB, lige fra begynder til avanceret. Der er også projekter på GitHub ikke bare for kodere: 9 måder at bruge GitHub til kreativt arbejde ikke kun for kodere: 9 måder at bruge GitHub til kreativt arbejde GitHub er kendt for de fantastiske funktioner, det kan tilbyde programmører, men det er ikke kun for dem . Der er masser af andre kreative anvendelser til GitHub. Her er ni, du kan udforske. Læs mere relateret til MongoDB, herunder The Little MongoDB Book af Karl Seguin, for næsten alt hvad du behøver at vide om MongoDB.

Hvis du bare vil lære at installere MongoDB, skal du sørge for at tjekke denne tutorial fra den officielle MongoDB hjemmeside.

Skal du bruge det?

Det afhænger af din individuelle situation.

Så godt som MongoDB er, er det ikke uden sine fejl. Det er ikke ACID-kompatibelt. ACID, der står for Atomicity, Consistency, Isolation og Durability, er et sæt af egenskaber, der sikrer, at database transaktioner eller arbejde udført i en database behandles og udføres korrekt. NoSQL databaser er undertiden ikke ACID-kompatible, hvilket begrænser deres produktivitet og pålidelighed.

MongoDB bruger også al ledig hukommelse som systemcache. Som følge heraf er der præstationsproblemer på computere, der kører på 32-bit-systemer, som kun kan adressere maksimalt 4 GB hukommelse. For at lære mere om at bruge RAM på din computer, skal du sørge for at tjekke denne artikel af Brad Jones Hvor meget RAM har du virkelig brug for? Hvor meget RAM har du virkelig brug for? RAM er som kort sigt hukommelse. Jo mere du multitask, jo mere du har brug for. Find ud af, hvor meget din computer har, hvordan du får mest ud af det, eller hvordan du får mere. Læs mere .

Fordi der ikke er behov for tabeller med denne database, er der stor risiko for, at udviklere er doven og skriver slurvet kode, men at risikoen gælder for næsten alt. Du ender med dobbelt data, fordi der ikke er nogen mulighed for tilslutning i systemet.

Ikke desto mindre er MongoDB et flammende hurtigt, effektivt system, som absolut kan hjælpe med at øge udviklerens produktivitet

MongoDB er også brugervenlig, fordi det ikke kræver en samlet datastruktur for alle objekter, selvom det anbefales at sætte en op til brugervenlighed. Datastrukturen behøver ikke at være den samme i hele systemet, så en singel stemme er ikke helt nødvendig.

Endelig skal ifølge MakeUseOf-forfatteren Matthew Hughes din opstart have en blog. Her er hvorfor din opstart skal have en blog. Her er hvorfor Her er nogle mere overbevisende grunde til, at din opstart ikke kan leve uden en blog. Læs mere, MongoDB-teamet driver en fremragende blog med højkvalitets, velskrevet teknisk indhold rettet mod et teknisk publikum.

Konklusion

Hvis du ikke har et system med en god mængde RAM, der ikke kan understøtte en stor database, eller du ikke virkelig ønsker at have en stor database overhovedet, er MongoDB ikke til dig. Det har tendens til kun at sælge sig selv i stor skala. For mindre projekter er det sandsynligvis lettere at bruge RDBMS. Hvis du imidlertid har brug for hurtighed og lethed og kan understøtte systemet, er det måske værd at se på.

Har du nogen erfaring med MongoDB? Nysgerrig om at prøve det? Efterlad en kommentar nedenfor, og vi vil snakke!

Billedkreditter: "Tilslutning til MongoDB Shell" af Ularugeanina via Wikimedia Commons, "Mysql-screenshot" af Stephantom via Wikimedia Commons

In this article