LightDB Key-Value 数据库 项目简介
LightDB 是一个 Key-Value 数据库,该项目由三个部分构成。Lightdb.lib 对 rocksdb 做了一层封装,主要的修改是追加了保存的数据类型,和表的概念。https://github.com/NewEconoLab/lightdb.libLightdb.server 是一个远程数据库,Lightdb 的服务器版本。https://github.com/NewEconoLab/lightdb.serverLightdb.SDK 是方便客户端接入 LightdbServer 提供的,目前只提供了 C# 版本实现,后续还会提供 Typescript 版本实现,通讯协议比较简单,任意支持 Websocket 的方案都可以连接。https://github.com/NewEconoLab/lightdb.sdk项目特点追加了数据类型和表概念有服务器,采用 Websocket 通讯,对 JS 友好数据的存储以 taskblock 为单位,方便数据库互相验证和同步最重要的特点是还有一个关于读的快照 Snapshot。快照的需求来源是数据处理的事务化,或者说一批操作的原子性要求。传统数据库一定程度支持事务化,而 Key Value 数据库这边支持事务化的程度就更差一些。而 NEO 使用的嵌入式数据库,LevelDB 因为采用 LSM 存储方式,提供读取的 snapshot 非常容易,代价也小。这也就造成了在 NEO 的实现中,存储部分对 Snapshot 的依赖非常强。