MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Vor- und Nachteile von MongoDB?

Einige allgemeine Punkte zu MongoDB

Vorteile:

  • schemalos. Wenn Sie ein flexibles Schema haben, ist dies ideal für einen Dokumentenspeicher wie MongoDB. Dies ist in RDBMS nur schwer performant zu implementieren
  • einfache Skalierung. Skalieren Sie Lesevorgänge mithilfe von Replikatgruppen. Skalieren Sie Schreibvorgänge mithilfe von Sharding (automatischer Ausgleich). Starten Sie einfach eine andere Maschine und los geht's. Hinzufügen weiterer Maschinen =Hinzufügen von mehr RAM, über das Sie Ihren Arbeitssatz verteilen können.
  • Kosten. Hängt natürlich davon ab, welches RDBMS verwendet wird, aber MongoDB ist kostenlos und kann unter Linux ausgeführt werden, ideal für den Betrieb auf einem billigeren Commodity-Kit.
  • Sie können wählen, welches Maß an Konsistenz Sie je nach Wert der Daten wünschen (z. B. schnellere Leistung =Einfügungen in MongoDB auslösen und vergessen, langsamere Leistung =warten, bis die Einfügung auf mehrere Knoten repliziert wurde, bevor Sie zurückkehren)

Nachteile:

  • Die Datengröße in MongoDB ist typischerweise höher, z. jedes Dokument hat darin gespeicherte Feldnamen
  • weniger Flexibilität bei Abfragen (z. B. keine JOINs)
  • keine Unterstützung für Transaktionen - bestimmte atomare Operationen werden auf einer einzelnen Dokumentebene unterstützt
  • Im Moment ist Map/Reduce (z. B. Aggregationen/Datenanalysen) OK, aber nicht rasend schnell. Wenn das also erforderlich ist, muss möglicherweise etwas wie Hadoop hinzugefügt werden
  • weniger aktuelle Informationen verfügbar/sich schnell entwickelndes Produkt

Ich habe kürzlich meine Gedanken gebloggt auf MongoDB als jemand mit SQL Server-Hintergrund, also könnten Sie daran interessiert sein (oben sind nur einige der wichtigsten Punkte).

Wenn Sie nach einer Antwort "Ist MongoDB besser als RDBMS" suchen, gibt es meiner Meinung nach keine Antwort. NoSQL-Technologien wie MongoDB bieten eine Alternative, die RDBMS-Technologien ergänzt. Das eine ist möglicherweise besser für einen bestimmten Zweck geeignet als das andere, also geht es darum, herauszufinden, was für Sie für eine bestimmte Anforderung am besten geeignet ist.