论文部分内容阅读
得益于清晰的语义、易于使用且有成熟的关系代数理论为基础的SQL语言,关系型数据库在近20几年来非常流行。关系型数据库提供了非常成熟和完善的结构化数据的管理能力。然而,近年来信息技术快速发展,人们需要对海量规模、不同类型和结构的数据进行有效管理,对数据的规模、类型、一致性,对数据库的扩展性、使用成本等,有了不同的需求。关系型数据库因对数据在结构和关系等方面过于严格的限制而难以满足需求[1][2]。以HBase[3][4]、MongoDB[5]、Cassandra[6]等为代表的非关系型数据库(统称为NoSQL数据库)开始流行,非关系型数据库支持对海量数据的管理,支持结构化和半结构化的数据,能够很好的满足一部分系统对海量数据的需求[7]。现有的系统大部分都使用关系型数据库,越来越多的现有系统需要迁移到非关系型数据库,同时越来越多新开发的系统选用非关系型数据库。当前,人们在使用非关系型数据库时面临着严重的问题之一:没有一个有效可行的方法进行从关系型数据库到非关系型数据库的迁移。人们需要一个行之有效的迁移方案,同时确保新系统稳定和性能。本文将以MongoDB为研究对象重点讨论这个问题。我们基于非关系型数据库的数据模型提出支持关系代数的形式化关系模型,这个形式化的模型允许我们评估和比较关系数据库和MongoDB的能力集,分析和评估可行的迁移方案,便于促进新的非关系型数据库的优化。本文还分析整理了非关系型数据库的模式设计方法,讨论如何利用非关系型数据库灵活的模式,设计满足系统实际应用需要的数据库。最后,我们依据这些讨论结论提出了从关系数据库到MongoDB的迁移方案,从而提高迁移效率、降低成本。