HDFS异构存储

本文主要是对http://hortonworks.com/blog/heterogeneous-storages-hdfs/的学习笔记,由于水平所限,领悟不到位的地方,请多多指教。


可以搭建各种存储类型,每个应用可根据自身的性能或者成本要求选择一个最合适的。

每种存储类型可以主要从三类性能指标进行衡量:

1. 每M字节成本

2. 持久性

        该指标是对数据成功写入介质之后持久性进行衡量。现代磁盘都是高度耐用的,但是对于数量足够大的硬盘集来说,常规的硬盘故障是具有统计确定性的。

在对磁盘故障的大规模研究中发现,对于已使用1-2年的硬盘来说,年故障率在2%-8%之间[1]。

3. 性能

       两个关键指标.

        1.吞吐量:该存储类型能够提供的最大原始读/写率,通常以字节/秒(MBps)衡量。它是批处理应用程序所关心的主要指标。

        2.每秒的IO操作数:该指标受到workload(工作类型?)和IO大小的影响。旋转磁盘的旋转延迟时间限制了最大的IOPS( 每秒输入输出),

从而也限制了交互查询应用程序的性能。比如对于纯随机IO工作类型,7200转硬盘(典型的商用硬件)的理论上的最大IOPS为240。


下表列出了不同存储类型的各个指标特点:


Storage Type

Throughput

Random IOPS

Data Durability

Typical Cost

HDD

High

Low

Moderate, failures can occur at any time.

4c/GB

SSD

High

High

Moderate, failures can occur at any time.

50c/GB for internal SATA SSD.

roughly costs 10x or more of HDD

NAS (Network attached storage)

High

Varies

May employ RAID for high durability

Varies based on features, typically falls  between HDD and SSD.

RAM

Very high

Very high

No durability, data is lost on process restart

>$10/GB

roughly costs 100x or more of HDD


设计原则:

根据以下目标进行设计:

1.HDFS不必知道各个存储类型的性能特点,只是提供一个将各个存储类型暴露给应用程序的机制。唯一的例外是硬盘,它是默认的后备存储类型。

虽然在未来可能也会是可配的,根据这个推论,我们避免使用分层存储这个术语(Tiered Storage or Hierarchical Storage)。

2.根据1,不提供根据性能特点列举或选择存储类型的API。存储类型将被明确地罗列出来。

3.管理员必须能够限制用户对各个存储类型的使用。


HDFS存储结构的变化

     旧的namenode和HDFS客户端将每个datanode视作单一的存储单元。namenode不能感知给定datanode上的存储卷数量以及其对应的存储类型和容量。

Fig1-StoragesOnDataNode

datanode根据以下类型的信息上报他们的存储状态:

1. storage report.

存储报告包含了容量和使用细节等存储状态的概要信息。它包含在心跳包中。

2. block report.

块报告包含某个datanode上各个块数据块的详细信息。块报告分为增量和全量两种类型:增量报告定期地汇报新接收和删除的块;全量报告较不频繁地定期报告该datanode的所有数据块。


目前datanode发送的存储报告和块报告中包含了所有存储聚合信息。

根据异构存储,datanode把各个存储的类型和使用情况暴露给namenode。这是对HDFS内在机制的根本性改变,允许namenode在放置数据块时不仅仅可以选择在哪个datanode上,而且可以指定存储类型。

Fig2-DataNodeAsCollectionOfStorages

采用这种方式分离datanode的存储,通过减小各个块报告的大小,让namenode处理得更快,将可以扩展datadode的存储容量。









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值