大數(shù)據(jù)培訓(xùn)經(jīng)典面試題分析-Hive與傳統(tǒng)數(shù)據(jù)庫的區(qū)別
Hive與傳統(tǒng)的關(guān)系型數(shù)據(jù)庫有很多類似的地方,例如對SQL的支持。但是其基于HDFS與MapReduce的事實(shí)使得它與傳統(tǒng)的數(shù)據(jù)庫在很多方面有很大的不同,在一些特性的支持下也受到底層架構(gòu)的限制,但是這些限制隨著版本迭代正在不斷被消除,使得Hive看起來越來越像傳統(tǒng)的數(shù)據(jù)庫。
1、數(shù)據(jù)存儲位置。Hive是建立在Hadoop之上的,所有的Hive的數(shù)據(jù)都是存儲在HDFS中的。而數(shù)據(jù)庫則可以將數(shù)據(jù)保存在塊設(shè)備或本地文件系統(tǒng)中。
2、數(shù)據(jù)格式。Hive中沒有定義專門的數(shù)據(jù)格式,由用戶指定,需要指定三個屬性:列分隔符,行分隔符,以及讀取文件數(shù)據(jù)的方法。數(shù)據(jù)庫中,存儲引擎定義了自己的數(shù)據(jù)格式。所有數(shù)據(jù)都會按照一定的組織存儲。
3、數(shù)據(jù)更新。Hive的內(nèi)容是讀多寫少的,因此,不支持對數(shù)據(jù)的改寫和刪除,數(shù)據(jù)都在加載的時候中確定好的。數(shù)據(jù)庫中的數(shù)據(jù)通常是需要經(jīng)常進(jìn)行修改。
4、執(zhí)行延遲。Hive在查詢數(shù)據(jù)的時候,需要掃描整個表(或分區(qū)),因此延遲較高,只有在處理大數(shù)據(jù)是才有優(yōu)勢。數(shù)據(jù)庫在處理小數(shù)據(jù)是執(zhí)行延遲較低。
5、索引。Hive沒有,數(shù)據(jù)庫有
6、執(zhí)行。Hive是MapReduce,數(shù)據(jù)庫是Executor
7、可擴(kuò)展性。Hive高,數(shù)據(jù)庫低
8、數(shù)據(jù)規(guī)模。Hive大,數(shù)據(jù)庫小