带你一文看懂 Blockchain + NoSQL数据库

来源 | Tyler Mitchell

译者 | 火火酱,责编 | Carol

图源 | CSDN下载自视觉中国

NoSQL数据库和现代区块链分类账都受益于一套共同的原则。由于其二者平台可以相互补充,因此当它们服务于同一应用程序时,能够配合完成多种工作。

在本文中,我们将一起来回顾一下二者协同的重叠部分,学习如何借助Couchbase的NoSQL平台来支持自己的下一个企业分布式账本应用程序(例如利用Hyperledger)。实际上这一话题涉及的内容非常深奥,但在本文中,我们将只触及两个较为浅显的想法,简要勾画出其共性和机遇:分布式计算和世界状态。

分布式计算

分布式计算是现代企业架构的核心——无论是并行处理CPU/GPU环境、多节点数据库集群,还是在不同地区具有同步集群的全球数据中心。

通过利用这些架构的分布式处理速度、可恢复性和可扩展性(这都是另一个话题了),应用程序开发人员可以专注于构建所需的用户体验,由后端数据系统来完成那些繁重的工作。

“分布式”是什么意思呢?简而言之,就有多个服务器作为节点集群的一部分进行管理。在理想情况下,在分布式系统中是不存在单点故障或集中控制的。

此外,它还假定将工作负载项分解为可供底层原子处理器进行处理的碎片,例如,将工作任务分布到多个节点上。

此类系统的名称中往往包含“点对点网络、集群计算、并行处理”等等。维基百科上有一个很好的列表,里面列出了到目前为止的各类相关系统。

列表地址:

https://en.wikipedia.org/wiki/Distributed_computing?ref=hackernoon.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的强大查询工具、使用自然语言进行全文搜索、针对大型数据集进行大规模的大数据分析,等等。这样一来,开发人员便可以专注于产品和用户,同时让后端系统保持管理和同步。

为什么要选择NoSQL+Blockchain?

我写这篇文章的目的不仅仅是想要比较一下这两种技术,更是希望可以鼓励开发人员和架构师们研究如何将这两种技术结合起来使用,这不失为一种好方法。

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 虚拟化,看这文就够了

  • 赠书 | 手把手教你自己动手打造一个智能恒温器

  • 求求你给你的微信头像戴个圣诞帽吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/515823.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

来,一起“八卦”一下数据湖

原文链接 本文为云栖社区原创内容,未经允许不得转载。

从OpenKruise用户疑问开始理解K8s资源更新机制

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 背景 OpenKruise 是阿里云开源的大规模应用自动化管理引擎,在功能上对标了 Kubernetes 原生的 Deployment / Sta…

学霸的奇葩选择,成功不仅靠运气,对话阿里云MVP黄胜蓝

云栖号资讯:【点击查看更多行业资讯】 在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 简介: 为了逃避高考,他凭借NOIP一等奖成功保送武大;大学时就负责校园门户网站的运维工作&…

CSDN湘苗培优|保持热情,告别平庸

湘苗培优招生进行中在培优中,遇见更好的自己——CSDN高校俱乐部CSDN湘苗培优随着我国信息产业飞速发展,通过常规灌输式培养出来的学员已经不能够满足企业要求。企业更缺乏的是具备自主学习能力、具备综合解决问题能力的高素质技术人才。高素质技术人才需…

对话阿里云总裁张建锋:解密阿里云再生长的动力、合力和张力

文 |《财经》记者 谢丽容 秋冬交替往往在一夜之间。这一年,受疫情的客观影响,数字化新旧时代的交替,从稳步推进,转变为一夜之间——数字化成为中国经济的主要驱动力,变革因为疫情而更加强烈,政府、企业都认…

掌门1对1微服务体系Solar|阿里巴巴Sentinel落地实践

前言 掌门1对1精耕在线教育领域,近几年业务得到了快速发展,但同时也遭遇了“成长的烦恼”。随着微服务数量不断增加,流量进一步暴增,硬件资源有点不堪重负,那么,如何实现更好的限流熔断降级等流量防护措施…

湘苗培优|值不值?效果告诉你

號外高校俱乐部报名ing湘苗培优REC等待优秀的你!湘苗培优参与项目交付企业内推求职简历指导CSDN技术认证你能获得优秀的企业导师!志同道合的朋友锻造自己的平台!面对面的交流这里有介绍湘苗培优缘起随着我国信息产业飞速发展,通过常规灌输式培…

Redis 分布式集群搭建2022版本+密码(linux环境)

Linux环境 安装 Redis-6.2.6 配置运行_01 https://gblfy.blog.csdn.net/article/details/105583077 文章目录一、节点分布总览二、软件配置初始化2.1. 下载2.2. 解压2.3. 编译安装2.4. 配置抽离2.5. 配置编辑2.6. 101节点操作2.7. 102 节点操作2.8. 103节点操作三、软件配置集群…

CDN百科第三讲|如果用了云服务器,还需要做CDN加速吗?

在全站上云的背景下,云计算已经不仅仅是大型互联网公司的独享概念,正在被更多的传统企业、中小企业甚至个人站长所采用。在众多云计算服务中,最常见两个产品就是云服务器和CDN,今天的CDN百科第三讲,就给大家介绍下你关…

如何选择适合你的企业数据管理类产品

在全站上云的背景下,云计算已经不仅仅是大型互联网公司的独享概念,正在被更多的传统企业、中小企业甚至个人站长所采用。在众多云计算服务中,最常见两个产品就是云服务器和CDN,今天的CDN百科第三讲,就给大家介绍下你关…

5G与金融行业融合应用的场景探索

来源 | 人民数字FINTECH责编 | 晋兆雨头图 | 付费下载于视觉中国5G 技术如何与银行、保险、证券业结合?近年来,金融业高度关注5G技术应用,一些金融机构希望抓住5G应用发展窗口期,积极探索新业态和新模式,把握5G金融应用…

云端研发新基建:Serverless与持续架构服务落地实践

在《我心中的云时代原生开发环境》这篇文章中,我们探讨过云厂商的愿景,云计算的趋势与现状以及研发团队的架构服务诉求等背景。今天,我想结合我们打造的云开发平台(Cloud Workbench)跟大家进一步聊聊,如何打…

vue pdfjs 在线预览

下载pdfjs 官网&#xff1a;http://mozilla.github.io/pdf.js/getting_started/#download 放入项目中 将下载下来的文件解压缩后&#xff0c;重命名为pdf&#xff0c;将里面的pdf文件夹拷贝到项目中的public文件夹中 页面中使用 <template><div class"container…

年终福利 | “社区之星”(社区核心贡献者)成长故事征集

活动简介那些积极探索技术边界并持续对社区做出贡献的开发者是真正的技术英雄&#xff0c;是开发者的学习榜样&#xff0c;也是各个技术社区发展的生命力&#xff01;2020年即将结束&#xff0c;CSDN 为所有技术社区特别准备了一份年终福利&#xff01;CSDN 向所有技术社区&…

阿里云峰会|数据库也能自动驾驶?DAS全天候给你保驾护航!

阿里云峰会直播地址 2020年6月9日&#xff0c;“全速重构”2020阿里云线上峰会即将隆重召开。 在此次峰会上&#xff0c;阿里云数据库重磅发布云原生分布式数据库 PolarDB-X 、云原生数据仓库AnalyticDB、数据库自治服务DAS、云数据库专属集群、图数据库GDB、云数据库Cassandr…

阿里云峰会|阿里云数据中台重磅升级后拟扶持100万家企业数智化

6月9日&#xff0c;在2020阿里云线上峰会上&#xff0c;阿里巴巴集团副总裁、数据技术及产品部负责人朋新宇推出Quick Audience、Quick A两款全新产品&#xff0c;并升级Dataphin和Quick BI两款现有产品。同时&#xff0c;阿里云零售、金融、政务及互联网企业等四大行业数据中台…

软件设计师 - 函数依赖 和 范式

文章目录1.函数依赖&#xff1a;1.0.前提范例&#xff1a;1.1.函数依赖定义&#xff1a;1.2. 部分依赖1.3. 完全依赖2.范式2.1. 码、候选码、主码2.2.主属性和非主属性2.3.第一范式&#xff08;1NF&#xff09;2.4.第二范式&#xff08;2NF&#xff09;2.5.第三范式&#xff08…

SpringBoot 自定义线程池

文章目录一、自定义线程池1. yml配置2. 线程池配置属性类3. 开启异步线程支持4. 创建自定义线程池配置类5. service逻辑层6. controller控制层7. 效果图二、配置默认线程池2.1. yml2.2.线程池配置属性类2.3. 开启异步线程支持2.4. 装配线程池2.5. service逻辑层2.6. controller…

可用性SLA还不懂?看完这个故事就懂了

大家好&#xff0c;我是小编云BliBli&#xff0c; 这些天 领导问了我一个暴击我灵魂的问题&#xff1a; 什么是SLA&#xff1f;那么多9到底是什么意思&#xff1f; &#xff08;瓦特&#xff1f;&#xff1f;我怎么知道&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#…

如何通过 Serverless 轻松识别验证码?

来源 | Serverless责编 | 晋兆雨头图 | 付费下载于视觉中国前言Serverless 概念自被提出就倍受关注&#xff0c;尤其是近些年来 Serverless 焕发出了前所未有的活力&#xff0c;各领域的工程师都在试图将 Serverless 架构与自身工作相结合&#xff0c;以获取到 Serverless 架构…