论文部分内容阅读
随着互联网,特别是移动互联网的高速发展,互联网+概念的兴起,使其已经延伸到了很多新的领域,随之而来的就是数据量爆发式的增长。如何高效性的存储和管理这些纷繁复杂的海量数据,已经成为了一个亟待解决的课题。而传统的关系型数据库由于其自身的特性,在面对海量数据的高并发性,高可用性,高扩展性遇到了巨大的困难和挑战,新的数据存储和管理技术就成为了热门的研究领域。NoSQL技术被视为海量数据存储和管理的一个有效的解决方案,已经被广泛应用于各个领域。本文基于企业Teampel项目的实际数据存储需求,提出了MySQL和MongoDB两种不同数据库轻量异构的存储方案,既可以发挥关系数据库的事务特性,又满足了海量数据存储和管理的需求。本文主要完成如下工作:(1) 在查阅大量资料的基础上,详细阐述了NoSQL的概念和理论基础,对比分析了主流NoSQL系统的实现原理和特性,最后在与传统关系数据库进行了多方面的对比分析得出:在海量数据的存储和管理的问题上,NoSQL系统是优于传统关系数据库的解决方案。(2) 详细分析了项目数据存储的需求,设计并实现了MySQL Master-Master Slaves和MongoDB Replica-set Shard数据库架构模型,以及MySQL与MongoDB基于MySQL应用层事务的轻量异构的解决方案。(3) 对已架构的数据存储系统进行了多种验证性测试并分析了测试结果,证明了该数据存储系统的可行性,并且满足本企业项目的数据存储需求。本文设计和实现的基于NoSQL的数据存储系统已经应用到了公司的Teampel项目中,解决了该项目海量数据存储和管理的难题。本系统不仅满足了本项目的数据存储需求,提供了可商业实施的数据库架构方案,而且该系统具有较高的普适性,可以为其它企业和开发者解决类似问题提供一定的借鉴经验。