hive和mysql比較
1.查詢語言不同:hive是hql語言,mysql是sql語言;
2.數據存儲位置不同:hive把數據存儲在hdfs上,mysql數據是存儲在自己的系統中(raw device or Local FS)。
3.數據格式:hive數據格式可以用戶自定義,mysql有自己的系統定義格式;
4.數據更新:hive不支持數據更新,只可以讀,不可以寫,sql支持數據更新;
5.索引:hive沒有索引,查詢的時候通過mapreduce將數據都查詢一遍,造成hive查詢數據速度很慢的原因,mysql有索引;
6延遲性:hive延遲性高,速度慢,mysql延遲性低。
7.數據規模:hive存儲的數據量超級大,mysql存儲少量數據;
8.底層執行原理:hive底層是用的MapReduce,mysql是Excutor執行器。
hive和hbase比較
共同點:1.都是架構在hadoop之上的,用hadoop作為底層存儲
區別:2.hive是建立在Hadoop之上為了減少MapReduce jobs編寫工作的批處理系統,hbase為了支持Hadoop對實時操作的缺陷。
3.全表掃描數據庫用hive+hadoop,索引訪問,用hbase+hadoop。
4.hive query速度較慢,hbase是非常高效的,比hive高效的多。
5.hive本身不存儲和計算數據,完全依賴於hdfs和MapReduce,hive的表純邏輯。
6.hive借用hadoop的MapReduce來完成一些hive中的命令執行,用MapReduce計算框架。
7.hbase是物理表,不是邏輯表,提供一個超大內存hash表,搜索引擎通過它來存儲索引,方便查詢操作,是列存儲的。
8.hive用hdfs存儲文件,hdfs是底層存儲,是存放文件的系統,hbase負責組織文件。
原文鏈接:https://blog.csdn.net/qq_27182767/article/details/89007605