HDFS的优缺点

HDFS是一个分布式文件存储系统,前身来自于Google发布的大数据三驾马车之一GFS (Google File System)。

1、高容错

hdfs具有很高的容错性,数据自动保存为多个副本,默认为三副本机制,还能够通过自己自定义副本数来提高容错性。

当某个节点的副本丢失后,可以通过其他的备份副本进行恢复。

2、块存储

hdfs中的文件是以块的形式进行存储的,hadoop2.x后的版本默认为128m为一块。

128m为一块是由最佳传输损耗原理来得到的数字,当一个文件大小为128m时此时传输读取的效率是最高的。

最佳传输损耗原理:
当读取一个文件的时候,所需要的时间分为两部分:寻址时间、传输时间。根据目前的技术水平,机械磁盘的寻址时间普遍在10ms左右,而传输时间取决于要读取文件的大小,读取的文件越大,所需要的传输时间越长,那么,一次读取多少文件效率最高呢?根据经验寻址时间占传输时间 1%的时候,是传输一个文件效率最高的。

3、适合处理大规模数据集

数据规模:能够处理数据规模达到 GB、TB 甚至 PB级别数据。

文件规模:能够处理百万规模以上的文件数量。

4、高可靠性

由于具有高容错性,所以集群可以部署在廉价的机器上,并且保证数据不会丢失。

1、不适合低延迟的数据访问

访问hdfs的数据是相对较慢的,无法做到像 mysql 那样的毫秒级别的读写数据。

2、不适合存储大量的小文件

所有存储在 hdfs上的文件都需要由 NameNode来管理元数据信息,每个 block块的元数据信息都会占用 150字节的内存空间,会增大 NameNode的负担。

例如同样存储10M 的内容,采取副本数为3 的备份机制,这10M 放在一个文件中,所用到的元数据占用的内存为1503=450 字节,如果把这10M 放到10 个文件中,则占用15010*3=4500 字节,很明显,存储相同的内容,第二种方式占用的内存更多。

3、不支持并发写入以及随即修改

一个文件只能有一个用户写,不允许多个线程同时写入

仅支持数据的追加,不支持文件的随即修改

Original: https://www.cnblogs.com/MMarshall/p/15955422.html
Author: MMarshall
Title: HDFS的优缺点

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/565137/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球