Hur en MongoDB-databas kan bättre organisera dina data

MongoDB (från humongous) är en plattforms-dokumentorienterad databas som används som ett alternativ till MySQL. Men vad betyder det?

MongoDB (från humongous) är en plattforms-dokumentorienterad databas som används som ett alternativ till MySQL.  Men vad betyder det?
Annons

Den som någonsin har arbetat med databaser som organiserar data i tabeller, även kallade relationsdatabaser, kan noga tala om sina brister. Så bra som ett system för att lagra data kan det vara, det är inte utan problem och är inte utformat för tolkning av människor, att organisera sig med det ihopfallna, överflödiga och med en brant inlärningskurva.

Därför är NoSQL-rörelsen. SQL står för Structured Query Language, och det används för att kommunicera med databaser. Men det är inte så bra i större skala. När till exempel apps går virala krävs support så att användarna kan använda appen utan att uppleva några problem. Men SQL blir komplicerat i denna skala, mer än vad många utvecklare kan hantera.

NoSQL gör det lättare att lagra och organisera data eftersom förespråkare av NoSQL-skolan strävar efter att skapa en databas som fungerade med stora dataset, skalas och organiserades som hur människor tänker och lätt kan läsas av människor. MongoDB är en sådan databas, och det förändrar hur utvecklare bygger webbplatser.

Vad är MongoDB?

Connection_to_the_MongoDB_Shell

MongoDB (från "humongous") är en plattforms-dokumentorienterad databas som används som ett alternativ till MySQL. Men vad betyder det? Tja, en databas är en strukturerad uppsättning data Så vad är en databas, hur som helst? [MakeUseOf Explains] Så vad är en databas, hur som helst? [MakeUseOf Förklarar] För en programmerare eller en teknikentusiast är begreppet en databas något som verkligen kan tas för givet. Men för många människor är begreppet en databas i sig lite utländsk .... Läs mer, men MongoDB skiljer sig åt eftersom det tenderar att vara mindre strikt om hur dessa data struktureras. Information grupperas ihop, i stället för att delas upp i relaterade dokument och tabeller som MySQL, ett populärt RDBMS- eller relationsdatabashanteringssystem, som använder SQL.

Många databaser som använder SQL-lagringsdata i tabeller på sidor. Tänk på något som ett Excel-kalkylblad med bitar av kod. Dessa sidor är de minsta bitarna av data på en server, och varje sida ägnas åt en tabell. Det här får sig i stor skala, medan med MongoDB kan utvecklaren bestämma hur man strukturerar informationen för vad som helst som passar deras behov.

MongoDB använder BSON för att lagra information. BSON (en kombination av "binär" och "JSON" eller JavaScript Objekt Notation) kan betraktas som en binär eller numerisk representation av JSON-dokument. JSON Vad är JSON? A Laymans översikt Vad är JSON? En Laymans översikt Oavsett om du planerar att vara webbutvecklare eller inte, är det en bra idé att åtminstone veta vad som är JSON, varför det är viktigt och varför det används över hela webben. Read More är ett öppet standardformat (som öppen källkod) för att organisera data.

Det lägger också till stöd för vissa datatyper som inte stöds i JSON, som datatypens "datum", vilket normalt inte skulle stödjas och därför inte kunde användas av utvecklaren. Utvecklaren skulle i det här fallet inte kunna inkludera någon form av datum som en bit av data.

Vanligtvis är dessa data organiserade i dokument. JSON överför data med hjälp av dokument som lätt kan läsas av människor, men det är inte fallet med BSON. JSON används också ofta för att överföra data mellan en server och en applikation, såväl som ett generellt datalagringsmedium.

Dokument behöver inte struktureras på ett visst sätt enligt samlingen eller en grupp relaterade objekt de är organiserade i, vilket gör det mycket enkelt för en utvecklare att komma igång med MongoDB. Detta har lett till att det är en av de mest populära NoSQL-databaserna där ute.

Vad gör det annorlunda från MySQL?

Mysql-skärmdump

Med MySQL är det kanske mest använda RDBMS där ute, men det är bara naturligt att alternativen skulle uppstå, trots att det är felaktigt. Med NoSQL som ett alternativ till SQL anses MongoDB vara ett alternativ till MySQL. MySQL använder tabeller för att organisera sina data och bygger på den klassiska relationsdatamodellen från det tjugonde århundradet, men som MongoDB kan den modifieras för förbättrad funktionalitet.

Men de två skiljer sig mycket. De är avsedda för olika ändamål, för en. MongoDB är avsedd mer för den större (mycket stora) skalan medan det bara är så mycket som MySQL kan hantera. Som tidigare nämnts använder MySQL tabeller för att organisera data som kan hamna väldigt ingripande. Men de är båda båda mycket bra system, och i själva verket används hybrider på vissa webbplatser runtom i världen. Craigslist är känt för att vara en av de mer framgångsrika webbplatser som genomför en MongoDB / MySQL-hybrid.

Hur fungerar det?

mongodb dokument

MongoDB arbetar med att lagra data i dokument som liknar JSON. Dessa dokument har ett eller flera fält (objekt eller värden som ingår i en klass eller struktur) som innehåller arrayer (en serie objekt av samma storlek och typ) och underdokument (ett dokument som utgör en del av ett större dokument). Dessa fält kan ställas som utvecklaren så önskar, enligt deras behov.

Under organisationen är det normalt en komplicerad affär, det gör det enkelt för BSON genom att bara gruppera dokumenten tillsammans enligt typ och storlek i stället för att bryta ner dem i mycket små bitar av data som SQL gör och organisera data baserat på annan information. På grund av denna flexibilitet kan utvecklarna utveckla datainsamlingen, även kallad datamodellen, för att passa deras behov.

Utvecklare kan komma åt dokumenten via drivrutiner som de kan läsa och förstå, och dokumenten är tillgängliga i populäraste, moderna programmeringsspråk. Med MongoDB kartläggs dokumenten naturligt till objekten så att det inte finns något behov av ett ORM (objekt-relationellt kartläggning) lager som manuellt kartlägger dokument till sina respektive objekt. Enkelt uttryckt är dokumenten naturligt kopplade till objekten, så det finns inget behov av ett separat kommando eller program för att ansluta dem.

MongoDB använder ett JavaScript-baserat skal och stöder utvecklare som skriver anpassad kod med hjälp av JavaScript-funktioner och kommer sannolikt att bli mer utbredd när JavaScript fortsätter att boom. Vad är JavaScript, och kan Internet existera utan det? Vad är JavaScript, och kan Internet existera utan det? JavaScript är ett av de saker som många tar för givet. Alla använder det. Läs mer i popularitet.

Vem använder det?

Även om det fortfarande är relativt ung, används MongoDB på ett antal populära webbplatser. Dessa inkluderar företagsjournalen Forbes, liksom gif-tastic Buzzfeed.

Forbes utnyttjade MongoDB för att snabbt utveckla en ny webb- och mobilportfölj. MongoDB: s fart och kraft gjorde det möjligt för dem att ställa in en webbplats på två månader och en mobilapp på en månad. Detta hade en drastisk inverkan på deras läsarnas engagemang och trafik. Enligt MongoDB-utvecklarna:

Över natten hoppade mobiltrafiken från 5% till 15% av Forbes.com total trafik, och snabbt ramlade till 50%.

Buzzfeed lider av de utmaningar som någon stor mediaorganisation står inför. Deras utgivna skrivpersonal publicerar en så mäktig mängd innehåll 5 webbplatser att kolla in de senaste Buzz- och Viral-videon 5 webbplatser att kolla in de senaste Buzz- och Viral-videon Läs mer, till en stor publik. MongoDB tillåter Buzzfeed att snabbt skala efter den trafik de mottar, samt bestämma vilka typer av innehåll som resonerar med sina läsare.

Hur använder du det?

MongoDB är ett bra verktyg för webb, spel och programutvecklare. Vi vet att det är snabbt och skalbart. Och vi vet att det är lätt att läsa och att lära. Men hur använder du faktiskt det?

mongodb skal i webbläsare

Den officiella MongoDB-webbplatsen ger användarna möjlighet att prova ett MongoDB-skal i sina webbläsare. TutorialsPoint erbjuder flera mycket detaljerade handledning för att använda MongoDB, allt från nybörjare till avancerad. Det finns också projekt på GitHub inte bara för kodare: 9 sätt att använda GitHub för kreativt arbete, inte bara för kodare: 9 sätt att använda GitHub för kreativt arbete GitHub är känt för de fantastiska funktionerna det kan erbjuda programmerare, men det är inte bara för dem . Det finns många andra kreativa användningsområden för GitHub. Här är nio du kan utforska. Läs mer relaterat till MongoDB, inklusive The Little MongoDB Book av Karl Seguin, för nästan allt du behöver veta om MongoDB.

Om du bara vill lära dig hur du installerar MongoDB, var noga med att kolla in den här handledningen från den officiella MongoDB-webbplatsen.

Ska du använda den?

Det beror på din individuella situation.

Så bra som MongoDB är, är det inte utan sina brister. Det är inte ACID-kompatibelt. ACID, som står för atomitet, konsistens, isolering och hållbarhet, är en uppsättning egenskaper som säkerställer att databasstransaktioner, eller arbete som utförs i en databas, behandlas och kompletteras på rätt sätt. NoSQL-databaser är ibland inte ACID-kompatibla, vilket begränsar deras produktivitet och pålitlighet.

MongoDB använder också allt tillgängligt minne som ett systemcache. Som ett resultat är det prestationsproblem på datorer som körs på 32-bitars system, som endast kan ta upp högst 4 GB minne. För att lära dig mer om hur du använder RAM på din dator, se till att du kolla in den här artikeln av Brad Jones Hur mycket RAM behöver du verkligen? Hur mycket RAM behöver du verkligen? RAM är som kort sikt minne. Ju mer du multitask, desto mer behöver du. Ta reda på hur mycket din dator har, hur du får ut det mesta eller hur du får mer. Läs mer .

Eftersom det inte finns något behov av tabeller med den här databasen finns det stor risk för att utvecklare är lat och skriver slarvig kod, men risken gäller nästan vad som helst. Du hamnar med dubbla data eftersom det inte finns någon möjlighet att ansluta sig i systemet.

MongoDB är trots allt ett snabbt och effektivt system som absolut kan bidra till ökad produktivitet för utvecklare

MongoDB är också användarvänlig eftersom det inte kräver en enhetlig datastruktur för alla objekt, även om det rekommenderas att sätta upp en för enkel användning. Uppbyggnaden av data behöver inte vara densamma i hela systemet, så en singelröst är inte helt nödvändig.

Slutligen, enligt MakeUseOf-författaren Matthew Hughes, bör du starta en blogg. Här är varför din start bör ha en blogg. Här är varför Här är några tvingande skäl till varför din start kan inte leva utan en blogg. Läs mer, MongoDB-teamet driver en utmärkt blogg med högkvalitativt välskrivet tekniskt innehåll riktat till en teknisk publik.

Slutsats

Om du inte har ett system med en bra mängd RAM som inte kan stödja en stor databas, eller om du verkligen inte vill ha en stor databas alls, är MongoDB inte för dig. Det brukar bara sälja sig i stor skala. För mindre projekt är det förmodligen lättare att använda RDBMS. Om du behöver snabbhet och lätthet och kan stödja systemet, kanske det är värt att titta på.

Har du någon erfarenhet av MongoDB? Är du nyfiken på att prova det? Lämna en kommentar nedan och vi pratar!

Bildkrediter: "Anslutning till MongoDB Shell" av Ularugeanina via Wikimedia Commons, "Mysql-skärmdump" av Stephantom via Wikimedia Commons

In this article