论文部分内容阅读
在过去的几十年中,关系型数据库提供了完善和成熟的管理功能,然而随着Web2.0和大数据应用的不断落地,日益增长的互联网应用要求对海量规模及多类型数据进行有效管理,同时对系统的性能、扩展性、一致性等有了不同的需求。传统的关系型数据库管理系统(Relationship Database Management System,RDBMS)在处理海量数据方面显得力不从心。与传统的RDBMS相比,以MongoDB, Redis,CouchDB等为代表的非关系型数据库(No-only SQL,NoSQL)在处理海量数据方面具有扩展性强、灵活性高、性能好等优点越来越受到青睐。当前许多的应用都是构建在RDBMS应用之上的,随着NoSQL理论及应用不断成熟,许多企业开始考虑将存储在RDBMS中的数据迁移到NoSQL型数据库中,或将部分量大且非结构型的数据迁移到NoSQL型数据库中,从而采用关系和非关系混合架构。本文针对RDBMS向基于文档的NoSQL应用迁移和混合架构应用需求,对RDBMS中的关系向MongoDB中的集合转换方法进行了研究,结合MongoDB中处理关系参照完整性的方法,提出了表示关系间参照完整性的有向图表示模型,并建立了基于有向图模型的关系型数据模型向MongoDB文档模型自动转换算法,为传统RDBMS数据模式向MongoDB数据模式自动转换提供支持;针对MySQL中数据向MongoDB应用迁移需求,提出了基于日志的传统MySQL向MongoDB的数据迁移方案,实现了RDBMS中向MongoDB的同步算法。针对上述方案和算法,结合典型开源RDBMS--MySQL实例,设计和开发了 MySQL向MongoDB数据迁移适配器,对上述关系有向图模型的生成、基于有向图模型的转换算法以及数据迁移算法应用验证,对MySQL向MongoDB迁移与数据同步方法进行了实现和实现验证。