HIVE:
hive,是一款開源的數據倉庫
1、hive不是數據庫,而是數據倉庫,主要依賴於hadoop來實現
2、底層文件系統是hadoop的hdfs,實現對hdfs上結構化數據的SQL操作HQL,速度較慢
3、計算引擎是hadoop的mapreduce
4、依靠存儲在其他關係型數據庫metastore來對hdfs結構化數據進行管理,實現類似數據庫的功能
5、不具備數據庫的一些主鍵、索引、update操作等特性,但是提供了分區、塊索引、SQL等特性
6、比較適合存儲海量的全量(歷史+更新)軌跡數據,比對數據進行批量的挖掘、分析等操作
總結一下,hive是基於hadoop實現的數據倉庫,適合存儲海量全量數據,支持類SQL操作,性能相對較差,數據存儲
有一定的限制,不支持更新、索引等事務。適合海量數據的挖掘和分析,通俗一點來說,hive其實就是藉助mysql等數據庫在
hadoop上層套了一個殼,來實現對hdfs上結構化數據的映射,爲上層提供sql服務。
HBASE:
即Hadoop databse,顧名思義就是一個hadoop的數據庫
1、nosql數據庫之一,基於列式存儲(列族),適合海量半結構化數據的存儲和檢索
2、不支持SQL、適合海量、帶時間序列的數據的存儲和檢索、性能較好
3、原生支持基於rowkey的一級索引,rowkey按照字典序進行排序
4、運算執行引擎是hbase自身提供、底層存儲基於hdfs
總結一下,hbase是NOSQL數據庫的一種,基於分佈式列式存儲,適合海量半結構化帶時間序列的數據的存儲和檢索,性能較優秀,hbase底層存儲依賴於hdfs,與rdbms的區別與其他nosql類似,比如不支持SQL、事務性相對較差等等。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
綜上,hbase是數據庫、hive是數據倉庫,而這有很大的區別、也有很多類似的地方比如都屬於hadoop生態圈、存儲都基於hdfs等。一般來說用hive作爲海量結構化全量數據的存儲、運算、挖掘、分析;hbase用來作爲海量半結構化數據的存儲、檢索;這二者可以很好協同工作,hive上計算完的結果放在hbase中供檢索,也可以將hbase裏面的結構化數據和hive相結合,實現對hbase的sql操作等等。
--------------------- 作者:zx8167107 來源:CSDN 原文:https://blog.csdn.net/zx8167107/article/details/79265537?utm_source=copy 版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!