基于MongoDB的事务机制研究与实现

来源 :电子科技大学 | 被引量 : 5次 | 上传用户:coretech333
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
移动互联网行业很多热门应用在一开始的时候面对的用户量少,使用传统数据库便能满足数据存储需求,而且还有完善的事务功能支持,但是用户量上升之后,数据量呈指数规模上升,传统数据库的存储方案难以满足现阶段数据存储需求。在此背景下,No SQL数据库应运而生,其凭借高可用、高扩展等优良特性广泛应用于解决海量数据存储问题。但是由于No SQL数据库起步晚,发展时间短,仍有很多数据库特性没有完善,分布式事务便是其中之一。这导致企业需要在事务支持和海量存储之间艰难地平衡。目前解决分布式事务最广泛的方法是两阶段提交理论(2PC:Two Phase Commit)。2PC的正确性早已被证明,被企业广泛的应用。在拥有大量用户群体的互联网行业,2PC并未有效解决事务问题,Google在Megastore和Percolator的先后尝试均以失败告终,实践证明2PC难以有效解决高并发情况下的事务处理。究其原因,有如下两点:(1)2PC的实现需要同时锁定参与者的资源,系统的整体性能受限于木桶原理;(2)2PC在未决议的情况下存在长时间阻塞的情形,同样影响了系统性能。本文基于BASE理论提出一种最终一致性事务模型,并基于Mongo DB加以实现,弥补No SQL数据库的事务功能,解决互联网行业事务问题。最终一致性事务模型通过打破原子性,提供最终一致性,最大限度地利用每一个节点的可用性,从而提高系统整体性能。为了实现事务隔离性需求,论文将事务分为IET事务(Independent Execution Transaction)和NET事务(Non-independent Execution Transaction),论文介绍了对于两种不同的事务如何保证事务隔离,并且分析了最终一致性事务模型对ACID的支持。通过阅读Mongo DB源码,对Mongo DB模块进行深入分析并对其进行源码修改,增加协调者模块,实现了支持最终一致性事务模型的原型系统T-Mongo。最后,论文对T-Mongo系统进行了测试,主要包括T-Mongo的读写压力测试、事务性能测试、协调者测试。测试结果表明T-Mongo系统与Mongo DB具有相当的读写效率,保证了T-Mongo系统的读写可用性,其次T-Mongo系统具有良好的事务处理能力,能够满足高并发场景下的事务处理需求,对协调者的测试表明新增的协调者模块拥有优越的网络处理能力和读写性能。
其他文献
教育咨询是促进学生自主学习、帮助学生制定学习计划、发现并解决其学习中遇到的困难从而提高其学习效果的良好手段。日本各类学校已建立了科学系统的教育咨询制度。本文通过
“台湾民主国”注定只是一出短命闹剧16世纪后,随着全球贸易的拓展,西太平洋上的美丽岛台湾被抛人世界历史。先是荷兰人来,稍后西班牙人也来,再后荷兰人打跑了西班牙人,然后
<正>近日,编辑来到广州海工船舶设备有限公司采访,深为其敢为人先的精神感动。该公司坚持创新与服务并重,使企业不断发展壮大,实现了健康、平稳、有序经营。值得一提的是,广
利用Pro/E建立楔横轧模具和轧件的三维参数化模型,将其导入ANSYS/LS-DYNA有限元软件中,建立楔横轧轧制阶梯轴的有限元模型,对轴类零件楔横轧成形过程进行了三维数值模拟,得到
从复杂系统的角度出发,构建融资担保链风险传染模型,进而通过计算实验的方法模拟区域内担保业务风险的扩散规律。结果表明,风险既存在逐步减弱的分散机制,也存在增强的反馈机
在大地构造位置上,桂东北地区位于江南造山带与华南褶皱带的过渡部位,具有独特的构造地理位置。在精细测试一系列典型矿床及其有关的花岗岩年代学的基础上,本文根据矿床类型
生活离不开美,缺乏美的人生是不完美的人生。信息技术课中处处蕴涵着美。在信息技术课中挖掘教学中的美育因素,培养学生美的鉴赏能力,启发学生去感受美、创造美、传递美,是信
目的观察母鼠孕期和哺乳期暴露于壬基酚(NP)对子代肝脏增殖细胞核抗原(PCNA)的影响。方法试验分为2组:包括NP染毒组(NP 200 mg/kg·bw)和对照组(花生油)。母鼠受孕第6 d到仔
8 000 W大功率半导体激光器得到了工业化应用,熔覆加工效率得到显著提升。为了明确激光熔覆效率提升后的熔覆效果,采用8 000 W及3 000 W半导体激光器,通过粉末预置法在27SiMn
目的分析广西地区222例感音神经性聋患者常见耳聋基因的突变特点,为临床防聋及治聋提供参考。方法采用晶芯?十五项遗传性聋基因检测试剂盒(微阵列芯片法)对广西地区222例感音