OrbitDB

OrbitDB
软件
软件描述
OrbitDB 是一个无服务器、分布式、点对点数据库。OrbitDB 使用 IPFS 进行数据存储,并利用 IPFS 的 Pubsub 功能自动与对等节点同步数据库。它是一个最终一致的数据库,采用 CRDT 技术实现无冲突的数据库合并,因此 OrbitDB 成为了一个非常出色的……
官方网站
访问软件的官方网站了解更多信息
github.com
什么是 OrbitDB?
OrbitDB 是一个无服务器、分布式、点对点数据库。OrbitDB 使用 IPFS 作为数据存储,并利用 IPFS 的 Pubsub 功能自动与对等节点同步数据库。它是一个最终一致的数据库,采用 CRDT(冲突自由数据结构)来实现无冲突的数据库合并,因此非常适合用于去中心化应用(dApp)、区块链应用以及以离线优先的网页应用。
OrbitDB 提供了多种类型的数据库,适用于不同的数据模型和使用场景:
日志(log):一个不可变的(仅支持追加)日志,具有可追溯的历史记录。适用于“最近 N 条”类场景,或作为消息队列使用。
数据流(feed):一个可变的日志,具有可追溯的历史记录。可以添加和删除条目。适用于“购物车”类场景,例如博客文章或“推文”类的动态流。
键值(keyvalue):一个类似于你常用的键值数据库的键值存储。
文档(docs):一个文档数据库,支持存储 JSON 文档,并可按指定键进行索引。适用于构建搜索索引或对文档和数据进行版本控制。
计数器(counter):适用于独立于日志或数据流的事件计数。
所有数据库均基于 ipfs-log 实现,这是一种用于分布式系统的不可变、基于操作的冲突自由复制数据结构(CRDT)。如果你发现 OrbitDB 提供的数据库类型无法满足你的需求,或者你需要特定场景下的功能,你可以轻松地实现并使用自定义的数据库存储。