orbitdb/orbit-db: 无服务器、基于IPFS的P2P数据库

18-12-24 banq
                   

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现场演示2P2P TodoMVC应用程序中进行现场测试!

GitHub