铁岭网站建设移动网站,外贸推广营销,软件app开发培训,网站建设方案总结语来源 | Tyler Mitchell译者 | 火火酱#xff0c;责编 | Carol图源 | CSDN下载自视觉中国NoSQL数据库和现代区块链分类账都受益于一套共同的原则。由于其二者平台可以相互补充#xff0c;因此当它们服务于同一应用程序时#xff0c;能够配合完成多种工作。在本文中#xff0… 来源 | Tyler Mitchell译者 | 火火酱责编 | Carol图源 | CSDN下载自视觉中国NoSQL数据库和现代区块链分类账都受益于一套共同的原则。由于其二者平台可以相互补充因此当它们服务于同一应用程序时能够配合完成多种工作。 在本文中我们将一起来回顾一下二者协同的重叠部分学习如何借助Couchbase的NoSQL平台来支持自己的下一个企业分布式账本应用程序例如利用Hyperledger。实际上这一话题涉及的内容非常深奥但在本文中我们将只触及两个较为浅显的想法简要勾画出其共性和机遇分布式计算和世界状态。分布式计算 分布式计算是现代企业架构的核心——无论是并行处理CPU/GPU环境、多节点数据库集群还是在不同地区具有同步集群的全球数据中心。 通过利用这些架构的分布式处理速度、可恢复性和可扩展性这都是另一个话题了应用程序开发人员可以专注于构建所需的用户体验由后端数据系统来完成那些繁重的工作。 “分布式”是什么意思呢简而言之就有多个服务器作为节点集群的一部分进行管理。在理想情况下在分布式系统中是不存在单点故障或集中控制的。 此外它还假定将工作负载项分解为可供底层原子处理器进行处理的碎片例如将工作任务分布到多个节点上。 此类系统的名称中往往包含“点对点网络、集群计算、并行处理”等等。维基百科上有一个很好的列表里面列出了到目前为止的各类相关系统。列表地址https://en.wikipedia.org/wiki/Distributed_computing?refhackernoon.com区块链是分布式技术的缩影 尽管分布式技术的优点很多但其实其应用并没有想象中那么广泛即使是在现代企业中系统集中化的现象仍然非常普遍。其中就包括那些设计本应更具弹性的行业如全球金融系统或供应链管理实际上这些行业往往更倾向于选择大型机计算。 顺便提一下集中式系统非常好辨别因为当它发生故障时所有工作全部都会停摆当所有数据或服务都在一台机器上运行时一旦出现宕机的情况系统便会完全停止运作。 这可能是因为启动替代机器需要时间或者在重新路由用户之前需要时间来识别故障又或许是因为其他各种毁灭性的工程原因。集中式系统与我们期待的点对点网络正好相反。 然而随着比特币等平台的出现下一代数字货币和“分类账”逐渐证明了其可行性。现在有数千种不同的加密货币和数十种区块链后端都在应用去中心化技术。 此外请注意“分布式账本”并不等同于许多加密货币中使用的“工作量证明”。相反我们要把分类账视为已经对更新的应用程序建立起了信任不必为了添加到链上而进行任何特定的任务。分布式NoSQL 同样企业也在为其内部系统寻找更多利用分布式技术的方法以减少宕机时间。如果要做一个以分类账为基础的系统的话目前有多种方法可供选择。如果要做一个通用数据库的话选项也不少特别是在数据管理方面。 在运行分布式系统的企业中大部分技术都能在数据库中找到尤其是NoSQL平台。这种分布式特性从其出现的第一天就成为了Couchbase的支柱之一填补了传统数据库不可避免的关键性空白。 Couchbase引入了多维扩展的概念——即能够跨多个节点或多个集群来扩展应用程序和服务。 如果只是在单一节点上运行的话就和再引入一个JSON文档存储没什么不同了。同样如果另一种区块链技术不是同样分布在机器集群中的话也没有任何意义。 集中式系统中一定会存在单一故障点和控制点从而破坏整个系统的信任。但好在Couchbase、区块链和相关技术都为分布式系统的存在提供了需求和价值。超级账本Hyperledger组件 Hyperledger和Couchbase等区块链分布式账本的另一个共同点是用例显示被管理资产的单一“当前”视图。 据Hyperledger Fabric的说法一个特定的分布式账本实现其系统中主要是有两类数据处理组件在发挥作用。 操作事务Operational transaction是所有分类帐的核心——它验证、创建并记录分类帐中的所有事务。Hyperledger Fabric处理所有内置权限确认谁可以发起事务并将其存储在各种后端技术中。 世界状态World state作为另一个主要组件是另一个维护账户当前状态值的数据视图。当执行由一个实体到另一个实体的事务时世界状态也会随之更新保持当前最新值。以前的事务不会被存储在世界状态中。 世界状态系统中的每个帐户都会有单独的值但是其整体的历史记录会被精确详细地存储在事务系统中。NoSQL信息源 以上两个组件都可以通过Couchbase NoSQL数据库作为后端来实现。Couchbase在许多不同用例金融、欺诈检测、物联网等中都被用来处理高吞吐量的操作事务。分布式ACID事务也是可以的这个话题我们将在以后的文章中进行探讨。 将Couchbase作为区块链系统的主要后端数据库可以方便操作与世界状态数据有关的存储/检索。 Couchbase常会被用来存储来自多个不同数据库的数据集合提供所谓的信息源Source of truth。与世界状态类似它也会存储相关当前数据的物化图像。 因此Couchbase非常适合需要存储应用程序用户配置文件的应用开发人员。例如虽然其他的后端系统或许会更新各数据片段但当用户进行登录时用户配置文件会立刻出现在JSON文档中。 在这种情况下使用Couchbase的最终好处是可以享受为开发人员所提供的一切内置优势。一旦数据被投放到数据库中我们就可以无障碍地访问基于SQL的强大查询工具、使用自然语言进行全文搜索、针对大型数据集进行大规模的大数据分析等等。这样一来开发人员便可以专注于产品和用户同时让后端系统保持管理和同步。为什么要选择NoSQLBlockchain 我写这篇文章的目的不仅仅是想要比较一下这两种技术更是希望可以鼓励开发人员和架构师们研究如何将这两种技术结合起来使用这不失为一种好方法。 Couchbase可以作为任何分布式账本或区块链技术之上的应用开发层既可以成为可操作的数据库组件也可以作为世界状态。如果你正在构建的企业解决方案需要快速、便捷地向终端用户提供帐户详细信息那么世界状态数据库将会是一个绝佳的研究用例。 例如当发生区块链事务且世界状态需要更新时相同的更新也将被发送到Couchbase供用户使用。由于Couchbase有移动SDK以及全面的分析SQL支持因此它能提供比区块链系统更为强大的数据接口。 当我们希望用户能够快速访问最新信息时这一点就变得尤为重要。 区块链系统需要一定的时间来传递信息但借助先进的协议Couchbase能够在更短的时间内实现这一点——在变化发生的第一时间便可以建立数据视图。而且由于Couchbase在多集群环境中运行其平台的稳定性和弹性丝毫不逊于区块链系统。集成 虽然目前还没有现成的Couchbase与Hyperledger集成但Couchbase SDK支持所有主要的编程语言。任何构建基于区块链的分类账的人都可以使用区块链API和Couchbase API通过JSON将当前世界状态更新发送到NoSQL数据库。 如果你对构建这种集成感兴趣的话可以看看Hyperledger Fabric中的后端提供商并从中挑选一个应用于Couchbase Server。 此外当智能合约应用程序在分类账中更新时也可以直接在发送的链码中实现该功能。我也只是才开始涉足这方面的内容但在之后的文章中我们可以将数据库用户自定义函数UDFs和区块链链码进行比较/对比以供大家参考。 区块链领域还有很多值得我们深入挖掘的东西但我希望本文中提到的这一点点相似性和重叠点能帮助你梳理自己的认知。原文链接https://hackernoon.com/an-introduction-to-blockchain-nosql-databases-qm2f341y本文由CSDN云计算翻译转载请注明原文出处更多阅读推荐都 2021 年了Serverless 能取代微服务吗企业使用云计算低效益怎么办区块链或成良药赠书 | 读懂 x86 架构 CPU 虚拟化看这文就够了赠书 | 手把手教你自己动手打造一个智能恒温器求求你给你的微信头像戴个圣诞帽吧