摘要
PAGE
PAGEI
目录
PAGE
PAGEIV
关系型数据库向MongoDB数据库数据迁移的研究
摘要
近年来随着互联网的迅速发展,移动互联网平台每天都必须承受海量的访问请求,数据量不断增大,而这些数据的背后是对存储巨大记录数据表的读写操作。关系型数据库的极限一直遭受大量请求的冲击,当关系型数据库达到一定规模的时候,它的读写性能下降是十分严重的。因为关系型数据库的局限性,可扩展、高性能和高可用性的NoSQL数据库得到了越来越多人的喜欢。NoSQL具有分布式、开源和可扩展性等特点,NoSQL存储结构简单,虽然不能取代关系型数据库,但在相比传统型数据库在海量数据存储时有着性能上的优势,所以从关系型数据库到NoSQL数据库数据迁移的需求也因运而生。
关键词:模式转化数据迁移NoSQL
论文类型:理论研究
目录
PAGE
PAGEIII
目录
TOC\o2-3\h\z\t标题1,1摘要 I
目录 II
1绪论 4
1.1研究背景与意义 4
1.2国内外研究现状 4
1.2.1国外研究进展 4
1.2.2国内研究进展 4
1.3课题研究内容 5
2需求分析与相关理论技术 5
2.1需求分析 5
2.2相关理论技术 6
2.2.1关系型数据库理论基础 6
2.2.2NoSQL数据库理论基础 7
2.2.3范式设计与反范式设计 8
2.3本章小结 9
3关系型数据库向MongoDB数据迁移框架的研究 10
3.1模式转化方法研究 10
3.1.13.1.1关系型数据库有向图模型 11
3.1.2MongoDB数据模型和有向图的操作 12
3.1.3有向图模型到集合模型的转换算法 15
3.1.43.1.4数据类型转化 17
3.1.53.1.5外键转化 19
3.1.63.1.6索引转化 20
3.2数据迁移 20
3.2.1表的插入排序问题 20
3.2.2内嵌或引用问题 21
3.2.3索引插入问题 22
3.3本章小结 22
4关系型数据库向MongoDB数据库迁移框架系统实现 22
4.1总体设计 22
4.2模式转化的实现 24
4.2.1模型构建的实现 24
4.2.2数据类型转化的实现 26
4.2.3外键存储的实现 28
4.2.4索引存储的实现 29
4.3数据迁移模块的实现 30
4.3.1表的插入顺序排序实现 30
4.3.2文档内嵌或引用的实现 31
4.4本章小结 32
5测试 32
5.1数据迁移测试 32
5.1.1测试步骤 32
5.1.2测试结果 33
5.2数据查询测试 35
5.2.1测试方案 35
5.2.2测试结果 36
6总结与展望 38
致谢 39
参考文献 40
PAGE
PAGE38
绪论
研究背景与意义
关系数据库已经成为企业数据管理三十多年的基础。但是,随着新的数据源的不断增长和用户的增多,我们现在构建应用程序的架构已经不适合了,正在迫使关系型数据库的效率濒临临界点。这会抑制业务敏捷性,限制可扩展性和应变预算,迫使越来越多的组织迁移到MongoDB或NoSQL数据库等替代方案[1][2]。
近年来,大数据蓬勃发展,归根结底是因为互联网平台数据的日益增多,每天都还有大量的数据进行处理,而这些数据都是依靠着数据表的存储,对于关系型数据库,它的性能受到数据量的影响很大,当到达一定规模,读写性能就会到达瓶颈。为了解决以上问题,高可用性的NoSQL数据库得到了越来越多人的喜欢。相比于关系型数据库,NoSQL存储结构简单易懂,在存储和处理海量数据上更有优势。虽然分布式,可扩展和开源是它的最大特点,但关系型数据库是它不能够替代的[4],所以从关系型数据库到NoSQL数据库数据迁移的需求也因运而生。
国内外研究现状
国外研究进展
相比于国外,我国在数据迁移方面还处于不成熟阶段,在可靠性和用户体验方面还需向国外学习。数据的迁移的种类是多种多样的:不同的数据库管理系统间迁移,例如,ORACLE迁移到MYSQL;不同的数据存储结构间的迁移,例如,ORACLE迁移到MONGODB。不管是哪种类型的迁移,数据结构也是需要改变的。对于同一个系统,版本的变化会导致数据结构发生变化,要想实现数据的完美迁移,必