在如今的分布式数据库中,想针对所有那些PB级的数据获得一份可靠的快照并非易事。
这是IT界众所周知的事实:改变软件堆栈的一部分,你很有可能要改变另一个部分。如果举个明显的例子,只要看看大数据。
首先,大数据彻底改变了数据库领域,带来了一批新的“向外扩展型”技术。Hadoop、MongoDB和Cassandra之类的产品就体现了这一点:数据分布在多台商用服务器上,而不是被塞入到一台大型服务器上。当然,这么做的优点在于灵活性:若想容纳更多PB级的数据,你只需要添加另外一两台廉价的服务器,而不是“向上扩展”,支付大笔费用购买更庞大的服务器。
这一切很好,不过现在出现了一个新的棘手问题:备份和恢复。
知名调研机构Gartner的副总裁戴夫·拉塞尔(Dave Russell)说:“传统的备份产品处理数量非常多的数据时面临挑战。架构具有的向外扩展性对传统的备份应用软件来说也难以处理。”
拉塞尔表示,如今的横向扩展型数据库确实包括可用性和恢复方面的一些功能,但是它们通常不如IT用户已经习惯的那些功能来得强大、可靠。
如果出现系统停运,这个问题就会导致大企业岌岌可危。不过与此同时,一类新的数据保护产品开始浮出水面。Datos IO公司的RecoverX就是其中之一。
Datos IO的联合创始人兼首席执行官塔伦·塔库尔(Tarun Thakur)说:“如果你有一个传统的数据库,比如甲骨文或MySQL,它又是向上扩展的,那么始终存在持久性日志(durable log)这个概念。”
在这类情况下,如果出现了问题,该日志的副本就成为了备份。
在如今下一代数据库盛行的世界(数据分布在多台小型机器上),这并不是那么简单。
塔库尔解释道:“根本没有持久性日志这个概念,因为没有主系统,每个节点都在处理各自的事务。不同的节点可能获得不同的权利,每一个节点对于操作有不同的视图。”
这一方面是由于为了适应通常所说的大数据的“三个V”:数量、速度和种类而做出的取舍。具体来说,为了提供可扩展性,同时适应以越来越快的速度向我们涌来的海量数据,如今的分布式数据库背离了传统关系数据库通常承诺的“ACID”标准。相反,它们采用了所谓的“BASE”原则。
这是一个重大区别。最密切相关的是,相比传统数据库承诺在整个过程中有很强的一致性(也就是ACID中的“C”),分布式数据库而是力争实现所谓的“最终一致性”。更新会迟早体现在数据库的所有节点中,不过存在时间滞后。
塔库尔说:“如果你需要可扩展性,就需要放弃一致性――你必须得放弃其中一个。”
这样一来就很难为时间点恢复获得全局的一份可靠快照。451 Research的研究副总裁西蒙·鲁宾逊(Simon Robinson)表示,不仅更难在任何一个给定的时间点跟踪哪些数据可能转移到了分布式数据库中的哪个地方,如果数据出现了损坏,常常被“整合”到更新颖分布式数据库中的弹性功能(比如复制)也无法保护你。
他说:“你刚刚复制了那个损坏的数据。”
本月早些时候,Datos IO推出了RecoverX,借助功能特性(包括所谓的可扩展版本控制和语义重复数据删除),解决那些问题。该公司表示,其结果是,与集群一致的备份不仅节省空间,还能够以原生格式出现。
索维克·达斯(Souvik Das)就在不久前还是第一资本汽车金融公司(CapitalOne Auto Finance)的首席技术官兼主管工程技术的执行副总裁,他对备份难题可是深有体会。
达斯表示,使用了多年的传统数据库后,第一资本早在几年前进行了一次“巨大的转变”,包括推出新的分布式技术,比如Cassandra。现在,他是面向医疗保健行业的初创公司Grand Rounds主管工程技术的高级副总裁。
这就意味着为备份和恢复寻找一种新的策略。
他解释道:“大多数备份厂商和软件通常适应它们备份的系统的类型。”
他表示,如果使用老式备份产品的同时使用新式的分布式数据库,可能会带来麻烦。
达斯说:“不是该软件会因不知道如何备份新的数据存储系统而完全失效,就是它会以一种很不理想的方式运行。我们知道,那样的话,我们就要使用不同的备份解决方案。”
达斯表示,第一资本一直在评估Datos IO以及这个领域的另一家大厂商:Talena。
提供较传统备份产品的厂商也在针对大数据,逐步调整自己的技术。
451 Research的罗宾逊说:“老牌的备份厂商通常需要一些时间来支持新颖的技术。”
他补充说:“回到10年前,最初为VMware虚拟机轻松进行备份是件很难的事情。这就给了Veeam之类的厂商大好机会,得以从老牌厂商的眼皮子底下进入并抢夺虚拟机备份市场。”