System and data management method of the invention discloses a HBase database management method, including: the response data generated for a write request, stored in the HBase database to store HBase records; the to be included in the record store HBase content exceeds the preset threshold value of the word size field as a big field, extracting the the contents of the fields generated large field data blocks; to save the container file in HDFS file system written in the large field data block; position the large field data blocks in the HDFS file system as the index, to be large field stores in the HBase record content is replaced by the save the index; in the HBase to store HBase records. The invention can play very well on HBase and HDFS advantages, while avoiding HBase on large field processing, and HDFS in the storage of small files when the excessive consumption of resources shortage, to better meet the business needs, and achieved good results in practical application.
【技术实现步骤摘要】
一种HBase数据库的数据管理方法及系统
本专利技术涉及数据库相关
,特别是一种HBase数据库的数据管理方法及系统。
技术介绍
随着业务量的激增,IT运营系统需要处理的数据量与访问量也随之猛增,传统的以Oracle为代表的数据库解决方案因其效率低下、扩展性差等问题,已经远远不能满足用户的存储与查询需求,而逐渐让位于以HBase为代表的新一代分布式数据库。HBase–HadoopDatabase,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群。HBase对大小在千字节级的记录可以很好的支持,但受其实现原理的限制,对业务中常见的记录与资料文件(如表格、文档、图片扫描件等,即是本专利技术所描述的大字段,典型大小从几百千字节到几十兆字节)联合存储,则不能很好的支持,会造成冗余磁盘文件读写、并发度不高、查询低效等问题。由于从业务角度来看,是以记录为主,文件内容是记录的一个组成部分,问题的实质是HBase记录中的某个或某些字段超出常规大小,故将其统称为HBase大字段存储问题。而针对此问题的传统解决方案有:大字段单独存储到磁盘、大字段单独存储到HDFS(HadoopDistributedFileSystem,简称HDFS,是一个分布式文件系统)都有各自的缺陷,而不能较好地从整体上解决上述问题。以下分别阐述每种方案的缺陷:1.将文件内容作为业务记录中的一个字段,直接记录在HBase中。这种方案会导致严重的HBase性能问题。HBase服务端收到写入请求后,向表中写入数据时是先向内存中 ...
【技术保护点】
一种HBase数据库的数据管理方法,其特征在于,包括:响应数据写入请求,生成用于在HBase数据库中保存的待存储HBase记录;将所述待存储HBase记录中所包括的内容的大小超过预设字段阈值的字段作为大字段,提取所述大字段的内容生成大字段数据块;向保存在HDFS文件系统中的容器文件写入所述大字段数据块;将所述大字段数据块在所述HDFS文件系统中的位置作为索引,将所述待存储HBase记录中的大字段的内容替换为所述索引;在HBase中保存所述待存储HBase记录。
【技术特征摘要】
1.一种HBase数据库的数据管理方法,其特征在于,包括:响应数据写入请求,生成用于在HBase数据库中保存的待存储HBase记录;将所述待存储HBase记录中所包括的内容的大小超过预设字段阈值的字段作为大字段,提取所述大字段的内容生成大字段数据块;向保存在HDFS文件系统中的容器文件写入所述大字段数据块;将所述大字段数据块在所述HDFS文件系统中的位置作为索引,将所述待存储HBase记录中的大字段的内容替换为所述索引;在HBase中保存所述待存储HBase记录。2.根据权利要求1所述的HBase数据库的数据管理方法,其特征在于,所述索引包括所述容器文件的文件名,以及所述大字段数据块在所述容器文件中的偏移量。3.根据权利要求1所述的HBase数据库的数据管理方法,其特征在于,还包括:响应数据读取请求,从HBase数据库中获取所请求的待读取HBase记录;如果所述待读取HBase记录的字段中包含有所述索引,则所述索引作为待读取索引,根据所述待读取索引从所述HDFS文件系统中获取对应的大字段数据块作为待读取大字段数据块;在所述待读取HBase记录中,将从所述待读取大字段数据块中提取的大字段的内容替换对应的所述待读取索引;返回所述待读取HBase记录。4.根据权利要求1所述的HBase数据库的数据管理方法,其特征在于,还包括:获取所述HBase数据库中的所有HBase记录中的有效索引作为待紧缩索引;从所述HDFS文件系统中的容器文件中选择待紧缩容器文件;将包括有所述待紧缩索引对应的大字段数据块的待紧缩容器文件作为原容器文件,对所述原容器文件执行紧缩操作;所述紧缩操作包括:将原容器文件中所述待紧缩索引对应的大字段数据块迁移到新建立的容器文件中,并获取每个所述待紧缩索引对应的大字段数据块在新建立的容器文件中的索引作为紧缩后索引;将所述待紧缩索引替换为对应的紧缩后索引;删除所述原容器文件。5.根据权利要求4所述的HBase数据库的数据管理方法,其特征在于,所述从所述HDFS文件系统中的容器文件中选择待紧缩容器文件,具体包括:将所述待紧缩索引根据容器文件分组,统计出每个容器文件的所包括与所述待紧缩索引对应的大字段数据块的数量,作为每个容器文件的有效大字段数据块数量;获取每个容器文件中所包括的大字段数据块的数量,作为每个容器文件的总大字段数;将有效大字段数据块数量占总大字段数的比例小于预设比例阈值的容器文件作为待紧缩容器文件。6.一种HBase数据库的数据管理系统,其特征在于,包括:数据写入请求响应模块,用于响应数据写入请求,生成用于在HBase数据库中保存的待存储HBase记录...
【专利技术属性】
技术研发人员:钟坚,何广柏,邹国栋,张伟,王腾,石巍,赖志坚,
申请(专利权)人:广东亿迅科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。