MongoDB is een open-source NoSQL-database die data opslaat in flexibele, JSON-achtige documenten genaamd BSON (Binary JSON). In tegenstelling tot traditionele relationele databases die data organiseren in tabellen met vaste schema's, gebruikt MongoDB een documentgeoriënteerde aanpak waarbij elk document zijn eigen structuur kan hebben.
Deze database werd ontwikkeld door MongoDB Inc. (voorheen 10gen) en is sinds 2009 beschikbaar. De naam MongoDB is afgeleid van het woord 'humongous', wat verwijst naar de capaciteit om enorme hoeveelheden data te verwerken.
Belangrijkste kenmerken
- Schemaflexibiliteit: Documenten in dezelfde collectie hoeven niet dezelfde velden te hebben, wat iteratieve ontwikkeling vergemakkelijkt
- Horizontale schaalbaarheid: MongoDB ondersteunt sharding voor het verdelen van data over meerdere servers
- Hoge prestaties: Geoptimaliseerd voor snelle read- en write-operaties
- Rich query language: Uitgebreide mogelijkheden voor het bevragen en manipuleren van data
- Indexering: Ondersteuning voor verschillende indextypen voor optimale zoekprestaties
- Replicatie: Automatische failover en data redundantie door replica sets
Datastructuur
MongoDB organiseert data in drie niveaus:
- Databases: Het hoogste niveau van dataorganisatie
- Collections: Groepen van gerelateerde documenten, vergelijkbaar met tabellen in SQL
- Documents: Individuele records in BSON-formaat met key-value pairs
Een voorbeeld van een MongoDB-document:
{
"_id": ObjectId("507f1f77bcf86cd799439011"),
"naam": "Jan Jansen",
"email": "jan@voorbeeld.nl",
"leeftijd": 32,
"interesses": ["fotografie", "reizen", "technologie"]
}
Wanneer MongoDB gebruiken?
MongoDB is bijzonder geschikt voor:
- Applicaties met snel veranderende datastructuren
- Real-time analytics en big data toepassingen
- Content management systemen met diverse contenttypes
- Internet of Things (IoT) applicaties met grote datastromen
- Mobile en web applicaties die schaalbaarheid vereisen
- Catalogus- en productdatabases in e-commerce
