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