区块链与数据库技术对比及融合(点击这里查看原文)

 dbaplus社群   2019-12-06 09:50   199 人阅读  0 条评论

首先我们来思考一个问题,区块链和数据库在哪些维度上有共性,我自己有一个简单的定义,我认为区块链和数据库都是数据管理技术,数据管理并不高深,我们用一个Excel就可以进行。我们在项目实施过程中会被客户问到一个问题,为什么这个项目非得用区块链,因为区块链难以篡改,比如说有密码的支撑,比较方便实现多方共享。但是这些是不是足以说这个项目就可以用区块链,我认为如果在应用层做很多间接改造也可以实现大部分功能,但是其中有一部分很难实现,就是在参与管理数据的多方存在不信任的场景下,这种场景下是很难用传统数据库解决的。除非多方之间选出大家都公信的“盟主”,让它来管理这个数据库,这个时候业务用数据库就可以做,否则的话是行不通的。

我认为区块链的革命性就是实现了可信的数据管理,有两个方面,第一个是存储的可信;第二个是数据处理过程的可信。通过区块链的共识算法实现了在去中心的网络环境下成百上千个节点维护一致性的数据副本。并且,数据的变更都是公开透明和可审计的,每个节点都会验证,不管是密码验证还是合约执行结果的验证,都会在各个节点执行。

网络规模越大,公信力越强,事实上人们也愿意为可信带来的溢价买单。一个简单的例子,如果现在在亚马逊的RDS存储1GB的数据,成本大概是每月0.25美元,但是同样如果存在以太坊上,大概需要三万两千个ETH,有7200多个节点分布式地在全球存储其副本。区块链通过共识算法和智能合约,在实践层面真正实现了可信的数据管理,这是具有革命性的。

另外一方面,很多人也看到区块链有很多的局限性,出现了一些悲观的看法,比如认为区块链都是更慢的数据库,链式哈希不新鲜,Git中早就有了;绝大多数场景用数据库就够了, 不是刚需——Nice to Have , Not musthave,但是我认为这种看法是错误的。

我总结一下区块链适用的场景有三点:

  • 数据的变更历史需要透明、可审计的应用场景;
  • 数据的处理过程需要按照多方约定并公示后的规则来执行的场景;
  • 数据的副本需要维护在多个不完全互信节点的场景。
阅读全文

 发表评论


表情