存儲格式
衆所周知,大數據有兩種存儲格式:行存儲、列存儲,下面我們就來比較一下這兩種存儲格式的區別。首先來看一下兩種格式的數據排列方式:
行存儲數據排列
列存儲數據排列
性能比較
兩種存儲格式都有各自的優缺點:行存儲的寫入是一次性完成,消耗的時間比列存儲少,並且能夠保證數據的完整性,缺點是數據讀取過程中會產生冗餘數據,如果只有少量數據,此影響可以忽略;數量大可能會影響到數據的處理效率。列存儲在寫入效率、保證數據完整性上都不如行存儲,它的優勢是在讀取過程,不會產生冗餘數據,這對數據完整性要求不高的大數據處理領域
參考:https://www.infoq.cn/article/bigdata-store-choose/
壓縮格式
在使用壓縮方式方面,主要考慮壓縮速度和壓縮文件的可分割性。
下面是Hadoop 對每個壓縮格式的支持:
性能對比
因此我們可以得出:
-
Bzip2 壓縮效果明顯是最好的,但是 bzip2 壓縮速度慢,可分割。
-
Gzip 壓縮效果不如 Bzip2,但是壓縮解壓速度快,不支持分割。
-
LZO 壓縮效果不如 Bzip2 和 Gzip,但是壓縮解壓速度最快!並且支持分割!
參考:https://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-compression-analysis/