当黑客潜入目标服务器,计算机的日志系统会悄无声息地记录下其所有行为,然而有经验的黑客往往能精确发现并改掉这些日志,悄然离去不留下一丝蛛丝马迹。于是人们一直思考,是否存在一个完全无法篡改的日志系统?区块链技术的出现,让这一期待有了实现的可能性。
说到区块链,也许有的人还热衷于追涨比特币,有的人却已通过比特币的底层技术区块链在各个领域掀起巨浪,金融、支付、云计算、大数据、物联网,毫无例外。我们可以不主动了解区块链,但却阻止不了区块链进入自己生活的方方面面。
近,国内区块链技术服务商众享比特提出了一个其自主研发的ChainSQL技术,将区块链技术运用于IT数据库,不仅能实现数据库日志信息不可篡改,还能让数据库拥有区块链去中心化的特性。
这种ChainSQL技术是如果做到的?
区块链的本质是分布式的、去中心化存储的一种链式数据结构,其本身就具有分布式、去中心化、信息不可篡改的特点。ChainSQL技术可以把对数据库操作的每一条指令都转换成一笔交易,然后在区块链网络中通过密码学算法达成共识,这样数据库操作日志就被完整地记录在区块链网络上,从而提供不可篡改且能在任何时间点恢复的数据库服务。
简单来说就是:1.数据库的操作转化成区块链交易2.区块链的交易是不可篡改的3.所以数据库的操作日志也无法被篡改。
区块链如何变革数据库灾备系统?
基于ChainSQL技术原理,目前他们已经推出了AlAisc(众享多活数据库中间件)和AlBisc(众享数据库灾备中间件)两个产品,分别对应异地多活容灾和数据多点备份两个场景。
许多企业会建立多个数据中心来满足异地和灾备的需求,这些中心往往存在“主从关系”或者”主备关系“,这样就可能导致许多问题,比如:
1.既然存在主从关系,中心化数据库容易成为黑客或者内鬼的目标。
2.当主中心故障时,备中心在接替主中心时需要较长的时间、关系复杂,往往会严重影响用户的业务办理。
也就是说:擒贼先擒王,主中心一旦扑街,很麻烦!
通过AlAisc多活中间件,可以让各个数据中心形成一种“异地多活”的架构,所谓“多活”就是“多中心化”,或者我们常说的“去中心化”。在“多活”架构下,数据中心将不再有主次之分,每个数据中心均为生产中心,并互为“备份”。
“去中心化”让黑客失去了主要的攻击目标,擒贼先擒王?“多活”架构将让数据中心从皇帝独裁时代进入民主时代。
区块链如何变革数据库灾备系统?
那么AlAisc多活中间件是如何让多个数据中心(库)形成多活架构的呢?
区块链×数据库多活
先来科普一下中间件的概念。中间件就是介于应用层和系统层、数据库层之间的服务程序,用来连接应用程序和数据库。比如常见的消息中间件,就相当于你想给美国发一个邮包,只需要把邮包交给邮局,填写地址和收件人,至于运送过程中的一系列问题你都不需要关心了,这里邮局就相当于中间件。
如下图所示,每个AlAisc多活中间件上下分别连接着应用程序和数据库,而各个中间件左右相互连接,将原本分散的节点形成一个共识网络,在这个网络中,节点没有主次或主备之分。
区块链如何变革数据库灾备系统?
当应用程序向数据库发来一个指令,多活中间件先将该指令发送给网络中的每一个节点,所有节点达成共识,认定操作合法后,中间件才会将数据操作提交到本地数据库。
这种共识机制可以保证各个节点的数据拥有高度一致性,每个节点上的操作都会迅速发送给所有节点,只要其中一个节点遭到非法的篡改,在共识时该节点就会被判定为坏节点,引发警告。
比如小雷在银行的A节点收到了一万块年终奖,A节点会迅速告诉所有BCDF等其他所有节点:”小雷刚才收到了一万块。”如果D节点收到的信息被篡改,说“小雷刚才只收到了五毛钱”,那么其他节点就会指认D节点说得不对,认定为其为异常节点并进行告警。
在多活架构中,一个节点遭遇破坏都可以迅速从其他任何节点上获取数据,在极短时间内恢复数据完整性。
区块链×数据库灾备
用于灾备的AlBisc众享数据库灾备中间件同样是基于该原理,不同的是,AlBisc灾备中间件介于企业数据库生产节点和灾备节点之间,让各个灾备节点和生产节点一起构成一个共识网络。备份时,中间件会提取本地数据库操作日志,以交易的方式达成节点共识并存储在区块链上。恢复数据时,任意节点都能在区块链上检索到相应数据对应的交易,转换成数据库日志,恢复到本地数据库。
区块链如何变革数据库灾备系统?
这种基于区块链共识机制的备份方式,可以让多灾备中心可以同时备份数据,并且确保每个灾备中心的数据同时被确认和写入中间件,保持多副本间的数据强一致性。在多灾备中心情况下,AlBisc可以采取轮询的方式在线升级各灾备中心的软硬件,升级过程不会对生产中心和其他灾备中心的业务产生任何影响。
区块链技术的应用范围其实非常广泛,这次发布的两个产品将在数据库灾备领域实现真正落地应用,未来他们还会将该技术运用到更多领域。