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

区块链 其他数据库
区块链可以被认为是一种新型的数据库。这种数据库可以直接被分享,通过一群非信任节点,无中心化管理的方式运作。它不同于传统的SQL和NoSQL数据库被一个单一实体控制,即使是在防火墙后的分布式架构的数据库。

[[220227]]

区块链可以被认为是一种新型的数据库。这种数据库可以直接被分享,通过一群非信任节点,无中心化管理的方式运作。它不同于传统的SQL和NoSQL数据库被一个单一实体控制,即使是在防火墙后的分布式架构的数据库。

在某些方面讲区块链是一种更安全的数据库,在某些方面则不是。考虑到当前中心化的数据库依然是主流,可能混合两种数据库是一种不错的解决方案。

去中心化:区块链的优点

传统的数据库,需要一定的访问权限去管理,也就是说你必须依赖人为的管理。一旦访问权限被黑或者管理员作恶,数据就有很大的危险性,或者存在被人篡改的可能性。

在现实世界中,银行和金融机构以及各种大公司通过一些手段积攒了一些信用。我们将钱存在银行里,而不用担心它被盗。银行本身需要一批可信的数据库管理员,开发人员,以及一些安全的管理流程,依赖这些,来保证数据的安全性。但是这些数据库管理员,和开发人员,以及安全流程都是需要一定的时间成本和人力成本。

区块链提供了一种方式去取代这些额外的成本,用数字加密学和工作量证明以及节点共识的机制来保证数据的安全。

健壮性:区块链的优点

区块链的另外一个优点就是高容错,因为它内在的冗余机制。每个节点对于整个区块链网络而言,都不是必不可少的。节点之间互相通信,即使一些节点因为一些原因出错,也不会导致整个网络垮掉。同时失败的节点,重启之后也总是能正确同步新的交易。

对于传统数据库同样有冗余性,但是区块链却将它发挥到了一个新的高度。任何节点都可以自由的加入节点,并且不需要系统做任何的配置。同时任何节点都可以自由离开这个网络,而不会对网络造成影响。

传统数据库的冗余机制,依赖于昂贵的技术架构和容灾措施。通常是有一个主数据库,多个从数据库,主数据库通常运行在一个非常昂贵的高配置机器上,然后多个从数据库从主数据库同步数据。如果主数据库出线问题,从数据库就会临时上升为主数据库,并对主数据库进行恢复,恢复成功后,可能还需要切换到原来的主数据库。众说周知,这个技术架构非常复杂,而且在配置方面也比较难,出现问题之后,正确处理也不是非常容易。

但是如果是区块链,假设我们有十个节点,它们只需要运行在十个不同的普通计算机上就可以。节点之间互相通信,如果一个或者两个节点出现问题,其他节点不会有任何影响。

性能:中心化数据库优点

区块链比传统的数据库要慢,并不是因为区块链技术本身就慢,而是因为区块链本身是新生事物,依然处于早期阶段,性能优化仍然有一定空间,同时因为区块链除了像传统数据库那样运行,还要做额外的负载:

1. 签名验证。每一个区块链的交易都需要签名验证,同时这些签名验证在每个节点间都是要运行的,用于证明交易的合法性。传统数据库只在***次通信做一些签名验证,后续请求就不需要。

2. 共识机制。节点间要达成共识,需要复杂的通信,并且需要处理分叉。

3. 冗余性。传统数据库,主节点更新数据,然后同步数据到从数据库。区块链每个节点都需要保存交易数据。

透明性

同时,在区块链上的交易都是透明的(传统区块链,现在已经有加密区块链方面的研究)。因为对于很多商业结构之间,可能存在竞争性,他们不希望对手看到他们的信息。但是另外有一些场景则恰恰相反,比如众筹平台,慈善平台,恰好需要交易的透明性和公开性。

总结

所以,对于到底使用传统数据库还是区块链,应该是取决于场景。中心化和健壮性?还是私密性?还是高性能?

所以,区块链在以下场景应该会更擅长:1)公司内部审计,2)来源追踪,3)轻金融系统。

 

原文链接:https://goo.gl/DfVk51 

责任编辑:庞桂玉 来源: ITPUB
相关推荐

2018-01-26 08:39:03

2024-02-22 11:23:16

2018-08-20 18:15:01

2011-03-07 16:42:05

MySQL数据库安全

2009-11-18 16:10:00

2019-01-18 05:22:39

区块链智能合约网络安全

2011-01-21 09:43:10

安恒数据库安全安全审计

2011-03-24 15:41:42

数据库

2020-10-12 11:27:44

区块链

2022-02-16 14:31:47

区块链网络安全风险

2018-06-14 14:25:42

2010-09-15 09:50:55

2024-02-06 07:56:20

数据库分布式数据库架构产品

2011-07-12 16:42:41

2011-03-28 13:11:18

MySQL数据库安全

2011-01-21 10:10:27

2011-03-03 18:09:14

2018-03-26 12:58:52

数据库OracleMySQL

2010-05-27 18:24:09

MySQL数据库密码

2009-03-31 11:57:52

点赞
收藏

51CTO技术栈公众号