数据库平滑演进或者说数据平滑迁移方案及步骤

来源:互联网 发布:mac下载flash好慢 编辑:程序博客网 时间:2024/05/19 20:47
背景:
随着系统环境的变化(如:数据量过大等),一个系统的数据库结构需要跟随调整优化,以满足业务要求。特别是在互联网应用系统的开发过程中,数据库的变化比较频繁,这时必须从技术上保证数据库能平滑、透明地进行迁移。

数据库平滑迁移需要遵守的严则:
1. 尽量透明, 迁移过程不能影响业务运行
2. 如果数据量大,迁移过程可能很慢,但是升级必须迅速。也就是说将业务运行所依赖的数据切换到迁移后数据的过程应该是迅速的,要不会影响业务运行,升级越慢,影响越大
3. 前期必须设计迁移失败预案,保证迁移一旦失败,可以迅速恢复还原
4. 对数据库的迁移应该越少越好,如无性能提升等好处,就不要进行数据迁移。数据迁移一般都是伤筋动骨,如果前期计划、测试不充分,很可能导致业务不能运行

数据库平滑迁移步骤(ORACLE):
1. 建立新对象,将旧对象中必要的属性迁移到新对象;对象如果是表的话,则需要将表字段结构、数据、索引迁移到新对象
2. 如果应用程序直接访问旧对象本身,则需要备份旧对象(如重命名方式),以原旧对象名称建立中间对象;中间对象是基于新对象实现,中间对象必须可以迅速在旧对象与新对象之间切换,在Oracle数据库中间对象的最佳实现方式为Synonym
3. 如果应用程序是通过中间对象访问旧对象,则无需备份旧对象,将中间对象的实现升级到新对象即可
4. 通过DBA手工或者定时程序方式对旧对象归档、清除