Drei NoSQL-Datenbanken im Leistungsvergleich

Sunnyvale (CA), Starnberg, 08. Juni 2021 - Altoros analysiert Latenz- und Durchsatz von Couchbase Server v6.6.0, MongoDB v4.2.11 und DataStax Enterprise v6.8.3 (Cassandra)...

Zur Untersuchung: Altoros, US-Beratungsunternehmen mit Schwerpunkt auf Forschung und Entwicklung für Global-2000-Organisationen, hat die Ergebnisse seines neuesten Performance-Benchmark-Berichts bekannt gemacht. Die Studie bietet eine vergleichende Analyse der Performance von drei NoSQL-Datenbanken: Couchbase Server v6.6.0, MongoDB v4.2.11 und DataStax Enterprise v6.8.3 (Cassandra). Die relative Leistung der Datenbanken wurde in Bezug auf die Latenz und den erreichbaren Durchsatz bewertet. Darüber hinaus wurde die Evaluierung mit drei verschiedenen Clusterkonfigurationen mit 4, 10 und 20 Knoten - sowie vier verschiedenen Workloads durchgeführt. (1)

NoSQL umfasst eine Vielzahl von Datenbanktechnologien, die als Reaktion auf den Anstieg des globalen Datenvolumens und die Häufigkeit des Zugriffs auf diese Daten entwickelt wurden. Im Gegensatz dazu wurden relationale Datenbanken weder für die Herausforderungen der Skalierbarkeit und Agilität moderner Anwendungen konzipiert, noch für die Nutzung der heute verfügbaren kostengünstigen Speicher- und Verarbeitungsleistung. NoSQL-Systeme der neuen Generation helfen dabei, ein Höchstmaß an Leistung und Betriebszeit für Workloads zu erreichen.

Der Bericht misst die relative Leistung in Bezug auf Latenz & Durchsatz, die jede Datenbank erreichen kann. Der Yahoo! Cloud Serving Benchmark YCSB ist eine Open-Source-Spezifikation und Programmsuite zur Bewertung der Abruf- und Wartungsfähigkeiten von Computerprogrammen. Er wurde als Standardwerkzeug für die Konsistenz der Bewertung verwendet.

Workload Pressure

  • Der erste Workload wird in einem aktualisierungslastigen Modus ausgeführt - ähnlich wie eine Aktienhandelsanwendung - und ruft 50 % der Lesevorgänge und 50 % der Aktualisierungen auf.

  • Der zweite Workload führt einen Short-Range-Scan aus, der 95 % der Scans und 5 % der Updates aufruft, wobei kurze Bereiche von Datensätzen anstelle der einzelnen Datensätze abgefragt werden. Der zweite Workload simuliert also Aktivitäten, die für eine E-Commerce-Anwendung typisch sind.

  • Der dritte Workload stellt eine Abfrage mit einer einzelnen Filteroption dar, auf die ein Offset und ein Limit angewendet werden. Der vierte Workload schließlich ist eine Join-Abfrage, auf die Gruppierung und Reihenfolge angewendet werden.

Unterschiedliche Anforderungen

  • Altoros definierte die Datenbankleistung im Report durch die Geschwindigkeit, mit der die Datenbank grundlegende Operationen verarbeitet. Der Grundvorgang ist eine Aktion, die von einem Workload-Executor ausgeführt wird, der mehrere Client-Threads ansteuert. Jeder Thread führt eine sequenzielle Reihe von Operationen aus, indem er Aufrufe an eine Datenbank-Schnittstellenschicht macht, um sowohl eine Datenbank zu laden (die Ladephase) als auch einen Workload auszuführen (die Transaktionsphase). 

  • Die Threads drosseln die Rate, mit der sie Anfragen generieren, so dass Altoros die angebotene Last gegen die Datenbank direkt steuern kann. Zusätzlich messen die Threads die Latenz und den erreichten Durchsatz ihrer Operationen und melden diese Messungen an das Statistik-Sammelmodul.


Bildquelle: ALTOROS

Kommentar Artsiom Yudovin, Lead Data Engineer, Altoros: "Basierend auf unseren Tests, skaliert Couchbase besser als MongoDB auf größeren Clustern. Couchbase verwendet eine Peer-to-Peer-Struktur, die einen direkten Zugriff auf die Knoten ermöglicht. Währenddessen hat MongoDB Master-Slave-Beziehungen, bei denen bestimmte Operationen Mongoose, einen Object Document Mapper und einen Konfigurationsserver aufrufen müssen, um auf einen Knoten zuzugreifen“.

(1) Link / Quelle: Altoros Studie "Performance Evaluation of NoSQL Databases 2021: Couchbase Server, DataStax Enterprise (Cassandra), and MongoDB". Link > https://www.altoros.com/research-papers/


Querverweis: