您听说过数据库归档吗?它能为解决数据库性能下降难题作出怎样的贡献?
每个数据库管理员都会遇到这样的困惑:随着业务的不断进行,数据库文件大小逐渐增大。由此给数据库管理工作带来很大的困难,一方面要为在线业务提供越来越大的高性能磁盘容量,另一方面数据库的工作性能却越来越差。一种新兴的数据库归档技术则能很好地解决这个问题。
何谓数据库归档
简单地讲,数据库归档技术就是一种保持在线数据库规模大体不变、为用户应用提供稳定的数据库性能的方法。具体做法是,将数据库中不经常使用的数据迁移至近线设备,将长期不使用的数据迁移至文件形式归档。随着应用需要,数据在在线、近线和文件文档之间移动,比如应用需要访问许久以前的数据,它的物理位置在近线设备则自动移动到在线设备。而对用户的应用而言,这些都是透明的,就像所有数据都存放在在线设备一样,不会对数据库应用产生任何影响(见下面的原理图)。
数据库归档把信息生命周期管理的概念引入到应用程序数据管理中,可以监控、分析和预测数据量的增加,利用在线的数据库随时识别并定位不活动的数据或已经完成的业务交易,把长期不用的数据封装归档,这样就大幅降低活动数据的规模,数据库等应用程序运行时的效率可以大幅提升。经过归档,即使在应用程序本身已经废弃的时候还能够重新利用其数据,同时保持实时访问已归档数据的能力。
OuterBay公司(已经被HP公司收购)是数据库归档领域的一个著名厂商,其提供的数据库归档产品主要有三种:Relocator进行在线数据归档、打包归档产品将数据库归档成为文件(.XSD或者.XML格式)、子集拷贝产品为用户提供用于测试的数据库拷贝。
与文件归档显著不同
我们首先谈一下归档的概念,按照SNIA(存储网络工业协会)的定义,归档是数据集合的一致性拷贝,通常用以长期持久地保存事务或者应用状态记录。一般情况下,归档通常用以审计和分析的目的,而不是用于应用恢复。归档之后,文件的原件一般会被删除,并且需要通过前台的操作来恢复文件。普通的文件归档只能够对文件进行操作,而且归档后的文件一般不再产生变化。而数据库归档则不同,数据在归档之后仍然存在改变的可能,也随时会变成在线的活动数据。
OuterBay有两个主要的竞争对手,Princeton Softech和Applimation。前者产品主要针对大型机系统设计,而且产生的文件是专有格式;后者公司规模较小,其产品也可有效识别出数据库中访问频率较低的数据,并将其移出数据库,存入在线的历史数据库中。
事实上,所有的数据库厂商都提供了类似的数据库归档功能,但目前没有形成商用产品,用户可以使用命令或者编程进行相关操作。数据库归档的概念本身十分简单,把一条记录从生产数据库插入到历史数据库中,然后把该条记录在生产数据库中删除就实现了数据库归档的功能。
但是在线数据库需要高可靠性、错误处理、审计以及异常处理(如断电、数据库崩溃)等高级功能,这些都只能由专业的数据库归档产品提供。
对备份/恢复的影响
备份是存储管理员最重要的工作之一,如果没有进行数据库归档,那么不仅需要备份整个大型的数据库,而且备份窗口要求很长。在进行数据归档之后,由于已归档的数据库部分可以随时进行备份而不会影响在线数据库的应用,这部分数据库一般为长时间不活跃的数据,因此备份工作很容易完成,而在线的数据库部分也因为进行数据库归档后而瘦身,备份数据量减少,备份窗口减小,从而整体减少了需要备份的数据总量。
而对数据进行恢复的时候,可以在短时间内首先完成在线数据库恢复,之后在在线数据库工作的同时进行其他数据的恢复工作。
数据库归档市场目前还处于起步阶段,但有数字表明,目前这一市场的年复合增长率已达到50%,呈现出高速增长的态势。据Enterprise Storage Group顾问公司今年1月发布的报告显示,2006年,全球总体数据归档容量将达到4000PB以上,而到2010年,这一数字将上升到27000PB,其中,亚太区将成为增长最快速的地区。 |