ZhangJiaQiao / 2019-DBMS-Project

This is the programmin project of DBMS course in 2019

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

关于/src/lycsb.cpp的疑问

89lixx opened this issue · comments

网上的一些博客里都写到了,直接在pcsb根目录下使用./ycsb leveldb run -P.... 类似的指令来完成ycsb测试。但是当使用./ycsb shell leveldb进入命令行时,没有对输入的批量insert,只能一个一个插入key。所以这个cpp是专门为了对输入数据进行批量操作,我们只需要将测试文件读入,比如:10w-rw-50-50-load.txt文件,然后就能实现这数据的插入了,学长我理解的对吗?
17343065

应该是在lycsb里读取记录所有workload的操作,然后对应操作目标数据库系统,最后算出时间等数据。原始YCSB是一个测试项目,可以用它的框架来进行数据库性能测试,其底层其实就是读取增删改查等操作,对应操作目标数据库系统,并测出时间等性能。但是由于嵌入新系统比较麻烦,并且是java开发,所以本次课程设计TA导出了操作的具体命令,你们只需在lycsb和ycsb里读取并操作LevelDB和FPTreeDB即可。

可是,在所给的workloads文件夹里,都只是包含数据的txt文件,所以我应该是读取自己下载下来的YCSB文件夹里的/workloads/workloada吗?

对啊,都是读取里面的数据文件。分为load和run阶段,有不同读写比以及数据量的数据文件。

学长,在lycsb.cpp中uint64_t 是怎么和char * 联系起来的?

UPDATE 1495948725458769726
学长,还有一个问题,在lycsb.ccp run操作的时候,update是怎么操作的,是把谁更新成这个数字

char*就是一个指针格式,方便语言按1字节寻址,指向uint64_t类型的变量没问题

学长,您说的前八个字节让我很迷糊啊。网上说如果这些数字是以字符串表示,那么数字多少为就是多少个字节,那么按理说取前面8个数不就好了吗?如果不是那又是为什么呢?还有比如说这个例子:1495948725458769726,那么他的前八个字节是什么呢?