LightDB - Key-Value 数据库


MIT
Windows
C#

软件简介

LightDB 是一个 Key-Value 数据库,该项目由三个部分构成。

Lightdb.lib 对 rocksdb 做了一层封装,主要的修改是追加了保存的数据类型,和表的概念。

https://github.com/NewEconoLab/lightdb.lib

Lightdb.server 是一个远程数据库,Lightdb 的服务器版本。

https://github.com/NewEconoLab/lightdb.server

Lightdb.SDK 是方便客户端接入 LightdbServer 提供的,目前只提供了 C# 版本实现,后续还会提供 Typescript
版本实现,通讯协议比较简单,任意支持 Websocket 的方案都可以连接。

https://github.com/NewEconoLab/lightdb.sdk

项目特点

  1. 追加了数据类型和表概念

  2. 有服务器,采用 Websocket 通讯,对 JS 友好

  3. 数据的存储以 taskblock 为单位,方便数据库互相验证和同步

最重要的特点是还有一个关于读的快照 Snapshot。快照的需求来源是数据处理的事务化,或者说一批操作的原子性要求。

传统数据库一定程度支持事务化,而 Key Value 数据库这边支持事务化的程度就更差一些。

而 NEO 使用的嵌入式数据库,LevelDB 因为采用 LSM 存储方式,提供读取的 snapshot 非常容易,代价也小。

这也就造成了在 NEO 的实现中,存储部分对 Snapshot 的依赖非常强。