YCSB成功添加自己数据库全过程
YCSB作为易于使用,拓展性强并且比较流行的数据库测试工具为人熟知,虽然各大数据库都有在YCSB中自带,我们只需要简单敲一些
测试的命令即可,但是网上并没有比较全面的对于添加自定义数据库的解读,并且对于从底层C/C++库到java数据库层的转换很容易摸不着头脑,尤其在Linux环境下,挺容易出错,所以本人也是走了很多弯路,所以就想写点给需要的人。
假设我们的数据库为biudb
目前版本的YCSB默认不支持biudb,不能直接用于biudb的测试,但是YCSB作为通用的测试框架,提供了一套方法对其本身进行扩展。所以,在开始测试前,我们需要按照YCSB的扩展要求实现其对biudb的支持。
DB接口层是一个java类,当YCSB客户端发起读、写、更新、删除请求时,DB接口层负责将这些查询转化为对应数据的API。
当运行YCSB客户端时,需要在命令行指定DB接口层的类名,客户端会动态地加载数据库的接口类。命令行或者负载文件中指定的参数值也会传递给DB接口类实例。
DB接口层隐藏了特定数据库的实现细节,当实现了DB接口层后,可以通过YCSB客户端对数据库进行性能测试
而不用关心数据库的具体实现,且不需要改变。
DB接口层是一个提供了数据库read、insert、update、delete、scan接口的虚类。因此,需要使用biudb的java驱动实现这几个方法。创建一个工程,新建一个名为biudbClient的类,并让其继承com.yahoo.ycsb.DB。
1.向各个已有的数据库一样,在YCSB跟目录下创建路径biudb/src/main/java/com/yah
YCSB作为易于使用,拓展性强并且比较流行的数据库测试工具为人熟知,虽然各大数据库都有在YCSB中自带,我们只需要简单敲一些
测试的命令即可,但是网上并没有比较全面的对于添加自定义数据库的解读,并且对于从底层C/C++库到java数据库层的转换很容易摸不着头脑,尤其在Linux环境下,挺容易出错,所以本人也是走了很多弯路,所以就想写点给需要的人。
假设我们的数据库为biudb
目前版本的YCSB默认不支持biudb,不能直接用于biudb的测试,但是YCSB作为通用的测试框架,提供了一套方法对其本身进行扩展。所以,在开始测试前,我们需要按照YCSB的扩展要求实现其对biudb的支持。
DB接口层是一个java类,当YCSB客户端发起读、写、更新、删除请求时,DB接口层负责将这些查询转化为对应数据的API。
当运行YCSB客户端时,需要在命令行指定DB接口层的类名,客户端会动态地加载数据库的接口类。命令行或者负载文件中指定的参数值也会传递给DB接口类实例。
DB接口层隐藏了特定数据库的实现细节,当实现了DB接口层后,可以通过YCSB客户端对数据库进行性能测试
而不用关心数据库的具体实现,且不需要改变。
DB接口层是一个提供了数据库read、insert、update、delete、scan接口的虚类。因此,需要使用biudb的java驱动实现这几个方法。创建一个工程,新建一个名为biudbClient的类,并让其继承com.yahoo.ycsb.DB。
1.向各个已有的数据库一样,在YCSB跟目录下创建路径biudb/src/main/java/com/yah