一、hive是sql語言,經過數據庫的方式來操做hdfs文件系統,爲了簡化編程,底層計算方式爲mapreduce。sql
二、hive是面向行存儲的數據庫。數據庫
三、Hive自己不存儲和計算數據,它徹底依賴於HDFS和MapReduce,Hive中的表純邏輯。編程
四、HBase爲查詢而生的,它經過組織起節點內全部機器的內存,提供一個超大的內存Hash表分佈式
五、hbase不是關係型數據庫,而是一個在hdfs上開發的面向列的分佈式數據庫,不支持sql。oop
六、hbase是物理表,不是邏輯表,提供一個超大的內存hash表,搜索引擎經過它來存儲索引,方便查詢操做。性能
七、hbase是列存儲。搜索引擎
Hive和Hbase有各自不一樣的特徵:hive是高延遲、結構化和麪向分析的,hbase是低延遲、非結構化和麪向編程的。Hive數據倉庫在hadoop上是高延遲的。.net
其中HBase位於結構化存儲層,Hadoop HDFS爲HBase提供了高可靠性的底層存儲支持,Hadoop MapReduce爲HBase提供了高性能的計算能力,Zookeeper爲HBase提供了穩定服務和failover機制。blog
此外,Pig和Hive還爲HBase提供了高層語言支持,使得在HBase上進行數據統計處理變的很是簡單。 Sqoop則爲HBase提供了方便的RDBMS數據導入功能,使得傳統數據庫數據向HBase中遷移變的很是方便。索引
轉:
以爲在問區別以前,我應該顯示說相同點,這麼一想,又糊塗了,hive和hbase哪裏像了,好像哪裏都不像,既然哪裏都不像,又何來的「區別是什麼」這一問題,他倆全部的都算區別。
那麼,hive是什麼?
白話一點再加不嚴格一點,hive能夠認爲是map-reduce的一個包裝。hive的意義就是把好寫的hive的sql轉換爲複雜難寫的map-reduce程序。
因而,hbase是什麼?
一樣白話一點加不嚴格一點,hbase能夠認爲是hdfs的一個包裝。他的本質是數據存儲,是個NoSql數據庫;hbase部署於hdfs之上,而且克服了hdfs在隨機讀寫方面的缺點。
因此要問hive和hbase的區別,就應該問問map-reduce和hdfs之間的區別,問區別,就要先說說他倆哪裏像。
因而,你說map-reduce和hdfs哪裏像了呢?
轉自:http://blog.csdn.net/maixia24/article/details/14163203