Hadoop不足:
1.不适合低延迟数据访问
HDFS面向大规模数据批处理设计,采用流式数据处理,具有很高的数据吞吐率,但这也意味着有较高的延时。
2.不能够高效的存储小文件数据
Hadoop是基于HDFS文件存储系统,HDFS是采用块为基本单位存储数据,每个块大小为64KB(不确定现在多少),如果一个文件达不到64KB,也会存成一个独立的块。如果存在大量的小文件(假设都小于64KB)那么会造成每个块都无法存储满,造成大量的空间浪费。
HDFS是采用主从节点架构。集群中只设置一个主节点(可能有备份主节点),可由很多个从节点。主节点负责集群管理,资源配置,作业调度等。从节点负责数据的存储与读取。HDFS采用主节点管理元数据,元数据被保存在内存中,从而使得客户端可以快速查询到数据块位置,数据块号。然后再在从节点读写数据。如果存在大量小文件,则会使得在主节点查询效率降低。导致主节点效率下降。
3.不支持用户写入并修改文件
Hadoop现在还不支持多人写入,任意修改的功能。只允许一个文件有一个写入者,不允许多个用户堆同一文件执行写操作,而且只允许对文件进行追加,也就是说每次写入都会添加在文件末尾(区分关系型数据库的特点)。