当前位置: 首页 > 专利查询>武汉大学专利>正文

结合RDBMS和Hadoop云存储的两级存储方法技术

技术编号:7700416 阅读:343 留言:0更新日期:2012-08-23 05:48
本发明专利技术提供一种结合RDBMS和Hadoop云存储的两级存储方法,其特征在于:前端采用RDBMS系统,后端采用Hadoop云端;前端收集结构化数据的小文件并存储在RDBMS系统的数据库中,当数据库的容量到达一定数量后,将数据库整体作为大文件并写入Hadoop云端存储,同时清空数据库,数据库继续接受新数据的写入。本发明专利技术利用轻量级的关系型数据库满足结构化数据的高效写入和大规模并发访问访问需求的同时,RDBMS还使海量小文件自动合并成大文件,避免了开发小文件合并工具的不便;利用Hadoop云存储实现海量大数据库文件的高效存储不仅避免了Hadoop本身的缺陷,而且可以充分利用云存储的优势实现高效存储、管理。只要数据满足结构化的要求就可以使用本发明专利技术技术方案高效存储,具有一定的普遍性。

【技术实现步骤摘要】

本专利技术涉及海量小文件的高效存储、管理领域,尤其涉及一种结合RDBMS和Hadoop的海量结构化数据高效存储方法。
技术介绍
进入二十一世纪以来,由于信息的爆炸式增长,海量结构化数据的应用服务越来越多,其典型的应用包括微博、即时通讯工具信息、手机短信及复杂系统日志等。这样的服务往往存在如下的特点 (1)数据具备结构化特征,其结构相对简单; (2)数据生成速度非常快,毎秒生成数万条甚至数十万条;若以传统文件形式存储,将形成海量小文件。(3)数据存量非常大,记录超过数千万条、上亿条,甚至数十亿条;(4)数据往往是“一次存储、多次应用”,对数据的读取和查询的实时性要求比较高。对于这些应用服务,怎样有效地组织管理这些海量数据,从中找到有效的信息,及时监控系统中的重要信息,以及对这些信息进行数据挖掘、支持业务决策,已成为业务系统建设的迫切需求。数据管理的发展历史表明,存储管理结构化数据的最有效手段就是利用关系型数据库管理系统(RDBMS)。但是另外一方面,如果数据库中累积的数据量太大,数据的IO性能就会下降,其应对大量多并发、低延时访问需求的能力自然受到影响。因此,面对上述存储服务需求,RDBMS面临严重挑战。同吋,长期积累的海量数据的高效、安全存储则是RDBMS根本无法胜任的。云存储是为了应付高速成长的数据量与带宽需求而产生的新形态存储系统,是解决海量数据存储的最有效手段。云存储的关键部件是分布式文件系统,目前,最有名三个的例子是谷歌文件系统(GoogleFS), Hadoop分布式文件系统(HDFS, Hadoop distributedfile system)和亚马逊的简单存储服务(S3)。其中,HDFS是GoogleFS的开源实现,是ー种具有高度容错性质的分布式文件系统模型,可以部署在支持JAVA运行环境的普通机器或虚拟机上,能够提供高呑吐量的数据访问,非常适合部署云存储平台。HDFS米用Master/Slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的名字空间(Namespace)以及客户端对文件的访问。Datanode是数据节点,即hadoop中数据的实际存储位置。集群中的Datanode —般是ー个节点ー个,负责管理它所在节点上的存储。HDFS的这种单名称节点的设计极大地简化了文件系统的结构,然而也因此引发了 HDFS的小文件存储效率低问题。小文件是指文件大小小于HDFS上块(默认为64MB)大小的文件。这样的文件会给Hadoop的扩展性和性能带来严重问题。首先,HDFS中的每个目录和文件的元数据信息都存放在Namenode节点的内存中,通常,每个目录和块大约会各自占用150字节的内存空间,如果系统中存有I亿个小文件(指那些比HDFS数据块(默认为64MB)小得多的文件),则将消耗Namenode节点30G内存空间,这样Namenode内存容量严重制约了集群的扩展。其次,访问大量小文件速度远远小于访问几个大文件。HDFS最初是为流式访问大文件开发的,如果访问大量小文件,需要不断的从ー个datanode跳到另ー个datanode,严重影响性能。最后,处理大量小文件速度远远小于处理同等大小的大文件分块的速度。每ー个小文件要占用ー个slot,而task启动将耗费大量时间甚至大部分时间都耗费在启动task和释放task上。对于Hadoop小文件问题,解决问题的主流思想是将小文件合并组合为大文件。具体分两种实现方案(I)设计ー种通用工具(比如MapReduce作业)交给用户,让用户自己姆隔一段时间将小文件打包成大文件,当前Hadoop本身提供了几个这样的工具,包括Hadoop Archive (HAR, Hadoop 提供了 shell 命令),Sequence File (Hadoop 没有提供 shell 命令)和CombineFileInputFormat (Hadoop没有提供shell命令)。例如,利用HAR技术实现小文件的合井,从而提高了 HDFS中元数据的存储效率。(2)针对具体的应用而提出的文件组合方法,从系统层面解决HDFS小文件问题。基本思路是根据具体应用的特点,在原有HDFS基础上添加ー个小文件处理模块,模块将很多小文件合并成ー个大文件,然后为这些小文件建立索引,以便进行快速存取和访问。上述两种方案的ー个共同特点就是要建立小文件索引,如果文件超小(小于1KB),那么合并后的大文件内将包含很多的小文件,这样索引表的维护和查找将会严重将影响系统性能。简而言之,Hadoop架构广泛应用于构建各种大規模、高性能的云存储系统,但是其默认的分布式文件系统(HDFS)是为处理大文件而设计,处理小文件性能低下。对小文件需要合并处理,并且合并需要另外开发工具以及建立索引机制。关系型数据库(RDBMS)是管理结构化数据最有效的手段之一,但数据量的増加后,系统的效率就会严重下降,并且无法提供安全、高效的存储管理。
技术实现思路
针对上述存在的技术问题,本专利技术的目的是提供一种结合RDBMS和Hadoop的海量结构化数据高效存储方案。本专利技术的技术方案为ー种,前端采用RDBMS系统,后端采用Hadoop云端;前端收集结构化数据的小文件并存储在RDBMS系统的数据库中,当数据库的容量到达一定数量后,将数据库文件整体作为大文件并写入Hadoop云端存储,同时清空数据库,数据库继续接受新数据的写入。而且,数据库收集结构化数据时的小文件时,采用基于时间和基于数据源两种策略建立数据表。而且,根据访问需求,从Hadoop云端获取数据库文件并附加到本地的RDBMS系统时,具体实现方式如下, 步骤1,根据访问者提供的信息确定需求的数据库文件的名称,所述信息包括数据源和时间; 步骤2,根据数据库文件的名称启动Hadoop文件访问; 步骤3,访问获取的数据库文件提交给RDBMS系统管理。本专利技术前端利用轻量级数据库面向用户,实现结构化数据的收集、提供用户访问、同时实现小数据文件的集聚合并成大文件;后端采用Hadoop云存储海量数据库大文件,同时提供对大文件的高效存储管理。因此,本专利技术具有以下优点和积极效果 I)利用轻量级的关系型数据库满足结构化数据的高效写入和大規模并发访问访问需求的同时,RDBMS还使海量小文件自动合并成大文件,避免了开发小文件合并工具的不便。2)利用Hadoop云存储实现海量大数据库文件的高效存储不仅避免了 Hadoop本身的缺陷,而且可以充分利用云存储的优势 实现高效存储、管理。3)只要数据满足结构化的要求就可以使用本方案高效存储,具有一定的普遍性。附图说明图I是本专利技术实施例的数据收集示意图。图2是本专利技术实施例的数据读取示意图。图3是本专利技术实施例的数据库ニ维冗余存储方案图。图4是实验中的单用户读取性能图。图5是实验中的多数据源短时间跨度的数据访问时间示意图。图6是实验中的单数据源长时间跨度数据访问时间示意图。图7是实验中的多用户并发访问性能图。具体实施例方式 本专利技术基本技术思路是综合利用RDBMS和Hadoop的优势来解决问题——采取前端数据库和后端云存储相结合的方式存储。一方面,将具备结构化特征的小本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种结合RDBMS和Hadoop云存储的两级存储方法,其特征在于前端采用RDBMS系统,后端采用Hadoop云端;前端收集结构化数据的小文件并存储在RDBMS系统的数据库中,当数据库的容量到达一定数量后,将数据库文件整体作为大文件并写入Hadoop云端存储,同时清空数据库,数据库继续接受新数据的写入。2.如权利要求I所述结合RDBMS和Hadoop云存储的两级存储方法,其特征在于数据库收集结构化数据时的小文件时,采...

【专利技术属性】
技术研发人员:徐正全刘小俊潘少明
申请(专利权)人:武汉大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1