至联云讲解《IPFS分散式Web的对等数据库》

ぃ、小莉子 提交于 2020-08-10 18:48:26

随着网络上自治的和可能是异构的分散系统之间信息交换的兴起,对等数据库已经出现。OrbitDB源自Orbit聊天应用程序,是基于IPFS协议(行星际文件系统)的对等数据库。OrbitDB为不同的数据模型和用例提供了各种类型的数据库。它是为去中心化应用程序(dApps),区块链应用程序和一线Web应用程序而构建的。

OrbitDB还是一个分布式无服务器数据库。根据项目存储库,它使用IPFS作为数据存储,并使用IPFS Pubsub自动将数据库与对等方同步。它使用CRDT(无冲突复制数据类型)进行无冲突的数据库合并。CRDT(无冲突复制的数据类型)是数据结构的类型,其网络副本可以同时且独立地更新,而无需副本的协调。

它是一种做事方法,具有许多优点。另外,OrbitDB使用IPFS协议,该协议充当分布式CDN。它是一种对等协议,用于分发可以由超媒体解决的内容。IPFS不依赖集中式服务器。它旨在将一组IT设备与同一文件系统连接。IPFS与万维网相似,不同之处在于IPFS可以看作是在Git存储库中的单个BitTorrent Swarm交换对象。

IFPS 0.5.0于上周发布,这得益于DHT逻辑的改进,使得在网络上搜索和共享数据的速度比以前快得多。从此版本开始,更有效的路由和配置可减少带宽使用和后台流量。IFPS团队还更新了QUIC实验性传输,以减少连接等待时间和往返,以使其成为下一个默认版本。

IFPS由所谓的柏林SamuliPöyhtäri开发,并由Protocol Labs资助。萨穆利(Samuli)随后创立了哈哈网络(Haja Networks)。OrbitDB项目完全由Haja Networks负责。目前,它仍处于Alpha版本。这意味着OrbitDB尚未经过安全审核,并且编程API和数据格式可能仍会更改。“如果您计划在关键系统中使用OrbitDB,我们鼓励您与维护人员联系,”其开发人员写道。

它是一种JavaScript实现,可在浏览器和Node.js中使用,并支持Linux,macOS和Windows。尝试使用它的最低版本为8.6.0,因为使用了扩展(...)语法。LTS版本是最推荐的版本。为了允许OrbitDB与Node.js的较早版本一起使用,该团队通过npm软件包提供了与ES5兼容的版本,该软件包在dist / es5 /目录中下载并安装时位于来自npm的帮助。

此外,OrbitDB还是一种软件,可为不同的数据模型和用例提供各种类型的数据库,其中一些如下:

日志:具有可遍历历史记录的不可变日志(在附录中)。对于“最后N个”用例或作为消息队列很有用;

feed:具有可遍历历史的可变日志。可以添加和删除条目。对于“购物车”类型的用例很有用,例如,作为博客消息或“推文”的流;

keyvalue:键值数据库,例如您喜欢的键值数据库;

docs:面向文档的数据库,其中可以通过特定键存储JSON格式的文档并建立索引。它对于建立搜索索引或控制文档和数据的版本很有用;

计数器:一个有用的数据库,用于与日志/提要数据分开对事件进行计数。

除了ipfs-log(用于分布式系统的不可变,基于操作,无冲突的复制数据结构(CRDT))之外,还实现了所有数据库。如果OrbitDB数据库类型都不满足您的需要,或者您需要特定的功能,则可以轻松地设置和使用自己的自定义数据库。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!