ZhangJiaQiao / 2019-DBMS-Project

This is the programmin project of DBMS course in 2019
19 stars 26 forks source link

关于/src/lycsb.cpp的疑问 #7

Closed 89lixx closed 5 years ago

89lixx commented 5 years ago

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

ZhangJiaQiao commented 5 years ago

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

89lixx commented 5 years ago

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

ZhangJiaQiao commented 5 years ago

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

89lixx commented 5 years ago

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

89lixx commented 5 years ago

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

ZhangJiaQiao commented 5 years ago

取前8字节取出来,作为键和值,修改的就是这个键对应的值,其实是一样的,不过还是得操作

------------------ 原始邮件 ------------------ 发件人: "89lixx"notifications@github.com; 发送时间: 2019年5月4日(星期六) 下午3:31 收件人: "ZhangJiaQiao/2019-DBMS-Project"2019-DBMS-Project@noreply.github.com; 抄送: "Killin'machine"1254860908@qq.com; "State change"state_change@noreply.github.com; 主题: Re: [ZhangJiaQiao/2019-DBMS-Project] 关于/src/lycsb.cpp的疑问 (#7)

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

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or mute the thread.

ZhangJiaQiao commented 5 years ago

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

syh1101 commented 5 years ago

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

ZhangJiaQiao commented 5 years ago

getline之后底层就是字符串

------------------ 原始邮件 ------------------ 发件人: "syh1101"notifications@github.com; 发送时间: 2019年5月4日(星期六) 下午5:43 收件人: "ZhangJiaQiao/2019-DBMS-Project"2019-DBMS-Project@noreply.github.com; 抄送: "Killin'machine"1254860908@qq.com; "State change"state_change@noreply.github.com; 主题: Re: [ZhangJiaQiao/2019-DBMS-Project] 关于/src/lycsb.cpp的疑问 (#7)

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

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or mute the thread.