实验性区块链数据库

时间:2024-07-18 11:22:17
【文件属性】:

文件名称:实验性区块链数据库

文件大小:62KB

文件格式:ZIP

更新时间:2024-07-18 11:22:17

parity-db

区块链数据库。设计注意事项应用程序接口数据库是支持事务的通用键值存储。它不支持迭代或基于前缀的检索。状态优化90% 的区块链数据和 IO 是特里节点。数据库首先应该允许有效存储和检索状态数据。单作家数据库应该能够支持多个并发阅读器。允许单个并发编写器就足够了。无缓存区块链数据的低级 LRU 缓存(例如单个 trie 节点)被证明是低效的。缓存应该在更高的抽象级别上完成。即存储项目或块标题。事务隔离事务以原子方式应用。查询无法检索部分提交的数据。耐用性如果 IO 在任何时候中断,数据库应该恢复到一致状态。执行数据结构数据被组织成列。每列服务于特定类型的数据,例如状态或标题。列由一个索引和一组 16 个值表组成,用于不同的值大小。指数索引是一个由 mmap 支持的动态大小的探测哈希表。每个条目是 64 个 8 字节条目的页面,共 512 个字节。每个 64 位条目包含 32 位值地址、4 位值表索引和从k派生的 28 位值c 。c是通过跳过kn高位并取接下来的 28 位来计算的。k是从原始密钥派生的 256 位密钥,并且是均匀分布的。n是当前索引位大小。首先n位k地图k到页面。页面内的条目


【文件预览】:
parity-db-master
----.gitignore(354B)
----bench()
--------bin()
--------core()
----README.md(4KB)
----Cargo.toml(663B)
----src()
--------index.rs(14KB)
--------table.rs(27KB)
--------error.rs(2KB)
--------lib.rs(916B)
--------db.rs(20KB)
--------options.rs(5KB)
--------compress.rs(5KB)
--------column.rs(20KB)
--------log.rs(17KB)
--------stats.rs(10KB)
--------display.rs(1KB)

网友评论