当前位置: 首页 > 科技观察

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

时间:2023-03-16 14:49:38 科技观察

区块链可以被认为是一种新型的数据库。这种数据库可以通过一组不受信任的节点直接共享和操作,无需集中管理。它不同于由单个实体控制的传统SQL和NoSQL数据库,即使在防火墙后面的分布式架构中也是如此。在某些方面,区块链是一个更安全的数据库,在某些方面则不是。考虑到目前中心化数据库仍然是主流,将两种数据库混合使用或许是一个很好的解决方案。去中心化:区块链的优势传统数据库需要一定的访问权限才能管理,这意味着你必须依赖人为管理。一旦访问权限被黑或者管理员作恶,数据就非常危险,或者有被篡改的可能。在现实世界中,银行和金融机构以及各种大公司都通过某种方式积累了一定的信用。我们把钱存在银行而不用担心它被盗。银行本身需要一群值得信赖的数据库管理员、开发人员和一些安全的管理流程,依靠这些来保证数据安全。但是这些数据库管理员、开发人员和安全流程需要一定的时间和人力。区块链提供了一种替代这些额外成本的方法,使用数字密码学和工作量证明以及节点共识机制来确保数据安全。健壮性:区块链的优势区块链的另一个优势是由于其固有的冗余机制而具有高容错性。每个节点对于整个区块链网络都不是必不可少的。节点之间相互通信,即使某些节点由于某种原因出现错误,也不会导致整个网络崩溃。同时,发生故障的节点在重启后总能正确同步新的交易。传统数据库也存在冗余,但区块链将其提升到一个新的水平。任何节点都可以自由加入节点,不需要任何系统配置。同时,任何节点都可以自由离开网络而不影响网络。传统数据库的冗余机制依赖于昂贵的技术架构和容灾措施。通常有一个主库和多个从库。主库通常运行在非常昂贵的高配置机器上,然后多个从库从主库同步数据。如果主库出现问题,从库会临时升级为主库,恢复主库。恢复成功后,可能需要切换到原来的master数据库。众所周知,这种技术架构非常复杂,配置起来也很困难。出现问题后,要正确处理不是很容易。但是如果是区块链,假设我们有十个节点,它们只需要运行在十台不同的普通电脑上。节点相互通信。如果一个或两个节点出现问题,其他节点不会有任何影响。性能:中心化数据库的优势区块链比传统数据库慢,不是因为区块链技术本身慢,而是因为区块链本身是一个新生事物,还处于早期阶段,性能还有优化的空间。同时,区块链除了像传统数据库一样运行之外,还需要做额外的负载:1.签名验证。每笔区块链交易都需要签名验证,而这些签名验证必须在各个节点之间运行,以证明交易的合法性。传统数据库只在第一次通信时做一些签名校验,后面的请求就不需要了。2.共识机制。节点之间达成共识需要复杂的通信,需要处理分叉。3.冗余。在传统数据库中,主节点更新数据,然后将数据同步到从数据库。区块链的每个节点都需要保存交易数据。透明性同时,区块链上的交易是透明的(传统的区块链,现在有加密区块链的研究)。因为很多业务结构之间可能存在竞争,他们不希望对手看到他们的信息。但也有一些场景恰恰相反,比如众筹平台、公益平台,只是要求交易透明公开。总结所以,用传统数据库还是区块链,要看场景。中心化和健壮性?还是隐私?还是高性能?因此,区块链应该更擅长以下场景:1)企业内部审计,2)溯源,3)轻金融系统。原文链接:https://goo.gl/DfVk51