1. 程式人生 > >Hive部分:行式儲存和列式儲存的比較

Hive部分:行式儲存和列式儲存的比較

行式儲存和列式儲存的比較:

列式儲存(Columnar or column-based)是相對於傳統關係型資料庫的行式儲存(Row-basedstorage)來說的。簡單來說兩者的區別就是如何組織表:

Ø  Row-based storage stores atable in a sequence of rows.

Ø  Column-based storage storesa table in a sequence of columns.

行式儲存下一張表的資料都是放在一起的,但列式儲存下都被分開儲存了。所以它們就有了如下這些優缺點:

行式儲存:

優點:資料被儲存在一起了,insert和update更加容易

缺點:選擇(selection)時即時只涉及某幾列,所有資料也都會被讀取

列式儲存:

優點:查詢時只有涉及到的列會被讀取;投影(projection)很高效;任何列都能作為索引

缺點:選擇完成時,被選擇的列要重新組裝,insert/update會比較麻煩