Cloud YCSB for VoltDB

Cloud YCSB for VoltDB,cloud,benchmarking,microbenchmark,voltdb,ycsb,Cloud,Benchmarking,Microbenchmark,Voltdb,Ycsb,有人知道有没有YCSB客户机/驱动程序的实现可用于对VoltDB进行基准测试?甚至任何参考出版物/博客/文章/研究项目 我们可以使用TPC工作负载进行VoltDB基准测试吗 非常感谢各位。这里是VoltDB开发者 虽然有几个用户使用YCSB框架进行了基准测试,但没有正式的YCSB驱动程序。YCSB和VoltDB之间存在一点阻抗失配。YCSB设计用于范围分片列存储。VoltDB是一个哈希切分关系存储,对服务器端逻辑有丰富的支持 这表现为三个方面的问题 首先,YCSB需要范围扫描。如果您对密钥分布有

有人知道有没有YCSB客户机/驱动程序的实现可用于对VoltDB进行基准测试?甚至任何参考出版物/博客/文章/研究项目

我们可以使用TPC工作负载进行VoltDB基准测试吗

非常感谢各位。

这里是VoltDB开发者

虽然有几个用户使用YCSB框架进行了基准测试,但没有正式的YCSB驱动程序。YCSB和VoltDB之间存在一点阻抗失配。YCSB设计用于范围分片列存储。VoltDB是一个哈希切分关系存储,对服务器端逻辑有丰富的支持

这表现为三个方面的问题

首先,YCSB需要范围扫描。如果您对密钥分布有一定的了解,并且可以对密钥进行规范化,从而使它们有效地存储,那么您可以在散列切分存储中执行有效的范围扫描。下面是一个例子,说明您将如何在中执行此操作

这不是不可克服的,但需要一些思考

第二个问题是列存储模型不能很好地映射到关系数据模型。通过使用blob将小映射打包到一行,并在添加/更新k/v对时重写,我可以获得相当大的速度和内存效率。这就是Redis处理小地图的方式

对于具有多个/更大k/v对的较大密钥,有必要对其进行非规范化,并允许数据库管理内存。只需做一点工作,您就可以制作一个透明的存储过程API

再说一次,这不是不可逾越的,但也不是微不足道的

第三个问题是,编写YCSB时假设客户端上存在所有逻辑,并且服务器必须为客户端具体化所有数据。这意味着针对VoltDB编写的实际应用程序的速度可以提高数倍,节省空间。更快,因为服务器端逻辑可以消除到客户端的多次往返,更节省空间,因为对事务的支持允许您避免以日志结构的方式编写应用程序

YCSB将为您提供VoltDB如何执行和扩展的一般概念,但通过以适合关系数据模型的方式编写应用程序以及Volt对服务器端逻辑的强调,可以获得很多好处

关于TPC-C,VoltDB是专门为类似TPC-C的基准而构建的。我说“喜欢”是因为它不是官方的,并且在一些方面与TPC-C不同。最显著的区别是,新订单交易仅使用一个仓库(而对于某些%的新订单,不使用所需的1-10个仓库)。这一点很重要,因为它允许基准完全切分,而不需要任何分布式事务

类似于VoltDB TPC-C的基准测试没有随发行版一起提供,但可以在上找到。

VoltDB开发者在此

虽然有几个用户使用YCSB框架进行了基准测试,但没有正式的YCSB驱动程序。YCSB和VoltDB之间存在一点阻抗失配。YCSB设计用于范围分片列存储。VoltDB是一个哈希切分关系存储,对服务器端逻辑有丰富的支持

这表现为三个方面的问题

首先,YCSB需要范围扫描。如果您对密钥分布有一定的了解,并且可以对密钥进行规范化,从而使它们有效地存储,那么您可以在散列切分存储中执行有效的范围扫描。下面是一个例子,说明您将如何在中执行此操作

这不是不可克服的,但需要一些思考

第二个问题是列存储模型不能很好地映射到关系数据模型。通过使用blob将小映射打包到一行,并在添加/更新k/v对时重写,我可以获得相当大的速度和内存效率。这就是Redis处理小地图的方式

对于具有多个/更大k/v对的较大密钥,有必要对其进行非规范化,并允许数据库管理内存。只需做一点工作,您就可以制作一个透明的存储过程API

再说一次,这不是不可逾越的,但也不是微不足道的

第三个问题是,编写YCSB时假设客户端上存在所有逻辑,并且服务器必须为客户端具体化所有数据。这意味着针对VoltDB编写的实际应用程序的速度可以提高数倍,节省空间。更快,因为服务器端逻辑可以消除到客户端的多次往返,更节省空间,因为对事务的支持允许您避免以日志结构的方式编写应用程序

YCSB将为您提供VoltDB如何执行和扩展的一般概念,但通过以适合关系数据模型的方式编写应用程序以及Volt对服务器端逻辑的强调,可以获得很多好处

关于TPC-C,VoltDB是专门为类似TPC-C的基准而构建的。我说“喜欢”是因为它不是官方的,并且在一些方面与TPC-C不同。最显著的区别是,新订单交易仅使用一个仓库(而对于某些%的新订单,不使用所需的1-10个仓库)。这一点很重要,因为它允许基准完全切分,而不需要任何分布式事务


类似于VoltDB TPC-C的基准测试没有随发行版一起提供,但可以在。

这里的另一位VoltDB开发人员刚刚完成了YCSB驱动程序的实现过程。此驱动程序的源代码可以在GitHub上找到,网址为

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

YCSB使用宽列格式,将字符串键映射到多个字符串二进制k/v字段映射。创建一个灵活处理此问题的驱动程序,即一个将处理任意YCSB配置的驱动程序,不允许直接使用固定的关系模式。为了解决这个问题,我们采取了一种“小地图”式的方法,w