sql >> Database >  >> NoSQL >> MongoDB

MongoDB-zelfstudie voor beginners (volledige gids) - Leer MongoDB in 15 minuten

Een razendsnelle technologie die de focus van ontwikkelaars vastlegt, dat is MongoDB. MongoDB is een open source, documentgeoriënteerde database die gegevens opslaat in de vorm van documenten.

In deze MongoDB-zelfstudie voor beginners zullen we alles bestuderen over wat MongoDB is en hoe het werkt, vereisten, toepassingen, voordelen, beperkingen enz. om MongoDB als een expert te leren.

Dus, ben je enthousiast om de MongoDB-zelfstudie voor beginners te zien?

Wat is MongoDB en hoe het werkt?

MongoDB is een NoSQL-database (niet alleen Structured Query Language) programma, dat platformonafhankelijk documentgericht is. Het is een open source databasebeheersysteem dat verschillende vormen van gegevens ondersteunt.

Het werd halverwege de jaren 2000 populair vanwege het gebruik in big data toepassingen en ook voor de verwerking van ongestructureerde gegevens.

MongoDB-architectuur is bestaat uit verzamelingen en documenten. Het gebruikt het BSON-formaat voor documentopslag, een binaire vorm van JSON-documenten. De server heeft geen downtime wanneer u de schema's dynamisch wijzigt.

Het betekent dat de gebruiker meer tijd heeft om harder aan de gegevens te werken in plaats van tijd te verspillen aan het voorbereiden van de gegevens voor de database.

Vereisten om MongoDB te leren

Deze MongoDB-zelfstudie voor beginners behandelt de vereisten die u moet kennen voordat u aan de slag gaat met het leren van MongoDB .

  • Kennis van elke programmeertaal.
  • Kennis van JavaScript
  • Het is nuttig om JSON te kennen
  • Enige kennis van RDBMS
  • Kennis van elke teksteditor

MongoDB-zelfstudie voor beginners - Inleiding

Inleiding tot NoSQL-database

Velen van jullie hebben misschien gehoord van NoSQL, het is een soort database die wordt gebruikt om ongestructureerde gegevens te beheren, dat wil zeggen die afkomstig zijn van verschillende locaties zoals sociale media, banken, aandelenmarkt enz. Het heeft in feite geen rijen of kolommen erin.

NoSQL speelt een cruciale rol bij het verwerken van deze enorme hoeveelheid gegevens, die in een zeer snel tempo verandert en groeit. Een relationele database is niet geschikt voor het verwerken van dit soort gegevens, die zo snel blijven veranderen.

Daarom wordt de NoSQL-database ontworpen om alle nadelen van een relationele database in de context van de wereld van vandaag te overwinnen.

MongoDB versus RDBMS

Hieronder volgen enkele van de punten die ons het verschil tussen MongoDB en RDBMS vertellen .

  • RDBMS heeft een relationele database, maar MongoDB heeft een niet-relationele database.
  • In RDBMS moeten we de tabel ontwerpen, dan kunnen we alleen beginnen met coderen, maar in MongoDB kunnen we direct beginnen met coderen.
  • RDBMS ondersteunt SQL-taal en MongoDB ondersteunt zowel SQL als JSON-querytaal.
  • RDBMS is gebaseerd op tabellen, terwijl MongoDB is gebaseerd op sleutelwaarden.
  • MongoDB is gebaseerd op documenten, terwijl RDBMS op rijen is gebaseerd.
  • RDBMS is gebaseerd op kolommen, terwijl MongoDB op velden is gebaseerd.
  • RDBMS is niet zo eenvoudig in te stellen, maar MongoDB is relatief eenvoudig in te stellen.
  • MongoDB is horizontaal schaalbaar, aan de andere kant is RDBMS verticaal schaalbaar.
  • RDBMS verwerkt de gegevens erg traag in vergelijking met de ongestructureerde gegevens van MongoDB.
  • RDBMS legt de nadruk op ACID-eigenschappen (Atomicity, Consistentie, Isolatie, Duurzaamheid). Aan de andere kant legt MongoDB de nadruk op de CAP-stelling (Consistentie, Beschikbaarheid, Partitietolerantie).

MongoDB-zelfstudie voor beginners - MongoDB VS RDBMS

Waarom wordt MongoDB gebruikt?

MongoDB heeft veel functies met zichzelf omdat het NoSQL-gegevens verwerkt, die tegenwoordig binnen een fractie van seconden in TB's worden gegenereerd. Dus om deze grote hoeveelheid gegevens te verwerken en ook om er wat nuttige informatie uit te halen, gebruiken we MongoDB.

  • Vragen
  • Indexeren
  • Onbalans laden
  • Meerdere servers afhandelen
  • Bestandsopslagsysteem
  • Aggregatie
  • Hoge prestaties

ik. Vragen

Het ondersteunt bereikquery's, reguliere expressies en nog veel meer soorten zoekopdrachten voor query's. MongoDB ondersteunt ad-hoc en op documenten gebaseerde zoekopdrachten.

Query's bevatten door de gebruiker gedefinieerde JavaScript-functies en kunnen ook specifieke soorten gegevens uit het document retourneren. Het kan ook een willekeurige steekproef van gegevens van een bepaalde opgegeven grootte retourneren.

ii. Indexeren

Velden in het document kunnen worden geïndexeerd hetzij als primair of secundair. MongoDB is ook in staat om de replicatie in gegevens af te handelen en af ​​te handelen. Zoals we weten, bevatten replicasets dezelfde gegevens met meer dan één kopie van zichzelf.

Elke replica probeert zichzelf in de primaire of secundaire index te plaatsen. Over het algemeen wordt alle lees- en schrijfverwerking op de gegevens gedaan met behulp van de primaire index, maar soms kan het gebeuren dat de primaire index van de replica om de een of andere reden faalt.

Dus op dat moment gaat de replicaset onder het verkiezingsproces over welke secundaire index van replica moet worden gekozen om verder te worden verwerkt door lees- of schrijfbewerking. Meestal wordt de secundaire gebruikt voor een schrijfbewerking en zelden voor leesbewerking.

iii. Laad onbalans

Met behulp van sharding MongoDB schalen horizontaal. De gebruiker krijgt de kans om een ​​gedeelde sleutel te kiezen met behulp waarvan hij kan bepalen hoe de gegevens in een verzameling worden verspreid.

Hier worden de gegevens opgesplitst in bereiken op basis van de shardsleutel en vervolgens verdeeld over meerdere shards. Hier zal de scherf fungeren als een meester met een of meer slaven met zichzelf. Dit kan ook worden gedaan met behulp van hashing, wat zal resulteren in een gelijkmatige distributie van gegevens.

iv. Meerdere servers afhandelen

MongoDB kan tegelijkertijd op meerdere servers draaien terwijl de dubbele gegevens worden verwerkt en ook een grote hoeveelheid gegevens in evenwicht wordt gebracht, zelfs in gevallen waarin er kans is op hardwarestoringen.

v. Bestandsopslagsysteem

Dit mechanisme om de gegevens op te slaan terwijl de belasting wordt afgehandeld en ook wordt gecontroleerd op replicatie van dezelfde gegevens op meerdere sites, wordt GridFS (Grid File System) genoemd. . Deze functie wordt toegevoegd met de MongoDB-stuurprogramma's.

GridFS is toegankelijk met behulp van het hulpprogramma mongofiles of verschillende soorten plug-ins. GridFS splitst het bestand op in kleinere delen en slaat elk deel op als een apart document.

vi. Aggregatie

Er zijn drie verschillende manieren om aggregatie uit te voeren en deze zijn als volgt:

  • Aggregatiepijplijn
  • Map-Reduce-functie
  • Aggregatiemethoden voor één doel.

In de aggregatiepijplijn gebruiken ze pipelining zodat de processor niet de ideale staat is en ook dat elk proces gerelateerd is aan de output van het eerdere proces in de pijplijn.

Map-reduce kan ook worden gebruikt om batchverwerking van gegevens en aggregatiebewerkingen uit te voeren. Maar dit kan goed worden afgehandeld met behulp van een aggregatiepijplijn.

vii. Hoge prestaties

Hier nemen de invoer/uitvoer-bewerkingen minder tijd in beslag om uit te voeren in vergelijking met de relationele database. Query's worden ook in een snel tempo uitgevoerd in vergelijking met de relationele database.

Voordelen van MongoDB

Hier zijn enkele van de voordelen van MongoDB:

  • Zeer eenvoudig te installeren en in te stellen MongoDB.
  • Het is een database zonder schema.
  • Zeer eenvoudig te schalen.
  • Omdat het een NoSQL-database is, is deze beveiligd tegen elke vorm van sql-injectie.
  • Het is niet nodig om toepassingsobjecten toe te wijzen aan gegevensobjecten.
  • Het kan worden gebruikt als een bestandsopslagsysteem.
  • Het ondersteunt ook zoeken op regex en velden.
  • Afleidbare documentatie is beschikbaar.

Nadelen van MongoDB

Zoals we allemaal weten, heeft een munt twee kanten, dus met zulke geweldige voordelen zijn er enkele nadelen met MongoDB. Ze zijn als volgt:

  • Het ondersteunt de transactie niet
  • MongoDB ondersteunt geen joins.
  • RAM-beperking.

Veelgebruikte terminologieën in MongoDB

Deze MongoDB-zelfstudie voor beginners behandelt bijna alle onderwerpen, wat zal bijdragen aan het leren van beginners. Hier zullen we enkele meest gebruikte terminologie in MongoDB bespreken.

MongoDB-zelfstudie voor beginners - Terminologieën

ik. Document

Dit is de basiseenheid voor het opslaan van informatie hier. Het is een geordende set van een sleutel-waardepaar, waarbij voor elke sleutel een bijbehorende waarde bestaat.

bijv. {“first”:“Hallo wereld!”}

Waar eerst de sleutel is en Hallo, de wereld is de waarde.

ii. Collectie

Het is een groep documenten. In termen van RDBMS is het een tabel die rijen bevat.

iii. Datum Operator

We kunnen het gebruiken om de datum te zien. Het commando dat we gebruiken om de datum te schrijven is als volgt:

  • Datum() – geeft de huidige datum terug als tekenreeks.
  • Nieuwe datum() – geeft de huidige datum terug als een gegevensobject.

iv. Opdracht verwijderen

We kunnen het gebruiken om alles uit MongoDB te verwijderen. Een commando voor hetzelfde is als volgt:

  • collection.remove() – Verwijdert een enkel document dat overeenkomt met een filter.
  • db.collection.deletemany() – Verwijdert alle opgegeven documenten die overeenkomen met het filter.

MongoDB-edities

MongoDB heeft twee soorten edities en deze zijn als volgt:

  • Communityserver – is helemaal gratis en we kunnen het ook gebruiken voor Windows, Linux en os x.
  • Bedrijfsserver is de commerciële editie van MongoDB, beschikbaar met MongoDB Enterprise Advanced-abonnement.

Waar en wie gebruiken MongoDB?

We kunnen MongoDB gebruiken voor grootschalige projecten waarbij gegevens dynamisch veranderen. Alle moderne applicaties vereisen verwerking van big data, snelle ontwikkeling van functies, gemakkelijke toegang en nog veel meer functies die worden geleverd door MongoDB. Hier zijn enkele gebieden waar MongoDB nonpareil is:

  • Big data
  • Datahub
  • Mobiele en sociale infrastructuur
  • Gebruikersgegevensbeheer

Er zijn veel grote organisaties die de MongoDB-database gebruiken voor hun zakelijke toepassingen en deze zijn als volgt:

  • Adobe
  • LinkedIn
  • SAP
  • eBay
  • McAfee enz.

Toekomstige reikwijdte van MongoDB

De toekomst van MongoDB ziet er heel rooskleurig uit. We moeten MongoDB geen datawarehouse laten zijn, maar we moeten het versterken door de operationele apps uit te breiden die standaard op het platform blijven voor verder gebruik.

Het kan ook worden gebruikt voor Hadoop en big data doel om de gegevens op een zeer snelle manier te verwerken. Dit zal ons helpen om in zeer korte tijd bruikbare informatie te verkrijgen. Dit zal leiden tot de opkomst van veel meer toepassingen die mensen zullen helpen tijd en geld te besparen.

Dit ging dus allemaal over MongoDB-zelfstudie voor beginners. Ik hoop dat je onze uitleg leuk vindt.

Samenvatting van MongoDB-zelfstudie voor beginners

Vandaar dat in deze MongoDB tutorial voor beginners, we leerden waar MongoDB voor wordt gebruikt, enkele bijbehorende functies, voor- en nadelen van MongoDB en de verschillende edities van MongoDB die mensen kunnen gebruiken. Dus begin met het leren van MongoDB en geef een kickstart aan je carrière.

Verder, als je vragen of twijfels hebt, neem dan gerust contact met ons op!


  1. MongoDB Zoek prestaties:enkele samengestelde index VS twee enkelvoudige veldindexen

  2. Meerdere groepsbewerkingen met behulp van het Mongo-aggregatieraamwerk

  3. Opnieuw verbinding maken met 127.0.0.1:6379 mislukt - verbind ECONNREFUSED

  4. Redis Python - hoe alle sleutels te verwijderen volgens een specifiek patroon in python, zonder python iteratie