文章:如何在敏捷开发中做好数据迁移

阅读数:395 2009 年 3 月 10 日

话题:敏捷架构文化 & 方法

数据迁移是件看似简单,但做起来让人烦恼的工作。盲目实施会导致脏数据,数据丢失,业务逻辑混乱,破坏数据建模等很多问题。在现代企业级系统应用中,数据 迁移的需求比比皆是。利用敏捷开发常用的测试驱动、持续集成,并引入精益软件的开发技巧,能够高质量的保障数据迁移的顺利进行,为高质量的软件开发打造坚 实的数据质量基础。

在企业级应用系统中,新系统的开发,新旧系统的升级换代,以及正常的系统维护,不可避免地涉及到大量的迁移工作。而在一个以数据为核心的业务系统中,数据 的迁移更是无处不在。比如:在以数据仓库为架构原型的系统设计中,ETL(抽取,转换,装载)部分的实现就是一种数据迁移;对大型数据系统的分布式实施, 数据迁移就是整个实施过程的主要部分。而在敏捷实践中,渐进式的数据库开发,更是涉及到大量的数据迁移和同步工作。

我们时常会听到用户提出这样的要求“我们并不过于关心应用的好坏,但需务必保证数据准确”。的确,在以数据为运营基础的行业里,数据质量本身就是软件质量 的权重部分,尤其在电信、金融和控制领域里,这一特征表现的格外明显。数据迁移也是敏捷开发中相当重要的环节,它影响着各个发布版本的数据质量,而数据质 量又决定着系统的有效性和可靠性,因此高质量地完成数据迁移不容忽视。

数据迁移往往被视为一件很简单的工作。在很多人眼里,数据迁移仅仅是用 sql 语句向相应数据表装载数据的过程。但在实际操作中,数据迁移涉及到很多层面的 因素,如用户需求,系统功能,数据库建模等,若出现问题,将导致开发进展缓慢或质量不高。常见问题有业务系统逻辑模糊、脏数据、遗留系统的技术债和管理债 等。那么如何有效的避免这些问题,提高迁移质量呢?

本文将以 ThoughtWorks 中国公司与客户合作的 CRM 项目为背景,为读者介绍如何在敏捷开发中高质量地处理数据迁移工作,从而在数据层面提高系统质量。

查看文章全文如何在敏捷开发中做好数据迁移

相关阅读:[ ThoughtWorks 实践集锦(1)] 我和敏捷团队的五个约定