Я только что создал распределенное хранилище ключей-значений (написанное на C ++) для исследовательского проекта, и мне нужно протестировать его с некоторыми стандартными тестами db. Я хотел бы запустить тесты TPC-C и YCSB на нем. Их хранилище значений ключей обеспечивает ACID (транзакционную) семантику, но не имеет интерфейса SQL. Он поддерживает два API: read()
а также write()
,
Мой вопрос заключается в следующем: каков самый быстрый способ запустить TPC-C (или YCSB + T, или любой другой тест db) в моей базе данных? Создаю ли я интерфейс SQL поверх моего магазина k-v (не уверен, насколько это будет легко / сложно)? Или я пишу запросы TPC-C с точки зрения чтения / записи, из спецификации эталонного теста TPC-C?
Есть ли другой способ сделать это, например, изменить существующий инструмент, который выполняет большую часть тяжелой работы для работы с моим kv-store?
Посмотри на dbbench:
DBbench — тест для встроенных баз данных
Это переписанный инструмент dbbench от Google LevelDB в C, перенесенный на
широкий спектр других встроенных баз данных. Рамка имеет
был создан, чтобы минимизировать количество кода, который должен быть написан для
любой конкретный движок БД. Добавление поддержки для нового движка просто
требует написания небольшой оболочки C, обеспечивающей открытие, закрытие, чтение и
написать подпрограммы, а также необязательные параметры командной строки по мере необходимости.
Других решений пока нет …