论文部分内容阅读
伴随着互联网以及信息网络技术的迅猛发展,人们迎来了海量数据的时代,每天都面临着大量的数据信息,个人通过互联网产生的数据也在呈爆炸式增长。从传统的文本数据发展到文档、视频、音频以及图片等多种数据类型,这种从结构化数据到非结构化数据种类的转变,对个人数据的存储也提出了新的要求,同时给互联网数据的存储管理带来巨大的挑战。传统的关系型数据库只提供对结构化数据的存储及管理,对于海量的非结构化数据难以应对,所以新兴的非关系型数据库技术为海量、异构的非结构化数据存储带来了契机。本文针对瘦客户端用户海量数据的存储需求,提出了海量数据的分布式存储解决方案,设计实现了基于HBase的大规模数据存储系统,解决了各类海量数据的统一存储问题。首先,根据瘦客户端大规模数据存储的需求,改进了网络磁盘应用,并实现了将数据从原有数据库到HBase数据库的迁移。利用HBase数据库为瘦客户端用户在云端分配一个私人存储空间,瘦客户端用户可以进行各种文件的上传、下载操作,通过网络磁盘将用户数据转移到云端统一存储和管理。其次,云端数据的存储采用HBase集群的方式,利用HBase这种新型的数据库的列式存储以及可伸缩性,在低廉的硬件环境中搭建高效的存储集群等特性,实现对用户数据的分布式存储。通过将多媒体瘦客户端的网络磁盘用户的存储空间挂载到HBase分布式集群中,实现对用户数据的高效存储。再次,针对HBase集群在存储大规模数据时存在的一些弊端进行改进,主要对数据插入和读取的有关机制进行了优化。针对用户存储的不同大小的数据,分别进行存储,由于大数据在存储的过程中,很快就会使存储它的Region达到分裂的阈值,这样会频繁的触发它的分裂和合并操作,而进行这种操作的过程中会阻塞用户的写入进程,从而影响集群的插入性能。通过将大数据单独放在一个独立的列族实现对大数据的高效管理,同时改进数据存储中的Flush、Compactin机制。对于HBase自身的日志备份过程,通过引入远程日志过程,确保在数据存储可用性和持久性的前提下,实现对系统时间性能的提高。最后,针对设计的大规模数据存储解决方案进行了性能测试,通过实验测试,本解决方案是切实可行的,并且无论是小数据还是大数据的读写都较HBase自身的方案在时间性能上有显著的提升。