4个版本
0.1.7 | 2022年1月13日 |
---|---|
0.1.6 | 2020年10月16日 |
0.1.5 | 2020年4月18日 |
0.1.4 | 2020年10月16日 |
#2303 in 数据库接口
2MB
645 代码行
ssb-db
用于在ssb上进行复制的最基础的sqlite支持的数据库
文档
lib.rs
:
ssb-db
这是在ssb上进行(旧版)复制所需的最基本的数据库。
旧版复制
"旧版复制"是ssb在ebt之前用于复制的方式
它比ebt简单,但需要更多的带宽。
要进行旧版复制,客户端需要对其想要复制的每个源调用createHistoryStream,并传递它所知道的最大的序列号。
SsbDb
ssb-db
定义了一个特质[SsbDb],它提供了制作和处理旧版复制请求所需的所有功能。
架构
[SqliteSsbDb]实现了[SsbDb]特质。
底层架构基于flume-db。
ssb-db
将数据存储在追加日志中。它使用sqlite维护索引以查询日志。追加日志是事实来源,索引是从日志派生出来的。如果索引损坏或需要迁移,可以删除sqlite数据库并从日志重建。
验证
ssb-db
在追加之前不会验证任何消息。调用者必须首先验证它们。请参阅ssb-validate和ssb-verify-signatures。
依赖
~29–39MB
~634K SLoC