Organisaties worden elke dag geconfronteerd met nieuwe uitdagingen om continu nieuwe bedrijfsfunctionaliteit te leveren door nieuwe IT-processen zoals Agile en DevOps te implementeren en nieuwe architecturen zoals cloud en microservices te adopteren. Om op al deze punten in te spelen, hebben we een nieuw databaseconcept nodig dat in staat is om enorme toenames van snel veranderende gegevenstypen te beheren en dat in staat is om met gegevens te werken, ongeacht waar deze aan de clientzijde en aan de gegevenslaagzijde worden opgeslagen.
Dus de NoSQL-databases "Niet alleen SQL" zijn ontworpen om op deze uitdagingen te reageren. MongoDB is de toonaangevende NoSQL-database en een open-source documentdatabase.
In dit artikel zullen we MongoDB-concepten uitleggen, een idee geven van de voordelen en terminologie en waar we het kunnen implementeren.
De voordelen van MongoDB:
Het dataplatform van MongoDB is gebaseerd op twee principes:
- Documentendatabase :MongoDB gebruikt het document als datamodel dat vergelijkbaar is met JSON-objecten. Het is een gegevensstructuur die is samengesteld uit veld- en waardeparen. De waarden kunnen subdocumenten, arrays en arrays van documenten bevatten; waardoor er minder dure verbindingen nodig zijn. Met dit gegevensmodel is het sneller en gemakkelijker om te modelleren hoe app-objecten worden toegewezen aan gegevens, omdat het overeenkomt met native gegevenstypen. Naast het gebruiksgemak zijn documenten flexibel omdat we ons schema op elk moment kunnen wijzigen, het is polymorf omdat documenten verschillende structuren kunnen hebben in vergelijking met andere documenten in dezelfde verzameling en het is uitbreidbaar:we modelleren gegevens op elke manier applicatie eist het.
- Gedistribueerde gegevens: MongoDB biedt de mogelijkheid om het systeem uit te schalen en gegevens te distribueren voor gebruikerstoegang met een lage latentie. Door technieken voor "Sharding" en "Replica-sets" te implementeren, is het gemakkelijk om gegevens te distribueren en onze implementatie uit te breiden met goedkope hardware.
Basisterminologie:
MongoDB slaat BSON-documenten op in collecties; de collecties in de database. Een enkele MongoDB-server heeft doorgaans meerdere databases. Elke database krijgt zijn eigen set bestanden op het bestandssysteem als verzamelingsindeling. Elke collectie is een set documenten. Een van de grote voordelen van de collectie is het niet afdwingen van schema's en tegelijkertijd hebben we een dynamisch schema. Dynamisch schema betekent dat documenten in dezelfde collectie niet dezelfde set velden of dezelfde structuur hoeven te hebben, en gemeenschappelijke velden in de documenten van een collectie kunnen verschillende soorten gegevens bevatten.
De volgende afbeelding toont de correspondentieterminologie van Relational Database met MongoDB:
Taal voor zoekopdracht:
Zowel RDBMS (Oracle en MySQL) als MongoDB hebben een rijke zoektaal.
De volgende afbeelding toont de correspondentie van de Query Language van RDBMS en MongoDb:
Implementatie:
Om te profiteren van MongoDB, kunnen we ervoor kiezen om MongoDB in deze velden te implementeren:
- E-commerce productcatalogus
- Blogs, inhoudsbeheer en levering
- Mobiele en sociale infrastructuur
- Big data
- Gebruikersgegevensbeheer
- Datahub