作者 | Mr.J

时代的发展,使得数据不断增加。传统的数据存储方式远远满足不了需求。想象一下,企业发展过程中,数据越来越多。以往,只能买个存储空间更大的数据库服务器,然后将原有的数据拷贝过去。但这只是一时的补救,并不能满足未来的发展。

我们常常说区块链是分布式数据库,但在这前面要加上“特殊的”这三个字。因为区块链与传统的分布式数据库还是有区别的。

分布式数据库

分布式数据库是将数据分割开来,存储在不同的数据库服务器中,数据多了就多用个服务器。当然,实际当中并不是这么简单的,我们还要考虑服务器之间的链接,怎样快速查找数据等等。


分布式数据仓库技术Hive实验报告总结 分布式数据库存储_分布式数据库


在分布式数据库中,负责存储的服务器节点只存储一部分数据,节点之间是彼此信任的,这些节点组合成一个完整的数据库。

区块链——公有链

公有链运用了分布式存储的技术,它提高了每个节点的权限,每个节点都是个独立的个体。与传统分布式数据库最大的区别是:公有链的节点是彼此制约的。

公有链的节点他们各自就是一个完整的数据库,可以存储公有链上所有的区块数据。由于各节点相互独立,区块链才被称为一个去中心化的分布式数据库。


分布式数据仓库技术Hive实验报告总结 分布式数据库存储_分布式数据仓库技术Hive实验报告总结_02


公有链相对于传统的分布式数据库,有着明晰的优势,由于数据确认需要一半以上的节点共识,使得数据具有不可篡改的特点,而且由于数据存在于多个节点,使得数据理论上是永远不会丢失的。

然而,为了这些优势,公有链存在一些短板。首先,由于每个模块的生成需要多方确认,使得数据生成的效率降低。再一个,虽然区块链采用加密技术来保障用户隐私,然而,由于每个节点都能获得完整的数据,数据是公开的,使得一旦用户泄露了自己的地址,别人就能很容易地知晓其交易记录。

另外,由于每个节点都能存储所有的数据,造成了不必要的浪费,使得数据冗余。

区块链的进化版——T-ABC联盟链


分布式数据仓库技术Hive实验报告总结 分布式数据库存储_分布式数据仓库技术Hive实验报告总结_03


联盟链的特点是区块链由联盟中的成员进行管理。成员推选出1个或多个预选节点负责记账,使得记账由无数个节点限制到有限的节点,大大提高了效率,且保留了不可篡改的特点。而其用户节点只有查询和交易功能,并未存储所有数据。用户想要查询记录,不仅需要地址,还要有对应的私钥,很好地保障用户的隐私。

我们都知道数据在区块链中是分为一个个区块存储的。T-ABC中的普通节点是没有存储所有区块的,每个区块都是从上亿个节点中随机抽取6个节点存储。避免了数据的大量冗余。


分布式数据仓库技术Hive实验报告总结 分布式数据库存储_区块链_04


有人会问,如果这6个节点都坏了,数据不就丢失了吗?为此,每当一个节点损坏或断网,整个系统会将其存储的数据再随机同步给其他节点,使得每个区块在整个系统中都有6个节点记录,使得数据不会丢失的。

T-ABC联盟链通过由联盟成员管理,限制普通节点查询权限,普通节点不存储完整数据。在分布式数据库基础上,优化了数据不可被篡改,让数据更可信,赋予了节点更高的权限。