RDBMS是寫模式
Hive是讀模式
我們傳統的關系型數據庫RDBMS是寫模式。在RDBMS里,我們對表進行數據操作時候,RDBMS會用數據庫的第一第二第三范式去檢查數據的規范性,如果不符合規范,數據庫就拒絕數據的加載和操作。這個驗證過程消耗資源,在數據量大的時候,會影響效率。因為日常的關系型數據庫處理的數據不是很多,效率慢點沒關系。
大數據在對數據的加載的時候不進行校驗,如果校驗將降低效率,導致消息阻塞,影響數據庫的讀取效率。
關系型數據庫RDBMS主要處理的是結構化的數據,對數據源本身就有很好的規范,加載結構化有規范的數據時候,可以進行校驗。而hadoop等的大數據平臺保存的數據源有些是結構化的,有些不是結構化的,無規律的,沒聯系的數據。無法進行校驗,檢測。如果檢測,將導致大量不符合第一第二第三范式的數據不能保存。
所以,hive這種讀的模式,加載數據很快,減少延遲。而在數據具體使用的時候,再去處理,極高地提高了效率。如果補數據不符合建表規范,比如:表字段是int類型,而導入的是string類型,則hive會保存為null。
hive不支持對行的操作,只支持對數據的覆蓋和追加操作。