2017-09-29 7 views
0

Ich habe gerade einen verteilten Schlüssel-Wert-Speicher (in C++ geschrieben) für ein grad Forschungsprojekt erstellt und muss es mit einigen Standard-Db-Benchmarks testen. Ich würde gerne die TPC-C und YCSB-Benchmarks darauf ausführen. Der Schlüssel-Wert-Speicher bietet ACID (transaktionale) Semantik, aber keine SQL-Schnittstelle. Es unterstützt zwei APIs: read() und write().Running TPC-C (oder YCSB) -Benchmark auf KV-store

Meine Frage ist die folgende: Was ist der schnellste Weg, um TPC-C (oder YCSB + T oder irgendeinen anderen db-Benchmark) auf meiner Datenbank zu betreiben? Erstelle ich eine SQL-Schnittstelle über meinem K-V-Store (nicht sicher, wie einfach/schwierig das sein wird)? Oder schreibe ich die TPC-C-Abfragen in Form von Lese-/Schreibvorgängen aus der TPC-C-Benchmark-Spezifikation?

Gibt es eine andere Möglichkeit, dies zu tun, wie zum Beispiel ein bestehendes Werkzeug zu modifizieren, das die meisten schweren Arbeiten ausführt, um mit meinem kv-store zu arbeiten?

Antwort

0

Werfen Sie einen Blick auf dbbench:

DBbench - Embedded Database Benchmark

Dies ist ein Umschreiben von dbbench Tool Google LevelDB in C und portierte eine Vielzahl von anderen Embedded-Datenbank-Engines zu . Ein Framework hat erstellt, um die Menge an Code zu minimieren, die für eine bestimmte DB-Engine geschrieben werden muss. Hinzufügen von Unterstützung für eine neue Engine nur erfordert Schreiben eines kleinen C-Wrapper Bereitstellung DB öffnen, schließen, lesen und schreiben Routinen, sowie optionale Befehlszeilenparameter nach Bedarf.