hive是乙個翻譯工具,將sql翻譯為底層mr程式的,它不是資料庫,只不過在表現形式上和資料庫有很多類似而已(比如表、database、欄位等)
資料庫可以增刪查改,資料倉儲只可以增刪查
資料倉儲支援很大規模的資料;資料庫支援的資料規模較小
資料倉儲沒有索引,資料庫有
資料倉儲可擴充套件性強,資料庫弱
具體有以下幾點:
資料儲存位置
hive 是建立在 hadoop 之上的,所有 hive 的資料都是儲存在hdfs中的。而資料庫則可以將資料儲存在塊裝置或者本地檔案系統中。
資料更新
由於hive是針對資料倉儲應用設計的,而資料倉儲的內容是讀多寫少的。因此,hive中不建議對資料的改寫,所有的資料都是在載入的時候確定好的。而資料庫中的資料通常是需要經常進行修改的。
索引hive沒有索引執行
hive中大多數查詢的執行是通過 hadoop 提供的mapreduce來實現的。而資料庫通常有自己的執行引擎。innodb引擎
執行延遲
hive 在查詢資料的時候,由於沒有索引,需要掃瞄整個表,因此延遲較高。另外乙個導致 hive 執行延遲高的因素是 mapreduce框架。由於mapreduce 本身具有較高的延遲,因此在利用mapreduce 執行hive查詢時,也會有較高的延遲。相對的,資料庫的執行延遲較低。當然,這個低是有條件的,即資料規模較小,當資料規模大到超過資料庫的處理能力的時候,hive的平行計算顯然能體現出優勢。
可擴充套件性
資料規模
由於hive建立在集群上並可以利用mapreduce進行平行計算,因此可以支援很大規模的資料;對應的,資料庫可以支援的資料規模較小。
Hive(資料倉儲)與資料庫的區別
資料庫和資料倉儲,雖然名字只有一點點不同,但是性質卻有很大的區別。資料倉儲是什麼?資料倉儲是為企業制定各個級別的決策,可以提供各種資料型別支援的戰略集合。它們兩種之間的區別,就由我來給大家介紹一下吧。眾所周知,hive是hadoop生態圈中不可缺少的一部分。hive的元資料儲存在自帶的derby資料...
Hive資料倉儲與資料庫的異同
hive和資料庫除了擁有類似的查詢語言,再無類似之處。1.由於 hive 是針對資料倉儲應用設計的,而資料倉儲的內容是讀多寫少的。因此,hive 中不支援對資料的改寫和新增,所有的資料都是在載入的時候中確定好的。而資料庫中的資料通常是需要經常進行修改的,因此可以使用 insert into valu...
資料庫與資料倉儲
簡而言之,資料庫是面向事務的設計,資料倉儲是面向主題設計的。資料庫設計是盡量避免冗餘,一般採用符合正規化的規則來設計,資料倉儲在設計是有意引入冗餘,採用反正規化的方式來設計。資料庫是為捕獲資料而設計,資料倉儲是為分析資料而設計,它的兩個基本的元素是維表和事實表。維是看問題的角度,比如時間,部門,維表...