hdfs(分布式⽂件系统)优缺点
hdfs(分布式⽂件系统)
优点
⽀持超⼤⽂件
⽀持超⼤⽂件。超⼤⽂件在这⾥指的是⼏百M,⼏百GB,甚⾄⼏TB⼤⼩的⽂件。⼀般来说hadoop的⽂件系统会存储TB级别或者PB级别的数据。所以在企业的应⽤中,数据节点有可能有上千个。
检测和快速应对硬件故障
在集群的环境中,硬件故障是常见的问题。因为有上千台服务器连接在⼀起,这样会导致⾼故障率。因此故障检测和⾃动恢复是hdfs⽂件系统的⼀个设计⽬标。
流式数据访问
Hdfs的数据处理规模⽐较⼤,应⽤⼀次需要访问⼤量的数据,同时这些应⽤⼀般都是批量处理,⽽不是⽤户交互式处理。应⽤程序能以流的形式访问数据集。主要的是数据的吞吐量,⽽不是访问速度。
简化的⼀致性模型
⼤部分hdfs操作⽂件时,需要⼀次写⼊,多次读取。在hdfs中,⼀个⽂件⼀旦经过创建、写⼊、关闭后,⼀般就不需要修改了。这样简单的⼀致性模型,有利于提⾼吞吐量。
缺点
低延迟数据访问
低延迟数据。如和⽤户进⾏交互的应⽤,需要数据在毫秒或秒的范围内得到响应。由于hadoop针对⾼数据吞吐量做了优化,牺牲了获取数据的延迟,所以对于低延迟来说,不适合⽤hadoop来做。
⼤量的⼩⽂件
Hdfs⽀持超⼤的⽂件,是通过数据分布在数据节点,数据的元数据保存在名字节点上。名字节点的内存⼤⼩,决定了hdfs⽂件系统可保存的⽂件数量。虽然现在的系统内存都⽐较⼤,但⼤量的⼩⽂件还是会影响名字节点的性能。
多⽤户写⼊⽂件、修改⽂件
Hdfs的⽂件只能有⼀次写⼊,不⽀持写⼊,也不⽀持修改。只有这样数据的吞吐量才能⼤。
不⽀持超强的事务
没有像关系型数据库那样,对事务有强有⼒的⽀持。