YCSB for VoltDB

Joa*_*mal 1 cloud benchmarking microbenchmark voltdb ycsb

有谁知道是否有任何YCSB客户端/驱动程序可用于对VoltDB进行基准测试?甚至任何参考出版物/博客/文章/研究项目?

我们可以将TPC工作负载用于VoltDB基准测试吗?

非常感谢大家.

小智 5

这里的另一位VoltDB开发人员刚刚完成了实现YCSB驱动程序的过程.可以在GitHub上找到此驱动程序的源代码,网址https://github.com/VoltDB/voltdb/tree/master/tests/test_apps/ycsb.

关于我们实施的一些细节:

YCSB使用宽列格式,将字符串键映射到多个字符串二进制k/v字段映射.创建一个灵活处理此驱动程序的驱动程序,即可处理任意YCSB配置的驱动程序,不允许直接使用固定的关系模式.为了解决这个问题,我们采用了"小地图"类型的方法,也就是说,对于每个键,我们将所有字段压缩为单个blob,以便以k/v对处理整个YCSB行.这确实使得隐含(软)假设每行的字段数量相对较小(例如,<= 50),这对于现有的已公布的YCSB结果似乎是合理的.可以在存储过程级别添加附加逻辑以处理每行大量字段的情况,但是考虑到基准的现有使用,这似乎是不必要的复杂性.

作为进一步说明,我们将"扫描"操作解释为"从该键开始以某种确定性顺序翻页".在现实世界中,数据意味着某种东西,并且可能(或可能不)具有有意义的排序.在YCSB的世界中,没有特别的理由偏好一种订购而不是另一种.因此,我们对VoltDB分区进行了人工排序; 结合主键索引施加的分区内排序,这对数据集施加了总排序.对于感兴趣的读者,此操作的客户端实现使用了我们的一些示例中使用的"无处不在"模式的一些新颖变体.

我们的测试结果可以在https://voltdb.com/blog/voltdb-in-memory-database-achieves-best-in-class-results-running-in-the-cloud-on-the-上看到.ycsb-benchmark-3 /.正如我的同事所说的那样,尽管非常强大,但这个基准测试的结果实际上会低估VoltDB的性能,因为它没有利用通过在存储过程调用中将逻辑捆绑在一起的可用优化.