YCSB unterstützt eine große Bandbreite von Datenbankanbindungen und wird üblicherweise eingesetzt, um deren Leistung für einen Set gewünschter Workloads zu vergleichen. Die Entscheidung, welcher Datenspeicher für Produktionsanwendungen eingesetzt wird, basiert - bei einer vorgegebenen Art von Workload - auf vielfältigen Faktoren wie Basisfunktionen, Datenmodell und Leistungscharakteristiken. Dabei ist es von entscheidender Bedeutung, unterschiedliche Datenspeicher objektiv und auf intelligente Weise zu vergleichen. Nur dann können vernünftige Entscheidungen hinsichtlich der Datenbank-Systemarchitektur getroffen werden. Als Open-Source-Framework kann YCSB erweitert werden, wobei die Unterstützung für weitere Datenbanken kontinuierlich ausgebaut wird.
Aus der Sicht von Cloudera verschafft das YCSB-Projekt der HBase-Community einen erheblichen Zusatznutzen. Cloudera-Entwickler haben mit dem ursprünglichen YCSB-Autoren Brian Cooper zusammengearbeitet, um das Projekt innerhalb der Entwickler-Community neu zu beleben. Mittlerweile gibt es bereits eine Reihe an Erweiterungen, zudem wurde ein regulärer Release-Zyklus etabliert.
YCSB kann leicht installiert werden und steht Nutzern von Cloudera CDH ab sofort auf Cloudera Labs zur Leistungsbewertung ihrer HBase-Einsätze zur Verfügung. Wie bei allen anderen Projekten von Cloudera Labs, gibt es auch für diese Pakete gegenwärtig noch keinen Support. Dennoch empfiehlt Cloudera, die damit verbundenen Möglichkeiten unbedingt auszuprobieren.
So funktioniert YCSB
Die Yahoo! Labs haben YCSB entwickelt, um ein Framework und gängigen Satz an Workloads zur Leistungsbewertung unterschiedlicher Speicher bereitzustellen. YSCB umfasst zwei Bestandteile: 1. Den YCSB-Client als erweiterbaren Workload-Generator und 2. einen festen Satz an Workloads, die bestimmte Szenarien zur Verarbeitung durch den Generator darstellen
Die Workloads liefern ein abgerundetes Bild einer Systemleistung, während der Client zur Festlegung zusätzlicher Workloads erweitert werden kann. Auf diese Weise können individuelle Aspekte der Systemleistung oder Anwendungsszenarien untersucht werden, die über die Basis-Workloads nicht abgedeckt werden. Zum Vergleich unterschiedlicher Datenbanken kann der Client zudem erweitert werden. YCSB wird mit Anbindungen an zahlreiche Datenbanken geliefert, einschließlich HBase, Cassandra, Apache Accumulo, MongoDB und Voldemort. Über eine zusätzliche Schnittstellenebene kann die Unterstützung eines anderen Datenspeichers hinzugefügt werden.
Um unterschiedliche Datenspeicher zu vergleichen und zu bewerten, können verschiedene Datenspeicher auf unterschiedlichen Instanzen einer identischen Hardware-Konfiguration installiert werden, wobei dieselben Workloads gegen jede Instanz laufen können. Anschließend wird die Leistung jedes einzelnen Systems aufgezeichnet, um die relativen Leistungsprofile erkennen zu können. Die Gegenüberstellung von Latenz und Durchsatzkurven ist ein Beispiel für die gute Visualisierung der Ergebnisse.
Verfügbarkeit und weitere Informationen
YCSB-Programmpakete für CDH stehen einschließlich der Basisdokumentation hier zum Download bereit. (Die Version YCSB 0.3.0 wurde von den Cloudera Labs zusammengestellt.) Zum Erfahrungsaustausch und zur Beantwortung von Fragen stellt Cloudera Labs die Plattform community.cloudera.com zur Verfügung.
Cloudera Director steht ab sofort für die Nutzung mit CDH und Cloudera Enterprise zum kostenlosen Download zur Verfügung.