3.2.1 适合的应用场景

  • 存储非常大的文件:这里非常大指的是几百 M、G、或者 TB 级别,需要高吞吐量,对延时没有要求。

  • 采用流式的数据访问方式: 即一次写入、多次读取,数据集经常从数据源生成或者拷贝一次,然后在其上做很多分析工作 。

  • 运行于商业硬件上: Hadoop 不需要特别贵的机器,可运行于普通廉价机器,可以节约成本

  • 有高容错性

  • 为数据存储提供所需的扩展能力

3.2.2 不适合应用场景

  • 低延时的数据访问

    对延时要求在毫秒级别的应用,不适合采用 HDFS。HDFS 是为高吞吐数据传输设计的,因此可能牺牲延时

  • 大量小文件

    文件的元数据保存在 NameNode 的内存中, 整个文件系统的文件数量会受限于 NameNode 的内存大小。 一个文件/目录/文件块一般占有 150 字节的元数据内存空间。如果有 100 万个文件,每个文件占用 1 个文件块,则需要大约 300M 的内存。因此十亿级别的文件数量在现有商用机器上难以支持。

  • 多方读写,需要任意的文件修改

    HDFS 采用追加(append-only)的方式写入数据。不支持文件任意offset的修改。不支持多个写入器(writer)


最后修改: 2023年12月27日 星期三 16:45