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