优点
1.高容错性
1)数据自动保存多个副本。它通过增加副本的形式,提高容错性。
2)某一个副本丢失后,它可以自动恢复。
2.适合大数据处理
1)数据规模:GB,TB,甚至PB级别数据
2)文件规模:能够处理百万规模以上是文件数量,数量相当之大。
3.流式数据访问,它能保证数据的一致性。
4.可构建在廉价机器上,通过多副本机制,提高可靠性。
缺点
1.不适合低延时数据访问,比如毫秒级的存储数据,目前是无法做到的。
2.无法高效的对大量小文件进行存储。
1)存储大量小文件,会占用NameNode大量内存存储文件,目录和块信息。
2)小文件存储的寻址时间会超过读取时间,它违反了HDFS的设计目标。
3.不支持文件并发写入,随机修改
1)一个文件只能有一个写,不允许多个线程同时写。
2)仅支持数据append追加,不支持文件的随机修改。