HDFS的优缺点
HDFS是⼀个分布式⽂件存储系统,前⾝来⾃于Google发布的⼤数据三驾马车之⼀GFS (Google File System)。
HDFS的优点:
1、⾼容错mysql存储文档
hdfs具有很⾼的容错性,数据⾃动保存为多个副本,默认为三副本机制,还能够通过⾃⼰⾃定义副本数来提⾼容错性。
当某个节点的副本丢失后,可以通过其他的备份副本进⾏恢复。
2、块存储
hdfs中的⽂件是以块的形式进⾏存储的,hadoop2.x后的版本默认为128m为⼀块。
128m为⼀块是由最佳传输损耗原理来得到的数字,当⼀个⽂件⼤⼩为128m时此时传输读取的效率是最⾼的。
最佳传输损耗原理:
当读取⼀个⽂件的时候,所需要的时间分为两部分:寻址时间、传输时间。根据⽬前的技术⽔平,机械磁盘的寻址时间普遍在10ms左右,⽽传输时间取决于要读取⽂件的⼤⼩,读取的⽂件越⼤,所需要的传输时间越长,那么,⼀次读取多少⽂件效率最⾼呢?根据经验寻址时间占传输时间1% 的时候,是传输⼀个⽂件效率最⾼的。
3、适合处理⼤规模数据集
数据规模:能够处理数据规模达到 GB、TB 甚⾄ PB级别数据。
⽂件规模:能够处理百万规模以上的⽂件数量。
4、⾼可靠性
由于具有⾼容错性,所以集可以部署在廉价的机器上,并且保证数据不会丢失。
HDFS的缺点:
1、不适合低延迟的数据访问
访问hdfs的数据是相对较慢的,⽆法做到像 mysql 那样的毫秒级别的读写数据。
2、不适合存储⼤量的⼩⽂件
所有存储在 hdfs上的⽂件都需要由 NameNode来管理元数据信息,每个 block块的元数据信息都会占⽤ 150字节的内存空间,会增⼤ NameNode的负担。
例如同样存储10M的内容,采取副本数为3的备份机制,这10M放在⼀个⽂件中,所⽤到的元数据占⽤的内存为150*3=450字节,如果把这10M放到10个⽂件中,则占
⽤150*10*3=4500字节,很明显,存储相同的内容,第⼆种⽅式占⽤的内存更多。
3、不⽀持并发写⼊以及随即修改
⼀个⽂件只能有⼀个⽤户写,不允许多个线程同时写⼊
仅⽀持数据的追加,不⽀持⽂件的随即修改

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。