麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
1047
2023-04-11
数据库和区块链之间有何区别?
首先,我们来看看数据库和区块链之间的区别。
数据库
传统数据库是用来存储信息的数据结构。这包含能够用来制作支持各类商业,金融和管理决定的报告,所需要的数据。政府也会使用数据库来存储大型数据,可以会有几百万个记录。数据库从文件分级系统开始,提供了最基本的信息获取和存储功能。然后,数据库使用相关的模型,通过将多个数据库进行相关,可以有更多复杂的方式来获得数据。存储在数据库中的信息可以使用管理系统来进行管理。简单的数据库被存储在数据行列中,被称为表格。表格中包含不同领域,用来定义不同记录的种类,存储数据被称为属性。每个领域包含列和航,代表存储的记录。
数据库是被管理员可以修改,管理和控制的。数据库总是会有管理员,并且可以完全控制数据库。他们可以创建,删除,修改数据库中的任何记录。他们能优化数据库的性能和大小。越大的数据库就会有更慢的性能,所以管理员可以使用方法来优化。管理员也可以把这个身份转给别人。例如,管理员可以把身份转给另外的用户,让他们来进行数据库备份。但是,问题也会有,例如服务器跨了,唯一的方法就是从备份恢复。数据库也是递归的,也就是说你可以回去重复某个任务,或者说删除任务。如果信息已经备份,那么管理员就会删除之前的记录和其他过期信息。比如你在现在数据库写入了“John Smith”,现在需要更新住址。但是现在已经有“John Smith”的备份了,所以你可以通过现有数据库的新地址进行更新。
区块链
就像我们看到的,区块链使用去中心化的分布式网络。去中心化意味着网络所有的节点都会存储区块链的备份。节点存储全节点的备份,或者是挖矿,或者他们两者都可以做到。没有任何的管理员来验证区块转账。你需要能够解决加密问题的矿工,但是这是基于全网算力的比例。一旦区块被加入到链上,那么这些信息就是不可改变以及透明的。区块链转账是不可以逆转的,这也意味着一旦验证了区块,他们就不能重复使用。区块链是可以容错的,因为如果一个或者多个节点宕机,总是会有其他节点在运行区块链。去中心化的另个优势,就可以让那些不认识或者不信任的人获得透明性。区块链会通过记录转账来提高信任,并且提供加密安全算法来交易数据。
区块链是P2P的网络架构。它并不需要中心化的数据库,而是网络所有的节点都会互相连接起来。所以,没人可以控制所有的节点。区块链上无需管理员。如果节点中有人欺诈呢?这会影响整个网络吗?理论上的答案是如果他们获得大多数算力,那么就是可能的。理论上,如果有人可以控制51%的算力,就可以控制网络。这需要非常多的计算资源,所以产生攻击是非常昂贵的。使用计算资源挖矿是有利可图的。能够保证区块链安全的本质就是去中心化,如果有人想修改区块链上的任何信息,就需要其他人的帮助来验证。这就会从主链中分割出新的链,并且只有比主链长才会有效。类似比特币有几千个节点,所以如果需要进行欺诈,就需要改变网络中的所有节点。实际上,这是需要大量计算和电力的,也非常困难完成。这是一种监管的方式,为了保证没人可以欺骗任何人。这就是为何区块链是不可更改的。同时,由于转账信息任何人都能看到,因此这也是透明的。
这就是区块链和数据库,在底层架构上的区别。
区块链和数据库,何时应该用哪个?
数据库由于很好的稳定性,对于企业网络来说,是比较适合的。他们对于用户来说,也更加友好,并且对于管理员和开发人员,也有很多支持性的管理系统。福布斯前500的企业都会使用数据库来运行高端系统,从而处理大量的数据。数据库可以扩容到几百万记录,而且可以每秒处理几千个转账。对于处理大量流量,例如零售,数据库是最好的解决方案。区块链不需要存储大量的处理来进行分析,数据库可以存储更多的数据,并且由于不需要节点,处理速度也更快。你也不需要对于每个数据进行加密。通常,数据库是不加密的,因为加密会让数据库增加很多冗余。传统数据库会通过授权来提高加密性。
非结构性数据是不需要区块链的另个地方,这些更适合数据库管理系统。数据不需要信任验证,就好像商店每天的数据都会记录在数据库中。如果使用区块链,来存储私密信息,就会成本很高。只有某些公司才能知道的信息,例如社交安全和病历都是存储在数据库中。能够通过公开验证系统使用的信息,都可以基于区块链。这些个人信息能够基于公钥加密算法,来在区块链上认证。
数据库适合用于:
快速在线转账过程
私密信息(不能对公众开放的)
需要快速处理的金融数据
不需要验证的数据
存储数据的应用
关系数据
区块链的需求是建立信任和透明。简单来说,它就是可以让任何人获得信息的公开账本。它可以帮助B2B转账,例如供应链,货品分布以及库存去验证信息。透明性可以帮助企业例如广告业,通过建立广告公司的更多验证,从而最小化欺诈行为。区块链,不是说大型数据记录就会有更多的信息验证。比特币是区块链首个成功部署,而且它也是作为价值转移和支付转账验证的系统。比特币的成功也提出了双花问题,可以让用户针对同个代币花销两次。比特币使用了能够使用时间戳顺序的来对转账进行验证。这就同个让系统同时处理转账,从而防止双花,这会是按照时间顺序来完成的。
数据库管理员会发现,区块链是不相关的。你不能在不同的区块链和相关数据创建联系。这就是这两者重大的不同,所以当信息需要相关性的时候,区块链就不适用于这些。
区块链适合用于:
资金转账
价值转移
可信数据的验证(身份,信誉,信用等等)
公钥验证
去中心化APP
投票系统
关于区块链和数据库,还有很多可以讨论。我们只是从技术角度,来发现其中的一些情况。其实数据库和区块链,并没有谁比谁好。他们都有自己的目标,以及根据你想要处理数据的方法,来选择不同的方案。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。