c++ - 在 KV 存储上运行 TPC-C(或 YCSB)基准测试

标签 c++ benchmarking key-value-store ycsb tpc

我刚刚为研究生研究项目创建了一个分布式键值存储(用 C++ 编写),并且需要使用一些标准数据库基准测试来测试它。我想在其上运行 TPC-C 和 YCSB 基准测试。它们的键值存储提供 ACID(事务)语义,但没有 SQL 接口(interface)。它支持两个 API:read()write()

我的问题如下:在我的数据库上运行 TPC-C(或 YCSB+T,或任何其他数据库基准测试)的最快方法是什么?我是否在我的 k-v 存储之上创建一个 SQL 接口(interface)(不确定这有多容易/困难)?或者我是否根据 TPC-C 基准规范根据读/写来编写 TPC-C 查询?

是否有不同的方法可以做到这一点,例如修改现有的工具来完成大部分繁重的工作以与我的 kv-store 一起使用?

最佳答案

看看dbbench :

DBbench - Embedded Database Benchmark

This is a rewrite of Google LevelDB's dbbench tool in C, and ported to a wide variety of other embedded database engines. A framework has been created to minimize the amount of code that must be written for any particular DB engine. Adding support for a new engine just requires writing a small C wrapper providing DB open, close, read, and write routines, plus optional command line parameters as needed.

关于c++ - 在 KV 存储上运行 TPC-C(或 YCSB)基准测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46490630/

相关文章:

c++ - 按文件夹名称存储键值

c++ - 为 C++ 寻找一个易于使用的嵌入式键值存储

C++ 将引用传递给同一类中的函数

c++ - 如何为 C++ 中的函数名分配别名?

java - 如何用 Java 编写正确的微基准测试?

benchmarking - 使用 RISCV 架构运行 SPEC06

jenkins - Jenkins 的键值存储选项

c++ - 什么是复制省略和返回值优化?

C++ 继承。更改对象数据类型

r - 按行填充矩阵或转置按列填充的矩阵更快吗?