Hive的底层数据存储是直接建立自HDFS之上,适于追加操作,所以对于修改和删除的支持存在天然的缺陷,虽然后来Hive在语法上支持了这两种操作,但性能上不能和传统RDBMS相比,在生产系统中一般也是不推荐使用的,适用场景有限。HBase在持久化上的设计更为复杂些,通过RegionServer的设计/文件的分裂合并等机制,较好的平衡了随机数据访问和底层HDFS文件存储之间的矛盾,所以在更多的场景下对数据的删除、修改能够较好的支持。但原生HBase又有缺少二级索引的问题,操作灵活性上不及RDBMS。
总之,这两者与RDBMS还是要区分场景再进行选择,并不是完全覆盖RDBMS的能力。
HIVE操作数据比较困难是指效率比较低吗?还是HiveQL满足不了要求?经过配置,Hive能支持Update和Delete,语法上跟PL-SQL一致,性能还没测试。
收起