首页
/
每日頭條
/
圖文
/
列存儲與行存儲區别
列存儲與行存儲區别
更新时间:2026-05-15 06:34:34

目前大數據存儲有兩種方案可供選擇:行存儲(Row-Based)和列存儲(Column-Based)。

列存儲與行存儲區别(了解一下列存儲及其特點)1

什麼是列存儲

列式存儲(column-based)是相對于傳統關系型數據庫的行式存儲(Row-basedstorage)來說的。簡單的來說就是數據的存儲方式是按照列方向來存儲的。

列存儲與行存儲區别(了解一下列存儲及其特點)2

簡單來說兩者的區别就是如何從上圖可以看出行存儲數據條都是在一起的,列存儲中數據是分開存放的。

行存儲 VS 列存儲
  1. 按數據讀取方式

1)數據讀取時,行存儲通常将一行數據完全讀出,如果隻需要其中幾列數據的情況,就會存在冗餘列,出于縮短處理時間的考量,消除冗餘列的過程通常是在内存中進行的。

2)列存儲每次讀取的數據是集合的一段或者全部,不存在冗餘性問題。

3) 兩種存儲的數據分布。由于列存儲的每一列數據類型是同質的,不存在二義性問題。比如說某列數據類型為整型(int),那麼它的數據集合一定是整型數據。這種情況使數據解析變得十分容易。相比之下,行存儲則要複雜得多,因為在一行記錄中保存了多種類型的數據,數據解析需要在多種數據類型之間頻繁轉換,這個操作很消耗CPU,增加了解析的時間。所以,列存儲的解析過程更有利于分析大數據。

4)從數據的壓縮以及更性能的讀取來對比

列存儲與行存儲區别(了解一下列存儲及其特點)3

列存儲與行存儲區别(了解一下列存儲及其特點)4

  1. 按數據寫入方式

1)行存儲的寫入是一次完成。如果這種寫入建立在操作系統的文件系統上,可以保證寫入過程的成功或者失敗,數據的完整性因此可以确定。

2)列存儲由于需要把一行記錄拆分成單列保存,寫入次數明顯比行存儲多(意味着磁頭調度次數多,而磁頭調度是需要時間的,一般在1ms~10ms) ,再加上磁頭需要在盤片上移動和定位花費的時間,實際時間消耗會更大。所以,行存儲在寫入上占有很大的優勢。

3)還有數據修改,這實際也是一次寫入過程。不同的是,數據修改是對磁盤上的記錄做删除标記。行存儲是在指定位置寫入一次,列存儲是将磁盤定位到多個列上分别寫入,這個過程仍是行存儲的列數倍。所以,數據修改也是以行存儲占優。

列存儲使用場景

1)一般來說,一個OLAP類型的查詢可能需要訪問幾百萬甚至幾十億個數據行,且該查詢往往隻關心少數幾個數據列。例如,查詢今年銷量最高的前20個商品,這個查詢隻關心三個數據列:時間(date)、商品(item)以及銷售量(sales amount)。商品的其他數據列,例如商品URL、商品描述、商品所屬店鋪,等等,對這個查詢都是沒有意義的。

而列式數據庫隻需要讀取存儲着“時間、商品、銷量”的數據列,而行式數據庫需要讀取所有的數據列。因此,列式數據庫大大地提高了OLAP大數據量查詢的效率

OLTP OnLine TransactionProcessor 在線聯機事務處理系統(比如Mysql,Oracle等産品)

OLAP OnLine AnalaysierProcessor 在線聯機分析處理系統(比如Hive Hbase等)

2)很多列式數據庫還支持列族(column group,Bigtable系統中稱為locality group),即将多個經常一起訪問的數據列的各個值存放在一起。如果讀取的數據列屬于相同的列族,列式數據庫可以從相同的地方一次性讀取多個數據列的值,避免了多個數據列的合并。列族是一種行列混合存儲模式,這種模式能夠同時滿足OLTP和OLAP的查詢需求。

3)此外,由于同一個數據列的數據重複度很高,因此,列式數據庫壓縮時有很大的優勢。

總結

行式數據庫的特征如下:

①數據是按行存儲的。

②沒有索引的查詢使用大量I/O。比如一般的數據庫表都會建立索引,通過索引加快查詢效率。

③建立索引和物化視圖需要花費大量的時間和資源。

④面對查詢需求,數據庫必須被大量膨脹才能滿足需求。

列式數據庫的特性如下:

①數據按列存儲,即每一列單獨存放。

②數據即索引。

③隻訪問查詢涉及的列,可以大量降低系統I/O。

④每一列由一個線程來處理,即查詢的并發處理性能高。

⑤數據類型一緻,數據特征相似,可以高效壓縮。比如有增量壓縮、前綴壓縮算法都是基于列存儲的類型定制的,所以可以大幅度提高壓縮比,有利于存儲和網絡輸出數據帶寬的消耗。

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
聶遠妻子秦子越家庭背景(聶遠攜愛妻秦子越低調現身機場)
聶遠妻子秦子越家庭背景(聶遠攜愛妻秦子越低調現身機場)
  今天,有媒體曝光了一組近日聶遠與妻子秦子越一同回京的照片中。夫妻倆戴着口罩、帽子低調現身,全程雙手緊握,小動作恩愛又甜蜜,在機場默默地秀了一波恩愛~      去年,聶遠憑借《延禧攻略》、《皓镧傳》這兩部熱播劇再次翻紅,也收獲了“大豬蹄子”的稱号。雖然在戲中是“大豬蹄子”,但到了劇外,聶遠卻是一位對妻子、女兒極盡寵愛的好丈夫,好爸爸。      當天,聶...
2026-05-15
秦時明月曉夢結局是什麼(秦時明月不可忽視的曉夢大師)
秦時明月曉夢結局是什麼(秦時明月不可忽視的曉夢大師)
  《秦時明月》動畫中儒家是最講究長幼尊卑和禮數的一個門派,桑海儒家小聖賢莊有三位當家,分别是掌門人伏念、二當家顔路和三當家張良,被稱為“齊魯三傑”。三人雖同屬儒家一脈,但性格其實頗為不同,張良身處儒家實則崇尚墨家,顔路喜歡恬淡不問世事,唯有大師兄伏念最講禮數,曾因天明少羽之事責怪兩位師弟。      伏念推崇王道治國,獨創“聖王劍法”,對于儒家學說和天下大...
2026-05-15
睡前運動操瘦腿(睡前15秒瘦大腿操輕松燃脂)
睡前運動操瘦腿(睡前15秒瘦大腿操輕松燃脂)
  睡前15秒瘦大腿操輕松燃脂   大腿好難瘦?大腿是很多女生公認最難減的位置,鏟除肥厚馬鞍肉、松垮大腿肉,天天做瘦腿操,2步驟就能燃燒深層脂肪,幫助鍛煉腿部肌肉!      繁忙的日常生活之中,總為了家庭、工作以及育兒等等蠟燭多頭燒,天天長時間在辦公室裡前傾盯着電腦,或是久站服務客人,導緻雖然身心疲勞,身體卻因為缺乏活動而血液循環不良,再加上不敵歲月流逝,...
2026-05-15
金瀚把李一桐按進蛋糕(烏雲遇皎月李一桐曾可妮平分秋色)
金瀚把李一桐按進蛋糕(烏雲遇皎月李一桐曾可妮平分秋色)
  #頭條創作挑戰賽#   《烏雲遇皎月》正在熱播中,該劇集合了懸疑、愛情、浪漫、奇幻等元素,主要講述了學霸修理工與懸疑推理女作家的愛情故事。   《烏雲遇皎月》改拍自丁墨的原著小說,男主邬遇(金瀚飾演)與譚皎(李一桐飾演)在一次郵輪旅行中相遇,二人一見鐘情。旅行結束後,譚皎和邬遇的部分記憶缺失,邬遇失去了幾天的記憶,而譚皎失去了一年前的記憶。      譚...
2026-05-15
養老生活别提有多舒心(養老生活越過越甜)
養老生活别提有多舒心(養老生活越過越甜)
     9月19日,鄭州市金水區梓聞社會工作服務中心的社工陪伴老人練習書法。本報記者 王铮 攝   □本報記者 王向前   今年10月1日,《河南省養老服務條例》(以下簡稱《條例》)将施行。為貫徹實施好《條例》,9月23日,省政府新聞辦舉行新聞發布會,發布河南養老服務發展願景。   疏通“堵點”,《條例》肩負重大責任   我省60歲以上人口1796萬人,占...
2026-05-15
Copyright 2023-2026 - www.tftnews.com All Rights Reserved