Üdv,
egyetértek azzal, amit itt írnak a MongoDB-ről.
A legnagyobb előnye a klasszikus relációs adatbázisokkal szemben, hogy nincsenek fix oszlopok, ugyanakkor nincs annyira "távol", hogy át komolyan bele kellene nyúlni a kliens kódba (például a Grails esetében fültőmirigy-sorvasztóan egyszerű, úgy, hogy marad az összes (G)ORM metódus).
Az viszont tény, hogy némi szemléletváltást kell alkalmazni a tervezéskor. Nincsenek (vagyis vannak, de nem úgy) külső kulcsok. A MongoDB dokumentácia erre fel is hívja a figyelmet, hogy relációknál érdemes inkább az egyik dokumentumot beleágyazni a másikba (ahelyett, hogy egymásra hivatkoznának). Nincsenek tranzakciók, ez mondjuk elég komoly ellenérv. Ha az kell, akkor vagy megoldja az ember úgy, hogy egy külön szál vagy akár egy külön program piszkálhatja csak az adatbázist (és ha valamit akarsz tőle, akkor küldj üzenetet MQ-n keresztül).
Sebesség: tény, hogy a MongoDB elég sok mindent eleve a memóriában tart és ez jó.
G.