[发明专利]结合RDBMS和Hadoop云存储的两级存储方法无效
申请号: | 201210041311.3 | 申请日: | 2012-02-23 |
公开(公告)号: | CN102646121A | 公开(公告)日: | 2012-08-22 |
发明(设计)人: | 徐正全;刘小俊;潘少明 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 薛玲 |
地址: | 430072 湖*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 结合 rdbms hadoop 存储 两级 方法 | ||
技术领域
本发明涉及海量小文件的高效存储、管理领域,尤其涉及一种结合RDBMS和Hadoop的海量结构化数据高效存储方法。
背景技术
进入二十一世纪以来,由于信息的爆炸式增长,海量结构化数据的应用服务越来越多,其典型的应用包括微博、即时通讯工具信息、手机短信及复杂系统日志等。这样的服务往往存在如下的特点:
(1) 数据具备结构化特征,其结构相对简单;
(2) 数据生成速度非常快,每秒生成数万条甚至数十万条;若以传统文件形式存储,将形成海量小文件。
(3) 数据存量非常大,记录超过数千万条、上亿条,甚至数十亿条;
(4) 数据往往是“一次存储、多次应用”,对数据的读取和查询的实时性要求比较高。
对于这些应用服务,怎样有效地组织管理这些海量数据,从中找到有效的信息,及时监控系统中的重要信息,以及对这些信息进行数据挖掘、支持业务决策,已成为业务系统建设的迫切需求。
数据管理的发展历史表明,存储管理结构化数据的最有效手段就是利用关系型数据库管理系统(RDBMS)。但是另外一方面,如果数据库中累积的数据量太大,数据的IO性能就会下降,其应对大量多并发、低延时访问需求的能力自然受到影响。因此,面对上述存储服务需求,RDBMS面临严重挑战。同时,长期积累的海量数据的高效、安全存储则是RDBMS根本无法胜任的。
云存储是为了应付高速成长的数据量与带宽需求而产生的新形态存储系统,是解决海量数据存储的最有效手段。云存储的关键部件是分布式文件系统,目前,最有名三个的例子是:谷歌文件系统(GoogleFS),Hadoop分布式文件系统(HDFS,Hadoop distributed file system)和亚马逊的简单存储服务(S3)。其中,HDFS是GoogleFS的开源实现,是一种具有高度容错性质的分布式文件系统模型,可以部署在支持JAVA运行环境的普通机器或虚拟机上,能够提供高吞吐量的数据访问,非常适合部署云存储平台。
HDFS采用Master/Slave架构。一个HDFS集群是由一个Namenode和一定数目的Datanodes组成。Namenode是一个中心服务器,负责管理文件系统的名字空间(Namespace)以及客户端对文件的访问。Datanode是数据节点,即hadoop中数据的实际存储位置。集群中的Datanode一般是一个节点一个,负责管理它所在节点上的存储。HDFS的这种单名称节点的设计极大地简化了文件系统的结构,然而也因此引发了HDFS的小文件存储效率低问题。
小文件是指文件大小小于HDFS上块(默认为64MB)大小的文件。这样的文件会给Hadoop的扩展性和性能带来严重问题。首先,HDFS中的每个目录和文件的元数据信息都存放在Namenode节点的内存中,通常,每个目录和块大约会各自占用150字节的内存空间,如果系统中存有1亿个小文件(指那些比HDFS数据块(默认为64MB)小得多的文件),则将消耗Namenode节点30G内存空间,这样Namenode内存容量严重制约了集群的扩展。其次,访问大量小文件速度远远小于访问几个大文件。HDFS最初是为流式访问大文件开发的,如果访问大量小文件,需要不断的从一个datanode跳到另一个datanode,严重影响性能。最后,处理大量小文件速度远远小于处理同等大小的大文件分块的速度。每一个小文件要占用一个slot,而task启动将耗费大量时间甚至大部分时间都耗费在启动task和释放task上。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210041311.3/2.html,转载请声明来源钻瓜专利网。