Hive(資料倉儲)與資料庫的區別

2021-09-02 05:25:53 字數 1010 閱讀 2830

資料庫和資料倉儲,雖然名字只有一點點不同,但是性質卻有很大的區別。資料倉儲是什麼?資料倉儲是為企業制定各個級別的決策,可以提供各種資料型別支援的戰略集合。

它們兩種之間的區別,就由我來給大家介紹一下吧。

眾所周知,hive是hadoop生態圈中不可缺少的一部分。hive的元資料儲存在自帶的derby資料庫中,可它實際的資料儲存在hdfs上。

可資料庫的資料儲存在塊裝置上或者本地檔案系統中。

雖然hive為了方便一些開發者使用,通過將hql轉為mapreduce查詢,但是hql與常規的sql語句使用起來還是有不同的地方。

因為hive是資料倉儲,本身性質就是「讀多寫少」,所以在一些以前的版本中,它並不支援insert into插入資料以及update更新資料的。但是資料庫通常使用起來就是需要經常修改以及新增的。

hive的架構如下,hive實際上就是將使用者輸入的hql語句轉化為mapreduce程式來執行,但是資料庫有自己的執行引擎。

在hive中並沒有索引這個概念,當hive需要訪問資料中某些符合特定條件的特定值時,需要對全盤進行暴力檢索,所以訪問延遲較高,但hive引入了mapreduce,可以並行處理資料。在資料庫中,雖不可以並行處理資料,但是可以在資料中建立索引。因此,對於少量特定條件的資料訪問時,資料庫延遲低。但是大資料量還是選擇hive。

hive中沒有索引不說,mapreduce的這個框架本身就具有很高的延遲。相對於資料庫來說,延遲比較高。但是當資料量很大,超出了資料庫的處理能力範圍時,hive的平行計算就具有很大的優勢了。

由於hive是建立在hadoop集群上的,所以它的擴充套件能力和hadoop一樣。所以可以想象,hadoop集群的節點可以有多少個?但是資料庫本身由於acid語義的限制,就oracle在理論上最多也只能擴充套件100臺。

compiled up by jiamingcan

資料倉儲與資料庫比較,Hive資料倉儲與資料庫比較

hive是乙個翻譯工具,將sql翻譯為底層mr程式的,它不是資料庫,只不過在表現形式上和資料庫有很多類似而已 比如表 database 欄位等 資料庫可以增刪查改,資料倉儲只可以增刪查 資料倉儲支援很大規模的資料 資料庫支援的資料規模較小 資料倉儲沒有索引,資料庫有 資料倉儲可擴充套件性強,資料庫弱...

Hive資料倉儲與資料庫的異同

hive和資料庫除了擁有類似的查詢語言,再無類似之處。1.由於 hive 是針對資料倉儲應用設計的,而資料倉儲的內容是讀多寫少的。因此,hive 中不支援對資料的改寫和新增,所有的資料都是在載入的時候中確定好的。而資料庫中的資料通常是需要經常進行修改的,因此可以使用 insert into valu...

資料庫與資料倉儲的區別

簡而言之,資料庫是面向事務的設計,資料倉儲是面向主題設計的。資料庫設計是盡量避免冗餘,一般採用符合正規化的規則來設計,資料倉儲在設計是有意引入冗餘,採用反正規化的方式來設計。資料庫是為捕獲資料而設計,資料倉儲是為分析資料而設計,它的兩個基本的元素是維表和事實表。維是看問題的角度,比如時間,部門,維表...