orbit-db是一种分散式Web的点对点数据库,一种无服务器,分布式,对等P2P数据库。OrbitDB使用IPFS作为其数据存储,IPFS Pubsub使用IPFS自动同步数据库。它是一个最终一致的数据库,它使用CRDT进行无冲突的数据库合并,使OrbitDB成为分散式应用程序(dApps),区块链应用程序和离线优先Web应用程序的绝佳选择。
OrbitDB为不同的数据模型和用例提供各种类型的数据库:
- 事件日志log:一种可遍历历史记录的不可变(仅追加)日志。对 “最新N”用例或作为消息队列有用。
- feed:一种可遍历历史记录的可变日志。可以添加和删除条目。对*“购物车”类型的用例有用,或者例如作为博客帖子或“推文”的提要。
- keyvalue:键值数据库,就像您最喜欢的键值数据库一样。
- docs:一个文档数据库,JSON文档可以通过指定的密钥存储和索引。用于构建搜索索引或版本控制文档和数据。
- counter:用于计算与日志/源数据分开的事件。
所有数据库都是在ipfs-log之上实现的,ipfs-log是一个用于分布式系统的不可变,基于操作的无冲突复制数据结构(CRDT)。如果OrbitDB数据库类型都不符合您的需求和/或您需要特定于案例的功能,则可以轻松实现和使用您自己的自定义数据库存储。
可在现场演示1,现场演示2或P2P TodoMVC应用程序中进行现场测试!