摘要
随着Web2.0网络应用的兴起和大数据技术的发展,传统的关系型数据库(ORDBMS)已经难以满足海量数据的存储需求.非关系型数据库(NoSQL)因其高扩展性、高伸缩性、高可用性和容错性等特点,得到了越来越多的应用.作为一种新兴的NoSQL数据库,MongoDB数据库因具有模式自由、易于扩展、故障自动恢复、支持自动分片等特点,被广泛应用于大数据处理与分析中.文中首先介绍了MongoDB自动分片架构原理和实现机制,然后分析了MongoDB自带的负载均衡算法,其虽能使各个节点数据量达到平衡,但没有考虑各个节点的负载均衡.为了解决节点的负载平均问题,在原算法基础上提出了一种基于节点实时负载的负载均衡改进算法,改进算法的主要思想是引入节点负载指数作为chunk块迁移的一个判断条件.通过搭建测试环境并进行实验,验证了改进的负载均衡算法可以有效地均衡分片中的数据,提高集群的并发读写性能,从而证明了算法的有效性.
基金项目
江苏省自然科学基金-青年基金(BK20140868)