HDFS进化,Hadoop即将拥抱对象存储?

Hortonworks在博客中提出了一个全新的Hadoop对象存储环境——Ozone,能将HDFS从文件系统扩展成更加复杂的企业级存储层。

Hadoop社区的一些成员今日提议为Hadoop增加一个新的对象存储环境,这样一来Hadoop就能以与亚马逊S3、微软Azure以及OpenStack Swift等云存储服务一样的方式去存储数据。

Hadoop发行商Hortonworks本周二在官网发博文指出,随着越来越多的企业采用Apache Hadoop,Hadoop已经成了各种企业数据的“数据湖”(Data Lake),其中很多适合大数据分析应用的数据类型非常适合采用HDFS,但是在某些行业应用案例中HDFS又难以胜任,这就需要扩展Hadoop的存储维度。例如,对象存储或Key-Value存储具备Hadoop HDFS的可靠性、一致性和可用性,但对语法、API和可扩展性的要求不同,Hadoop的存储系统需要向多面手进化,以适应新的存储应用需求。

行业大数据分析应用分类图表

不同行业大数据分析涉及的数据类型  数据来源:Hortonworks

Hortonworks在博客中提出了一个全新的Hadoop对象存储环境——Ozone,能将HDFS从文件系统扩展成更加复杂的企业级存储层。(编者按:虽然Hadoop已经支持第三方对象数据存储,例如亚马逊S3云和数据中心里的OpenStack Swift,但是Hadoop原生的对象存储功能对于希望将Hadoop作为未来应用存储层的开发者来说依然非常有价值。)

过去,HDFS架构将元数据管理与数据存储层分离成两个相互独立的层。文件数据存储在包含有上千个存储服务器(节点)的存储层,而元数据存储在文件元数据层——一个数量相对少些的服务器群(名称节点)。HDFS这种分离方式使得应用直接从存储磁盘读写数据时能够获得很高的吞吐量扩展空间。

HDFS-Ozone-hortonworks-ctocio

Ozone使得HDFS块存储层能够进一步支持非文件性质的系统数据,而HDFS的文件块架构也将能够支持存储键值和对象。与HDFS的名称空间元数据类似,Ozone的元数据系统也基于块存储层,但是Ozone的元数据将被动态分配,支持大量的bucket space。(上图)

Hortonworks认为HDFS将自然进化成一个完整的企业大数据存储系统,而Ozone也将以Apache项目(HDFS-7240)的方式开源。

Hortonworks给Ozone规划了以下几个目标:

可扩展支持数以万亿的数据对象。

广泛支持各种对象大小,从几KB到几十兆。

保证不低于HDFS的可靠性、一致性和可用性。

基于HDFS的数据块层。

提供基于REST的API来访问和操作数据。

为获取更高的可用性,能支持数据中心间的数据复制。