论文部分内容阅读
当今科技发展日新月异,社会信息化程度越来越高,传统关系模型数据库已经无法满足信息化社会对数据处理的要求,新的数据库技术发展已经愈演愈烈。非关系数据库(NoSQL)技术不断冲击着传统关系数据库,NoSQL数据库替代关系型数据库的争论越发激烈。由于目前这两种数据库的对比分析大部分还是集中在两种数据库的对数据管理优劣的原理概念分析讨论中,具体的用实验比较定量的分析性能差异还很少。本文则通过实验进行分析研究两种数据库的性能差异,进而为应用实践的选择时提供可靠的实验依据,并在之后对两数据库的统一查询模型的建立进行研究。本论文通过对关系与非关系数据库的比较与分析,并对它们的主要典型代表Microsoft SQL Server和Mongo DB进行实验测试,对它们的性能做定量的对比和分析,得出以下相关结论:(1)随着数据的增长,Mongo DB一般比SQL Server的性能表现要出色。(2)插入数据时,Mongo DB要比SQL Server表现的更好,但若SQL Server采用直接SQL命令代替实体框架就能够大幅度改善其性能。(3)更新数据时,如果查询涉及到主键字段Mongo DB比SQL Server表现更好;查询涉及非键字段时,SQL Server比Mongo DB表现更好。(4)选择数据时,查询涉及键字段或连接操作时,Mongo DB的性能都大幅超过SQL Server;但查询涉及非键字段时,SQL Server比Mongo DB性能更好。当遇到聚合函数功能时,SQL Server的性能比使用Map-reduce方法的Mongo DB更好,但当Mongo DB用新的聚合框架Aggregation Pipeline时,其性能得到了显著改善,甚至比SQL Server表现更好一些。这项实验研究的结果将客观的表明人们在实践应用选择数据库时,从客观具体的性能角度考虑,选择Mongo DB是可行的。最后本文还通过将Mongo DB数据转换为三元组的形式提出了两数据库统一查询的理论框架模型,为数据混合存储于关系型数据库和非关系型数据库的情况提供了统一查询的理论基础。