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

MongoDB vs. Kassandra

Viele Lesevorgänge bei jeder Abfrage, weniger regelmäßige Schreibvorgänge

Beide Datenbanken zeigen eine gute Leistung bei Lesevorgängen, bei denen der heiße Datensatz in den Speicher passt. Beide betonen auch Datenmodelle ohne Join (und fördern stattdessen die Denormalisierung) und beide bieten Indizes für Dokumente oder Zeilen, obwohl die Indizes von MongoDB derzeit flexibler sind.

Die Speicher-Engine von Cassandra bietet konstante Schreibvorgänge, unabhängig davon, wie groß Ihr Datensatz wird. Schreibvorgänge sind in MongoDB problematischer, teilweise wegen der B-Tree-basierten Speicher-Engine, aber mehr wegen der Sperrung mit mehreren Granularitäten, die sie bewirkt.

Für Analysen bietet MongoDB eine benutzerdefinierte Map/Reduce-Implementierung; Cassandra bietet native Hadoop-Unterstützung, einschließlich für Hive (ein SQL-Data Warehouse, das auf Hadoop Map/Reduce basiert) und Pig (eine Hadoop-spezifische Analysesprache, von der viele denken, dass sie besser für Map/Reduce-Workloads geeignet ist als SQL). Cassandra unterstützt auch die Verwendung von Spark.

Keine Sorge wegen "massiver" Skalierbarkeit

Wenn Sie sich einen einzelnen Server ansehen, ist MongoDB wahrscheinlich besser geeignet. Für diejenigen, die sich mehr Gedanken über die Skalierung machen, wird die No-Single-Point-of-Failure-Architektur von Cassandra einfacher einzurichten und zuverlässiger sein. (Die globale Schreibsperre von MongoDB wird tendenziell auch schmerzhafter.) Cassandra gibt auch viel mehr Kontrolle darüber, wie Ihre Replikation funktioniert, einschließlich der Unterstützung für mehrere Rechenzentren.

Besorgter über einfache Einrichtung, Wartung und Code

Beide sind einfach einzurichten, mit angemessenen Standardeinstellungen für einen einzelnen Server. Cassandra ist in einer Konfiguration mit mehreren Servern einfacher einzurichten, da es keine Knoten mit speziellen Rollen gibt, um die man sich Sorgen machen muss.

Wenn Sie derzeit JSON-Blobs verwenden, passt MongoDB wahnsinnig gut zu Ihrem Anwendungsfall, da es BSON zum Speichern der Daten verwendet. Sie können reichhaltigere und besser abfragbare Daten haben als in Ihrer derzeitigen Datenbank. Dies wäre der bedeutendste Sieg für Mongo.