首页 > 基础设施 > 正文

区块链VS数据库——解决方案选哪个?

2018-04-24 11:22:58  来源:ITPUB

摘要:区块链可以被认为是一种新型的数据库。这种数据库可以直接被分享,通过一群非信任节点,无中心化管理的方式运作。它不同于传统的SQL和NoSQL数据库被一个单一实体控制,即使是在防火墙后的分布式架构的数据库。
关键词: 区块链 数据库
  区块链可以被认为是一种新型的数据库。这种数据库可以直接被分享,通过一群非信任节点,无中心化管理的方式运作。它不同于传统的SQL和NoSQL数据库被一个单一实体控制,即使是在防火墙后的分布式架构的数据库。
 
\
 
  在某些方面讲区块链是一种更安全的数据库,在某些方面则不是。考虑到当前中心化的数据库依然是主流,可能混合两种数据库是一种不错的解决方案。
 
  去中心化:区块链的优点
 
  传统的数据库,需要一定的访问权限去管理,也就是说你必须依赖人为的管理。一旦访问权限被黑或者管理员作恶,数据就有很大的危险性,或者存在被人篡改的可能性。
 
  在现实世界中,银行和金融机构以及各种大公司通过一些手段积攒了一些信用。我们将钱存在银行里,而不用担心它被盗。银行本身需要一批可信的数据库管理员,开发人员,以及一些安全的管理流程,依赖这些,来保证数据的安全性。但是这些数据库管理员,和开发人员,以及安全流程都是需要一定的时间成本和人力成本。
 
  区块链提供了一种方式去取代这些额外的成本,用数字加密学和工作量证明以及节点共识的机制来保证数据的安全。
 
  健壮性:区块链的优点
 
  区块链的另外一个优点就是高容错,因为它内在的冗余机制。每个节点对于整个区块链网络而言,都不是必不可少的。节点之间互相通信,即使一些节点因为一些原因出错,也不会导致整个网络垮掉。同时失败的节点,重启之后也总是能正确同步新的交易。
 
  对于传统数据库同样有冗余性,但是区块链却将它发挥到了一个新的高度。任何节点都可以自由的加入节点,并且不需要系统做任何的配置。同时任何节点都可以自由离开这个网络,而不会对网络造成影响。
 
  传统数据库的冗余机制,依赖于昂贵的技术架构和容灾措施。通常是有一个主数据库,多个从数据库,主数据库通常运行在一个非常昂贵的高配置机器上,然后多个从数据库从主数据库同步数据。如果主数据库出线问题,从数据库就会临时上升为主数据库,并对主数据库进行恢复,恢复成功后,可能还需要切换到原来的主数据库。众说周知,这个技术架构非常复杂,而且在配置方面也比较难,出现问题之后,正确处理也不是非常容易。
 
  但是如果是区块链,假设我们有十个节点,它们只需要运行在十个不同的普通计算机上就可以。节点之间互相通信,如果一个或者两个节点出现问题,其他节点不会有任何影响。
 
  性能:中心化数据库优点
 
  区块链比传统的数据库要慢,并不是因为区块链技术本身就慢,而是因为区块链本身是新生事物,依然处于早期阶段,性能优化仍然有一定空间,同时因为区块链除了像传统数据库那样运行,还要做额外的负载:
 
  1. 签名验证。每一个区块链的交易都需要签名验证,同时这些签名验证在每个节点间都是要运行的,用于证明交易的合法性。传统数据库只在第一次通信做一些签名验证,后续请求就不需要。
 
  2. 共识机制。节点间要达成共识,需要复杂的通信,并且需要处理分叉。
 
  3. 冗余性。传统数据库,主节点更新数据,然后同步数据到从数据库。区块链每个节点都需要保存交易数据。
 
  透明性
 
  同时,在区块链上的交易都是透明的(传统区块链,现在已经有加密区块链方面的研究)。因为对于很多商业结构之间,可能存在竞争性,他们不希望对手看到他们的信息。但是另外有一些场景则恰恰相反,比如众筹平台,慈善平台,恰好需要交易的透明性和公开性。
 
  总结
 
  所以,对于到底使用传统数据库还是区块链,应该是取决于场景。中心化和健壮性?还是私密性?还是高性能?
 
  所以,区块链在以下场景应该会更擅长:1)公司内部审计,2)来源追踪,3)轻金融系统。

第三十四届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:pingxiaoli

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。