hdfs以流式数据访问模式来存储超大文件,运行于商用硬件集群上。
优点
支持超大文件存储
“超大文件”在这里指的是几百MB,几百GB,甚至几百TB大小的文件。目前已经有存储PB级数据的Hadoop集群了。
流式数据访问
一次性写入,多次读取是最高效的访问模式。 数据集通常由数据源生成或从数据源复制而来,接着长时间在此数据集上进行各种分析。每次分析都将设计该数据集的大部分数据甚至全部数据,因此读取整个数据集的时间延迟比读取第一条记录的时间延迟更重要。(来一条处理一条)
可运行在廉价机器上
通过多复本进而提供数据的容错能力和提高可用性。
缺点
不支持低时间延迟的数据访问
hadoop是为高数据吞吐量应用优化的,以提高时间延迟为代价。
不支持大量的小文件
由于namenode将文件系统的元数据存储在内存中,因此该文件系统所能存储的文件总数受限于namenode的内存容量。
不支持多用户写入文件、修改文件
hdfs中的文件只支持单个写入者,而且写操作总是以“只添加”的方式在文件末尾写数据。不支持多个写入者的操作,也不支持在文件的任意位置进行修改。
不支持超强的事务
没有像关系型数据库那样,对事务有强有力的支持。