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

目前大數據存儲有兩種方案可供選擇:行存儲(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
推荐阅读
讓女生心動的撩人情話表白必備(讓女生無法拒絕的表白情話)
讓女生心動的撩人情話表白必備(讓女生無法拒絕的表白情話)
     1、遇上你的感覺,大概是走了很久的路,終于到家了!   2、我是很慢熱的人,但是我保溫性能很好,一旦熱起來,就不會涼下去,比如喜歡你!   3、我雖然不善言辭,但關于愛你,我無法掩飾!   4、我沒有取悅你的天分,但我比誰都認真。   5、對你遷就一生,是我能給你的,蕞好的聘禮!   6、我的生活,就像一杯白開水,但是你的出現,像是在裡面偷偷加了一...
2026-05-13
畫師wlop繪畫欣賞(繪畫大神WLOP光與影的交織)
畫師wlop繪畫欣賞(繪畫大神WLOP光與影的交織)
                                                                                         ,
2026-05-13
又感人又甜的甜寵劇推薦(下飯又助眠的甜寵劇)
又感人又甜的甜寵劇推薦(下飯又助眠的甜寵劇)
  甜寵劇下飯又助眠,是當下電視劇(網劇)市場的一大主流。   在最簡單的世界裡,談最純粹的戀愛,讓人感受歲月靜好。   這些劇的特點是從頭到尾男女主“抱抱親親舉高高”,外加各種花式“高甜撒糖”。   看了這種甜膩款戀愛,有沒有想戀愛的感覺?你該如何安放一顆少女心?            劇名:我與你的光年距離   主演: 宋威龍 / 周雨彤 / 王以綸  ...
2026-05-13
台州必爬的12大名山你去過幾座(黃岩兩大名山與東漢)
台州必爬的12大名山你去過幾座(黃岩兩大名山與東漢)
     第二洞天内      第二洞天外      東華帝君      大有宮      東皇镛   台州通   東華帝君,姓王,名玄甫,又稱東君、東木公、東王(皇)公、青童君、元陽父、方諸君、東皇太一、扶桑大帝等。東王公于漢代有記載,跟漢代的陰陽觀念有關,是代表“陽”的男神。   東王公就是東華帝君   漢代記載的東王公,可能與先秦楚地的太陽神——東君等...
2026-05-13
河南省豫劇團八珍湯全場(豫劇八珍湯在新中劇院上演)
河南省豫劇團八珍湯全場(豫劇八珍湯在新中劇院上演)
     6月18日,經典豫劇傳統戲《八珍湯》在新中劇院上演,30歲的演員馬玲(左)在劇中扮演60歲的孫淑林。 (全媒體記者王煜攝)   新疆網訊(全媒體記者王煜)6月18日下午,新疆生産建設兵團豫劇團的演員們在新中劇院獻上了經典豫劇傳統戲《八珍湯》,不少戲迷前來捧場。   “捧一盞熱茶兒寒腸回暖,冰心化淚又濺我叩謝恩人……”演員唱腔蕩氣回腸,抑揚有度,觀衆...
2026-05-13
Copyright 2023-2026 - www.tftnews.com All Rights Reserved