Hoe een MongoDB-database uw gegevens beter kan organiseren

MongoDB (van gigantische) is een platformonafhankelijke documentgeoriënteerde database die wordt gebruikt als een alternatief voor MySQL. Maar wat betekent dat?

MongoDB (van gigantische) is een platformonafhankelijke documentgeoriënteerde database die wordt gebruikt als een alternatief voor MySQL.  Maar wat betekent dat?
Advertentie

Iedereen die ooit heeft gewerkt met databases die gegevens in tabellen organiseren, ook relationele databases genoemd, kan waarschijnlijk uitgebreid spreken over de tekortkomingen ervan. Het is een geweldig systeem voor het opslaan van gegevens, het is niet zonder problemen en is niet ontworpen voor interpretatie door mensen, waardoor organiseren ingewikkeld, overbodig en met een steile leercurve.

Vandaar de NoSQL-beweging. SQL staat voor Structured Query Language en wordt gebruikt voor communicatie met databases. Maar het is niet zo geweldig op een grotere schaal. Wanneer apps bijvoorbeeld viral gaan, is ondersteuning nodig zodat de gebruikers de app kunnen gebruiken zonder problemen op te lopen. Maar SQL wordt op deze schaal gecompliceerd, meer dan veel ontwikkelaars aankunnen.

NoSQL maakt het opslaan en organiseren van gegevens eenvoudiger, omdat voorstanders van de NoSQL-school van gedachte streefden naar het maken van een database die werkte met grote gegevenssets, geschaald en georganiseerd was zoals de manier waarop mensen denken en die gemakkelijk door mensen kan worden gelezen. MongoDB is zo'n database en het verandert de manier waarop ontwikkelaars websites bouwen.

Wat is MongoDB?

Connection_to_the_MongoDB_Shell

MongoDB (van "gigantische") is een platformonafhankelijke documentgeoriënteerde database die wordt gebruikt als een alternatief voor MySQL. Maar wat betekent dat? Welnu, een database is een gestructureerde reeks gegevens. Wat is een database eigenlijk? [MakeUseOf Explains] Dus wat is een database eigenlijk? [MakeUseOf Explains] Voor een programmeur of een technologie-liefhebber is het concept van een database iets dat echt als vanzelfsprekend kan worden beschouwd. Voor veel mensen is het concept van een database zelf echter een beetje vreemd ... Lees meer, maar MongoDB verschilt daarin dat het minder strikt is over hoe die gegevens zijn gestructureerd. Informatie is gegroepeerd in plaats van opgesplitst in gerelateerde documenten en tabellen zoals MySQL, een populair RDBMS, of relationeel databasebeheersysteem dat wel SQL gebruikt.

Veel databases die SQL-winkeldata gebruiken in tabellen op pagina's. Denk aan zoiets als een Excel-spreadsheet met stukjes code. Deze pagina's zijn de kleinste gegevens op een server en elke pagina is gewijd aan één tabel. Dit wordt op grote schaal gecompliceerd, terwijl met MongoDB de ontwikkelaar kan beslissen hoe de informatie moet worden gestructureerd voor wat ze nodig hebben.

MongoDB gebruikt BSON om informatie op te slaan. BSON (een combinatie van "binary" en "JSON" of JavaScript Object Notation) kan worden beschouwd als een binaire of numerieke weergave van JSON-documenten. JSON Wat is JSON? Overzicht van A Layman Wat is JSON? Het overzicht van A Layman Of u nu een webontwikkelaar wilt zijn of niet, het is een goed idee om op zijn minst te weten wat JSON is, waarom het belangrijk is en waarom het overal op internet wordt gebruikt. Read More is een open standaardindeling (zoals open-source) voor het organiseren van gegevens.

Het voegt ook ondersteuning toe voor bepaalde gegevenstypen die niet worden ondersteund in JSON, zoals het gegevenstype 'datum', dat normaal niet wordt ondersteund en daarom niet door de ontwikkelaar kan worden gebruikt. De ontwikkelaar zou in dit geval geen enkele datum als een gegeven kunnen opnemen.

Meestal zijn deze gegevens georganiseerd in documenten. JSON verzendt gegevens met behulp van documenten die gemakkelijk door mensen kunnen worden gelezen, maar dit is niet het geval met BSON. JSON wordt ook vaak gebruikt voor het verzenden van gegevens tussen een server en een toepassing, evenals een algemeen gegevensopslagmedium.

Documenten hoeven niet op een specifieke manier te worden gestructureerd volgens de verzameling of een groep verwante objecten waarin ze zijn georganiseerd, waardoor het voor een ontwikkelaar heel eenvoudig is om met MongoDB aan de slag te gaan. Dit heeft ertoe geleid dat het een van de meest populaire NoSQL-databases is die er zijn.

Wat maakt het anders uit MySQL?

Mysql-screenshot

Omdat MySQL misschien wel het meest gebruikte RDBMS is, is het natuurlijk dat er alternatieven opduiken, hoe gebrekkig het ook is. Omdat NoSQL een alternatief is voor SQL, wordt MongoDB beschouwd als een alternatief voor MySQL. MySQL gebruikt tabellen om zijn gegevens te ordenen en is gebaseerd op het klassieke relationele gegevensmodel uit de twintigste eeuw, hoewel het, net als MongoDB, kan worden aangepast voor verbeterde functionaliteit.

De twee verschillen echter enorm. Ze zijn voor verschillende doeleinden bedoeld, bijvoorbeeld. MongoDB is meer bedoeld voor de grotere (zeer grote) schaal, terwijl er maar zoveel is dat MySQL aankan. Zoals eerder vermeld, gebruikt MySQL tabellen om gegevens te ordenen die erg ingewikkeld kunnen zijn. Het zijn echter beide zeer goede systemen, en in feite worden hybriden geïmplementeerd op bepaalde sites op internet. Craigslist staat bekend als een van de meer succesvolle websites die een MongoDB / MySQL-hybride implementeren.

Hoe werkt het?

mongodb document

MongoDB werkt door gegevens op te slaan in documenten die lijken op JSON. Deze documenten hebben een of meer velden (objecten of waarden in een klasse of structuur) met arrays (een reeks objecten van hetzelfde formaat en hetzelfde type) en subdocumenten (een document dat deel uitmaakt van een groter document). Deze velden kunnen worden ingesteld zoals de ontwikkelaar dat wenst, al naar gelang hun behoeften.

Hoewel het organiseren van dit normaal gesproken een ingewikkelde aangelegenheid zou zijn, maakt BSON het eenvoudig door de documenten eenvoudig te groeperen op soort en grootte in plaats van ze op te splitsen in hele kleine stukjes gegevens, zoals SQL doet en de gegevens te ordenen op basis van andere informatie. Vanwege deze flexibiliteit zijn ontwikkelaars in staat om de verzameling van gegevens, ook wel het gegevensmodel genoemd, te evolueren om aan hun behoeften te voldoen.

Ontwikkelaars hebben toegang tot de documenten via stuurprogramma's die ze kunnen lezen en begrijpen, en de documenten zijn beschikbaar in de meest populaire, moderne programmeertalen. Met MongoDB worden de documenten op natuurlijke wijze aan de objecten toegewezen, zodat er geen ORM-koppeling (object-relationele toewijzing) nodig is die documenten handmatig aan hun respectieve objecten toewijst. Simpel gezegd, de documenten zijn natuurlijk met de objecten verbonden, dus er is geen aparte opdracht of programma nodig om ze aan te sluiten.

MongoDB maakt gebruik van een JavaScript-gebaseerde shell en ondersteunt ontwikkelaars die aangepaste code schrijven met behulp van JavaScript-functies, en zal waarschijnlijk meer wijdverbreid worden als JavaScript blijft boomen. Wat is JavaScript, en kan internet bestaan ​​zonder het? Wat is JavaScript, en kan internet bestaan ​​zonder het? JavaScript is een van die dingen die velen als vanzelfsprekend beschouwen. Iedereen gebruikt het. Meer lezen in populariteit.

Wie gebruikt het?

Hoewel MongoDB nog relatief jong is, wordt het in een aantal populaire websites gebruikt. Deze omvatten zakenmagazine Forbes, evenals gif-tastic Buzzfeed.

Forbes maakte gebruik van MongoDB om snel een nieuw web- en mobiel portfolio te ontwikkelen. De snelheid en kracht van MongoDB maakten het voor hen mogelijk om binnen twee maanden een website op te zetten en een mobiele app in één maand. Dit had een ingrijpend effect op de betrokkenheid en het verkeer van de lezer. Volgens de ontwikkelaars van MongoDB:

'S nachts, mobiele verkeer sprong van 5% tot 15% van Forbes.com totale verkeer, en snel opgelopen tot 50%.

Buzzfeed lijdt onder de uitdagingen waarmee een grote media-organisatie wordt geconfronteerd. Hun gedistribueerde schrijvers publiceren zo'n enorme hoeveelheid content 5 Websites om te controleren op de nieuwste Buzz- en Viral-video's 5 Websites om de nieuwste buzz- en virale video's te bekijken Lees meer voor een groot publiek. Met MongoDB kan Buzzfeed snel schalen op basis van het verkeer dat ze ontvangen, en bepalen welke soorten inhoud resoneert met hun lezers.

Hoe gebruik je het?

MongoDB is een geweldige tool voor web-, game- en softwareontwikkelaars. We weten dat het snel en schaalbaar is. En we weten dat het gemakkelijk is om te lezen en te leren. Maar hoe gebruik je het eigenlijk?

mongodb shell in browser

De officiële MongoDB-website biedt gebruikers de mogelijkheid om een ​​MongoDB-shell in hun browsers te proberen. TutorialsPoint biedt een aantal zeer gedetailleerde tutorials voor het gebruik van MongoDB, variërend van beginners tot gevorderden. Er zijn ook projecten op GitHub Not Just for Coders: 9 manieren om GitHub te gebruiken voor creatief werk, niet alleen voor codeerders: 9 manieren om GitHub te gebruiken voor creatief werk GitHub staat bekend om de geweldige functies die het programmeurs kan bieden, maar het is niet alleen voor hen . Er zijn tal van andere creatieve toepassingen voor GitHub. Hier zijn er negen die je kunt verkennen. Lees meer gerelateerd aan MongoDB, inclusief The Little MongoDB Book van Karl Seguin, voor zo ongeveer alles wat u moet weten over MongoDB.

Als je gewoon wilt leren hoe je MongoDB moet installeren, lees dan deze tutorial van de officiële MongoDB-website.

Moet je het gebruiken?

Dat hangt af van uw individuele situatie.

Zo groot als MongoDB is, het is niet zonder gebreken. Het is niet ACID-compatibel. ACID, dat staat voor Atomicity, Consistency, Isolation en Durability, is een verzameling eigenschappen die ervoor zorgen dat databasetransacties of in een database uitgevoerd werk correct worden verwerkt en voltooid. NoSQL-databases zijn soms niet ACID-compatibel, wat hun productiviteit en betrouwbaarheid beperkt.

MongoDB gebruikt ook al het beschikbare geheugen als een systeemcache. Als gevolg hiervan zijn er prestatieproblemen op computers die worden uitgevoerd op 32-bits systemen, die slechts maximaal 4 GB aan geheugen kunnen verwerken. Lees dit artikel van Brad Jones voor meer informatie over het gebruik van de RAM op je computer. Hoeveel RAM heb je echt nodig? Hoeveel RAM heb je echt nodig? RAM is als kortetermijngeheugen. Hoe meer u multitaskt, hoe meer u nodig heeft. Ontdek hoeveel uw computer heeft, hoe u er het meeste uit kunt halen, of hoe u meer krijgt. Lees verder .

Omdat tabellen met deze database niet nodig zijn, bestaat er een groot risico dat ontwikkelaars lui zijn en slordige code schrijven, maar dat risico geldt voor bijna alles. U krijgt dubbele gegevens omdat er geen mogelijkheden zijn om lid te worden van het systeem.

Desalniettemin is MongoDB een razendsnel, efficiënt systeem dat absoluut kan helpen bij het verhogen van de productiviteit van ontwikkelaars

MongoDB is ook gebruiksvriendelijk omdat het geen uniforme datastructuur vereist voor alle objecten, hoewel het wordt aanbevolen om er een in te stellen voor gebruiksgemak. De structuur van de gegevens hoeft niet overal hetzelfde te zijn, dus een enkelvoudige stem is niet helemaal noodzakelijk.

Tot slot, volgens MakeUseOf-schrijver Matthew Hughes moet uw startup een blog hebben. Hier is waarom uw startup een blog zou moeten hebben. Hier is Waarom Hier zijn enkele meer dwingende redenen waarom je startup niet zonder een blog kan leven. Read More, het MongoDB-team heeft een uitstekende blog met hoogwaardige, goed geschreven technische inhoud die is bedoeld voor een technisch publiek.

Conclusie

Als je geen systeem hebt met een goede hoeveelheid RAM die een grote database niet kan ondersteunen, of als je niet echt op zoek bent naar een grote database, dan is MongoDB niets voor jou. Het heeft de neiging zichzelf alleen op grote schaal te verkopen. Voor kleinere projecten is het gebruik van RDBMS waarschijnlijk eenvoudiger. Als je echter snelheid en gemak nodig hebt en het systeem kunt ondersteunen, is het misschien de moeite waard om naar te kijken.

Heb je enige ervaring met MongoDB? Benieuwd naar het uitproberen? Laat hieronder een reactie achter en we zullen praten!

Afbeeldingscredits: "Verbinding met de MongoDB Shell" door Ularugeanina via Wikimedia Commons, "Mysql-screenshot" door Stephantom via Wikimedia Commons

In this article