1. HDFS 专为解决大数据存储问题而产生的,其具备了以下特点:
1).可存储超大文件
文件系统是要构建于磁盘上的,有块的逻辑概念,是磁盘块的整数倍,通常文件系统为几千个字节,而磁盘块一般为 512 个字节。
HDFS 是一种文件系统,文件块要比普通磁盘上文件系统大的多,默认是 64MB
HDFS文件的大小可以大于网络中任意一个磁盘的容量,文件的所有块并不需要存储在一个磁盘上
2)一次写入,多次读取
一个文件经过创建、写入和关闭之后就不需要改变,这个假设简化了数据一致性的问题,同时提高数据访问的吞吐量。
3)运行在普通廉价的机器上
2. 不适用于 HDFS 的场景:
1) 实时查询,低延迟
Hadoop 生态圈中的Hbase 具有这种随机读、低延迟等特点。
2) 大量小文件(远小于64M)
Hadoop通过Namenode来存储这些信息,若小文件过多,容易导致 Namenode 存储出现瓶颈。
3) 多用户更新
针对有多人写入数据的场景,可以考虑采用 Hbase 的方案。
4) 结构化数据
HDFS适合存储半结构化和非结构化数据,若有严格的结构化数据存储场景,也可以考虑采用 Hbase 的方案。
5) 数据量并不大
通常 Hadoop 适用于 TB、PB 数据,若待处理的数据只有几十 GB 的话,不建议使用 Hadoop,因为没有任何好处。