1.4 Hive和数据库的比较
由于 Hive 采用了類似SQL 的查詢語言 HQL(Hive Query Language),因此很容易將 Hive 理解為數據庫。其實從結構上來看, Hive 和數據庫除了擁有類似的查詢語言,再無類似之處。
?
本文將從多個方面來闡述 Hive 和數據庫的差異。數據庫可以用在 Online 的應用中,但是Hive 是為數據倉庫而設計的,清楚這一點,有助于從應用角度理解 Hive 的特性。
?
1.4.1 查詢語言
由于 SQL 被廣泛的應用在數據倉庫中,因此,專門針對 Hive 的特性設計了類 SQL 的查
詢語言 HQL 。熟悉 SQL 開發(fā)的開發(fā)者可以很方便的使用 Hive 進行開發(fā)。
1.4.2 數據更新
由于 Hive 是針對數據倉庫應用設計的,而 數據倉庫的內容是讀多寫少的。 因此, Hive 中不建議對數據的改寫,所有的數據都是在加載的時候確定好的。
?
數據庫中的數據通常是需要經常進行修改的,因此可以使用 INSERT INTO … VALUES 添加數據,使用 UPDATE … SET 修改數據。
1.4.3 執(zhí)行延遲
Hive 在查詢數據的時候,由于沒有索引,需要掃描整個表,因此延遲較高。另外一個導
致 Hive 執(zhí)行延遲高的因素是 MapReduce 框架。由于 MapReduce 本身具有較高的延遲,因此在利用 MapReduce 執(zhí)行 Hive 查詢時,也會有較高的 延遲。
?
相對的,數據庫的執(zhí)行延遲較低。當然,這個低是有條件的,即數據規(guī)模較小,當數據規(guī)模大到超過數據庫的處理能力的時候,Hive 的并行計算顯然能體現(xiàn)出優(yōu)勢。
1.4.4 數據規(guī)模
由于Hive 建立在集群上并可以利用 MapReduce 進行并行計算,因此可以支持很大規(guī)模的數據;對應的,數據庫可以支持的數據規(guī)模較小。
總結
以上是生活随笔為你收集整理的1.4 Hive和数据库的比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.3 Hive架构原理
- 下一篇: LeetCode 数据库 182. 查找