Browse Source

更新 '实验报告.md'

master
朴祉燕 8 months ago
parent
commit
157f0e5ce6
1 changed files with 15 additions and 2 deletions
  1. +15
    -2
      实验报告.md

+ 15
- 2
实验报告.md View File

@ -1340,6 +1340,11 @@ TEST(TestSchema, Find) {
key_ret = FindKeysByField(leveldb::DB* db, Field &field) key_ret = FindKeysByField(leveldb::DB* db, Field &field)
} }
``` ```
顺利通过测试,测试结果如下:
<div align=center><img src="./images/field_test.png"></div>
#### 1.2 kv分离测试-kv_sep_test.cc : #### 1.2 kv分离测试-kv_sep_test.cc :
先配置`leveldb`的`Options`,设置`create_if_missing`为`true`且`kvSepType`为`kVSepBeforeMem`来开启kv分离的功能并打开数据库,之后将`DB`指针转换为`DBImpl`指针,利用该指针执行`Put`操作插入键值对,接着再通过此指针执行`Get`操作读取刚插入的键值对,随后执行`Delete`操作删除键值对并验证在`KV`分离设置下删除后无法读取,最后清理数据库资源防止资源泄漏,以此测试`leveldb`在`KV`分离设置下的写和读功能。 先配置`leveldb`的`Options`,设置`create_if_missing`为`true`且`kvSepType`为`kVSepBeforeMem`来开启kv分离的功能并打开数据库,之后将`DB`指针转换为`DBImpl`指针,利用该指针执行`Put`操作插入键值对,接着再通过此指针执行`Get`操作读取刚插入的键值对,随后执行`Delete`操作删除键值对并验证在`KV`分离设置下删除后无法读取,最后清理数据库资源防止资源泄漏,以此测试`leveldb`在`KV`分离设置下的写和读功能。
@ -1391,6 +1396,10 @@ int main() {
``` ```
顺利通过测试,测试结果如下:
<div align=center><img src="./images/kv_sep_test.png"></div>
#### 1.3 范围查询测试-iterate_test.cc : #### 1.3 范围查询测试-iterate_test.cc :
在之前已经完成点查询测试的基础上,之所以还要进行范围查询测试,是因为点查询只能验证单个键值对的读写操作,而实际应用场景中,经常需要获取某个范围内的所有数据。例如在数据库用于存储用户信息时,按用户名的字母区间范围查询一批用户,或在时间序列数据中查询某个时间段内的数据。 在之前已经完成点查询测试的基础上,之所以还要进行范围查询测试,是因为点查询只能验证单个键值对的读写操作,而实际应用场景中,经常需要获取某个范围内的所有数据。例如在数据库用于存储用户信息时,按用户名的字母区间范围查询一批用户,或在时间序列数据中查询某个时间段内的数据。
@ -1477,6 +1486,10 @@ int main(int argc, char** argv) {
``` ```
顺利通过测试,测试结果如下:
<div align=center><img src="./images/iterate_test.png"></div>
#### 1.4 垃圾回收测试-GCtest.cc : #### 1.4 垃圾回收测试-GCtest.cc :
在LevelDB中,Major Compaction还可以按照触发条件分为三类: 在LevelDB中,Major Compaction还可以按照触发条件分为三类:
@ -1542,9 +1555,9 @@ int main(int argc, char** argv) {
``` ```
顺利通过测试,测试结果如下:
<div align=center><img src="./images/GC_test.png"></div>
### 2 性能测试(Benchmark): ### 2 性能测试(Benchmark):

Loading…
Cancel
Save