论文部分内容阅读
研究大数据存储的意义很重要,时代在发展,人们的生活方式变为无纸化,我们把生活中的点滴记录写成博客,文章发表在计算机,取代之前写在日记本上;在公司开会,我们把会议的主要内容记录在计算机中,取代之前到哪儿都带纸笔的习惯;我们的业余生活也由以前的坐在一起聊天,变成自己坐在家里上网,玩游戏,当然这些网络游戏也会产生大量的数据保存在计算机中。如此种种,我们迫切需要庞大的存储空间来完成我们日益膨胀的数据体积。人们一开始寄希望与生产高质量,高容量的硬件设备。但是事实表明,这并不能满足时代的需求,我们需要一种更高明的手段来解决如此大的存储量需求。事实证明,经过最近几年分布式存储技术的发展,分布式存储不仅可以提供可扩展的存储容量,还开发新的存储方式,以及查询手段,配合各种新兴的技术,我们可以更容易,安全,高效地处理海量数据。Mongo DB是当今非常流行的非关系型数据库之一,由于支持分布式存储,因此,在大数据时代被广大用户采用。但是,由于Mongo DB自身分片技术的限制,数据在各个节点分布并不均匀。大数据时代,海量数据如果分布不均衡会造成后期数据搬迁,耗费大量资源。基于一致性hash算法的负载均衡技术可以使Mongo DB在不同节点数据分布均匀,保证系统正常运行。本文利用数据存储概念,数据查询原理等理论对典型的内存优化技术包括:加大虚拟内存和建立缓存机制,和布式存储技术包括:P2P分布式存储系统和Mongo DB自动分片技术等大数据存储技术进行研究分析,指出把内存优化技术与分布式存储技术相结合能更好地面对大数据时代带来的挑战。经过实验对比,基于一致性hash算法的负载均衡技术比Mongo DB自带的范围分区技术更优越。当向数据库插入新数据时,数据将存在哪个分区是不确定的,如果出现在负载很多的分区,而负载很少的分区却没有数据,这势必造成数据分布不均衡。由于Mongo DB自身的限制,后期必然会引起大量数据迁移,造成内存不足问题。本文使用简单数据类型键上创建索引,且是唯一索引,这样可以有效减少内存占用内存使用状况。索引是数据库技术应用过程中不可缺少的一项技术,且占用内存极大,添加索引能够提高搜索速度,这在任何一类数据库中都是必须的要求。Mongo DB是内存数据库,在可能的条件下应该节约内存使用情况,减少不必要的损失。索引优化就是一项有效措施,而且不浪费过多的资源。本文通过对Skip函数进行分页查询的研究实验,证明当查询环境变化时,同样的查询操作执行结果是不一样的。利用Mongo数据库自带函数可以实现代码简化,易于阅读。但是,对于函数的认识不透彻,不全面,会导致后期查询等操作效率低下,影响整个系统的高效运行。