麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
904
2023-04-14
你知道什么是区块链数据库吗
2012年,我去建设银行证券业务部开通买股票的账户。七七八八签了一大堆文件,我一张纸都没看,柜台小妹让我在哪签字我就签哪。最后我问,“这些文件我可不可以扔了?”人家回答,按相关法规,我们需要至少保存20年。
区块链数据库,这个名字听起来太拗口,很难理解。遇到这个名词,我脑子里一直无法想象出一个对应的“视觉化图景”。说数据库,我们能想象出一张表;说区块链,我们能想象出一个一个区块首尾相连。但区块链数据库是个什么玩意?
当时我就被里面讲到的区块链数据库的概念吸引了。为了搞明白这个概念,我追着这个项目研究了很久。
我们熟悉的数据库都是为特定要求定制开发的。比如你自己做一张Excel表,用来记录你的炒币交易纪录,这就是一个数据库。一般的定义是,数据库是一定数据格式存储的,和应用独立的数据集合。用户可以对数据库进行增、删、改、查等操作。
而区块链是一种不可删除的分布式账本,对区块链数据的“增”只能以“交易”这种方式来执行。就这两特性就和我们熟悉的数据库相差太远了。
我们需要把理解下沉一层,把区块链当成是“数据库的数据库”。或者可以这样理解,“区块链”是没有精炼的原油,而“数据库”是石油精炼后的汽油。
对区块链的操作,只有一条指令——交易。而对数据库的操作,有四条指令——增、删、改、查。要把区块链当成数据库来使用,需要将对数据库的操作指令都封装成交易,一个交易对应一个数据库操作。区块链网络会以交易的形式记录下所有对数据库的操作,而且会记录交易的时间顺序。
用户以发交易的方式对区块链发起操作,区块链会记录所有的交易,“应用”在区块链上读取提炼相关交易,形成特定功能的数据库。
使用区块链这种方式来设计数据库有什么好处呢?
区块链网络会记录对数据库的所有历史操作,历史操作不可更改。完美满足证券登记结算管理办法规定的数据需要保证20年。
区块链会记录交易的时序,所以数据可以在任意时间恢复到任意位置。
币圈交易所有时候会搞“回滚”,被黑客攻击了,可能就会“回滚”。你去google搜一下,主流交易所都干过这事。这就需要数据库记录下所有的历史操作和时序。
区块链数据库可以做到公开透明,也可以通过数据加密的方式做到保密。完美。
区块链数据库可以做到无需授权即接入。使用传统的数据库技术,一定会有严重的权限等级,谁是管理员,谁是一般用户。但区块链数据库,可以不需要权限等级,让任何用户都无障碍进接入进来,不需要授权,不需要注册。因为这玩意是去中心化的。
当然区块链数据库也有很多缺点了。
能承接的数据量严重有限。传统数据库,你想搞多大就搞多大。现在BTC网络,10分钟也就处理1M的数据,运行了10年,积累了280G的数据。
使用区块链很贵,成本很高。用户写一笔交易都要花一笔矿工费。现在往BTC写数据要超过50块钱1KB。当然也有便宜的,BCH平均是2分钱1KB。什么数据都往链上整的想法,就要受到成本的约束。传统的数据库,相对来说价格可以忽略不计。
利用区块链来设计数据库,需要找到独特的场景,金融领域是一个不错的选择。
来源: 闪电HSL
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。