区块链教程Fabric1.0源代码分析LevelDB KV数据库
Fabric 1.0源代码笔记 之 LevelDB(KV数据库) 1、LevelDB概述 LevelDB是Google开源的持久化KV单机数据库,具有很高的随机写,顺序读/写性能,但是随机读的性能很一般,也就是说,LevelDB很适合应用在查询较少,而写很多的场景。 LevelDB的特点: key和value都是任意长度的字节数组; entry(即一条K-V记录)默认是按照key的字典顺序存储的,当然开发者也可以重载这个排序函数; 提供的基本操作接口:Put()、Delete()、Get()、Batch(); 支持批量操作以原子操作进行; 可以创建数据全景的snapshot(快照),并允许在快照中查找数据; 可以通过前向(或后向)迭代器遍历数据(迭代器会隐含的创建一个snapshot); 自动使用Snappy压缩数据; 可移植性; Fabric中使用了goleveldb包,即https://github.com/syndtr/goleveldb/。 goleveldb的基本操作: 打开数据库,db, err:=leveldb.OpenFile("./db", nil)。作用就是在当前目...