精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當(dāng)前位置:存儲(chǔ)企業(yè)動(dòng)態(tài) → 正文

技術(shù)經(jīng)驗(yàn)分享:漫談OceanBase 列式存儲(chǔ)

責(zé)任編輯:zsheng 作者:凌洛  |來源:企業(yè)網(wǎng)D1Net  2018-06-30 11:23:46 本文摘自:云棲社區(qū)  

列式存儲(chǔ)主要的目的有兩個(gè):

大部分OLAP查詢只需要讀取部分列而不是全部列數(shù)據(jù),列式存儲(chǔ)可以避免讀取無用數(shù)據(jù);

將同一列的數(shù)據(jù)在物理上存放在一起,能夠極大地提高數(shù)據(jù)壓縮率。

OLAP和OLTP

OLAP,也叫聯(lián)機(jī)分析處理(Online Analytical Processing)系統(tǒng),有的時(shí)候也叫DSS決策支持系統(tǒng),就是我們說的數(shù)據(jù)倉庫。在這樣的系統(tǒng)中,語句的執(zhí)行量不是考核標(biāo)準(zhǔn),因?yàn)橐粭l語句的執(zhí)行時(shí)間可能會(huì)非常長,讀取的數(shù)據(jù)也非常多。所以,在這樣的系統(tǒng)中,考核的標(biāo)準(zhǔn)往往是磁盤子系統(tǒng)的吞吐量(帶寬),如能達(dá)到多少M(fèi)B/s的流量。

在OLAP系統(tǒng)中,常使用分區(qū)技術(shù)、并行技術(shù)。

分區(qū)技術(shù)在OLAP系統(tǒng)中的重要性主要體現(xiàn)在數(shù)據(jù)庫管理上,比如數(shù)據(jù)庫加載,可以通過分區(qū)交換的方式實(shí)現(xiàn),備份可以通過備份分區(qū)表空間實(shí)現(xiàn),刪除數(shù)據(jù)可以通過分區(qū)進(jìn)行刪除,至于分區(qū)在性能上的影響,它可以使得一些大表的掃描變得很快(只掃描單個(gè)分區(qū))。另外,如果分區(qū)結(jié)合并行的話,也可以使得整個(gè)表的掃描會(huì)變得很快。總之,分區(qū)主要的功能是管理上的方便性,它并不能絕對(duì)保證查詢性能的提高,有時(shí)候分區(qū)會(huì)帶來性能上的提高,有時(shí)候會(huì)降低。

在OLAP系統(tǒng)中,不需要使用綁定(BIND)變量,因?yàn)檎麄€(gè)系統(tǒng)的執(zhí)行量很小,分析時(shí)間對(duì)于執(zhí)行時(shí)間來說,可以忽略,而且可避免出現(xiàn)錯(cuò)誤的執(zhí)行計(jì)劃。但是OLAP中可以大量使用位圖索引,物化視圖,對(duì)于大的事務(wù),盡量尋求速度上的優(yōu)化,沒有必要像OLTP要求快速提交,甚至要刻意減慢執(zhí)行的速度。

綁定變量真正的用途是在OLTP系統(tǒng)中,這個(gè)系統(tǒng)通常有這樣的特點(diǎn),用戶并發(fā)數(shù)很大,用戶的請(qǐng)求十分密集,并且這些請(qǐng)求的SQL 大多數(shù)是可以重復(fù)使用的。

OLTP,也叫聯(lián)機(jī)事務(wù)處理(Online Transaction Processing),表示事務(wù)性非常高的系統(tǒng),一般都是高可用的在線系統(tǒng),以小的事務(wù)以及小的查詢?yōu)橹鳎u(píng)估其系統(tǒng)的時(shí)候,一般看其每秒執(zhí)行的Transaction以及Execute SQL的數(shù)量。在這樣的系統(tǒng)中,單個(gè)數(shù)據(jù)庫每秒處理的Transaction往往超過幾百個(gè),或者是幾千個(gè),Select 語句的執(zhí)行量每秒幾千甚至幾萬個(gè)。典型的OLTP系統(tǒng)有電子商務(wù)系統(tǒng)、銀行、證券等,如美國eBay的業(yè)務(wù)數(shù)據(jù)庫,就是很典型的OLTP數(shù)據(jù)庫。

列組(Column Group)

OceanBase通過列組支持行列混合存儲(chǔ),每個(gè)列組存儲(chǔ)多個(gè)經(jīng)常一起訪問的列。

 

技術(shù)經(jīng)驗(yàn)分享:漫談OceanBase 列式存儲(chǔ)

 

技術(shù)經(jīng)驗(yàn)分享:漫談OceanBase 列式存儲(chǔ)

如上圖所示,OceanBase SSTable首先按照列組存儲(chǔ),每個(gè)列組內(nèi)部再按行存儲(chǔ)。分為幾種情況:

·所有列屬于同一個(gè)列組。數(shù)據(jù)在SSTable中按行存儲(chǔ),OLTP應(yīng)用往往配置為這種方式。

·每列對(duì)應(yīng)一個(gè)列組。數(shù)據(jù)在SSTable中按列存儲(chǔ),這種方式在實(shí)際應(yīng)用中比較少見。

·每個(gè)列組對(duì)應(yīng)一行數(shù)據(jù)的部分列。數(shù)據(jù)在SSTable中按行列混合存儲(chǔ),OLAP應(yīng)用往往配置為這種方式。

OceanBase還允許一個(gè)列屬于多個(gè)列組,通過冗余存儲(chǔ)這些列,能夠提高訪問性能。例如,某表格總共包含5列,用戶經(jīng)常一起訪問(1,3,5)或者(1,2,3,4)列。如果將(1,3,5)和(l,2,3,4)存儲(chǔ)到兩個(gè)列組中,那么,大部分訪問只需要讀取一個(gè)列組,避免了多個(gè)列組的合并操作。

列式存儲(chǔ)提高了數(shù)據(jù)壓縮比,然面,實(shí)踐過程中我們發(fā)現(xiàn),由于OceanBase最初的幾個(gè)版本內(nèi)存操作實(shí)現(xiàn)得不夠精細(xì),例如數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)不合理,數(shù)據(jù)在內(nèi)存中膨脹很多倍,導(dǎo)致大查詢的性能瓶頸集中在CPU,列式存儲(chǔ)的優(yōu)勢(shì)完全沒有發(fā)揮出來。這就告訴我們,列式存儲(chǔ)的前提是設(shè)計(jì)好內(nèi)存數(shù)據(jù)結(jié)構(gòu),把CPU操作優(yōu)化好,否則,后續(xù)的工作都是無用功。為了更好地支持OLAP應(yīng)用,新版的OceanBase將重新設(shè)計(jì)列式存儲(chǔ)引擎。

關(guān)鍵字:存儲(chǔ)經(jīng)驗(yàn)技術(shù)

本文摘自:云棲社區(qū)  

x 技術(shù)經(jīng)驗(yàn)分享:漫談OceanBase 列式存儲(chǔ) 掃一掃
分享本文到朋友圈
當(dāng)前位置:存儲(chǔ)企業(yè)動(dòng)態(tài) → 正文

技術(shù)經(jīng)驗(yàn)分享:漫談OceanBase 列式存儲(chǔ)

責(zé)任編輯:zsheng 作者:凌洛  |來源:企業(yè)網(wǎng)D1Net  2018-06-30 11:23:46 本文摘自:云棲社區(qū)  

列式存儲(chǔ)主要的目的有兩個(gè):

大部分OLAP查詢只需要讀取部分列而不是全部列數(shù)據(jù),列式存儲(chǔ)可以避免讀取無用數(shù)據(jù);

將同一列的數(shù)據(jù)在物理上存放在一起,能夠極大地提高數(shù)據(jù)壓縮率。

OLAP和OLTP

OLAP,也叫聯(lián)機(jī)分析處理(Online Analytical Processing)系統(tǒng),有的時(shí)候也叫DSS決策支持系統(tǒng),就是我們說的數(shù)據(jù)倉庫。在這樣的系統(tǒng)中,語句的執(zhí)行量不是考核標(biāo)準(zhǔn),因?yàn)橐粭l語句的執(zhí)行時(shí)間可能會(huì)非常長,讀取的數(shù)據(jù)也非常多。所以,在這樣的系統(tǒng)中,考核的標(biāo)準(zhǔn)往往是磁盤子系統(tǒng)的吞吐量(帶寬),如能達(dá)到多少M(fèi)B/s的流量。

在OLAP系統(tǒng)中,常使用分區(qū)技術(shù)、并行技術(shù)。

分區(qū)技術(shù)在OLAP系統(tǒng)中的重要性主要體現(xiàn)在數(shù)據(jù)庫管理上,比如數(shù)據(jù)庫加載,可以通過分區(qū)交換的方式實(shí)現(xiàn),備份可以通過備份分區(qū)表空間實(shí)現(xiàn),刪除數(shù)據(jù)可以通過分區(qū)進(jìn)行刪除,至于分區(qū)在性能上的影響,它可以使得一些大表的掃描變得很快(只掃描單個(gè)分區(qū))。另外,如果分區(qū)結(jié)合并行的話,也可以使得整個(gè)表的掃描會(huì)變得很快。總之,分區(qū)主要的功能是管理上的方便性,它并不能絕對(duì)保證查詢性能的提高,有時(shí)候分區(qū)會(huì)帶來性能上的提高,有時(shí)候會(huì)降低。

在OLAP系統(tǒng)中,不需要使用綁定(BIND)變量,因?yàn)檎麄€(gè)系統(tǒng)的執(zhí)行量很小,分析時(shí)間對(duì)于執(zhí)行時(shí)間來說,可以忽略,而且可避免出現(xiàn)錯(cuò)誤的執(zhí)行計(jì)劃。但是OLAP中可以大量使用位圖索引,物化視圖,對(duì)于大的事務(wù),盡量尋求速度上的優(yōu)化,沒有必要像OLTP要求快速提交,甚至要刻意減慢執(zhí)行的速度。

綁定變量真正的用途是在OLTP系統(tǒng)中,這個(gè)系統(tǒng)通常有這樣的特點(diǎn),用戶并發(fā)數(shù)很大,用戶的請(qǐng)求十分密集,并且這些請(qǐng)求的SQL 大多數(shù)是可以重復(fù)使用的。

OLTP,也叫聯(lián)機(jī)事務(wù)處理(Online Transaction Processing),表示事務(wù)性非常高的系統(tǒng),一般都是高可用的在線系統(tǒng),以小的事務(wù)以及小的查詢?yōu)橹鳎u(píng)估其系統(tǒng)的時(shí)候,一般看其每秒執(zhí)行的Transaction以及Execute SQL的數(shù)量。在這樣的系統(tǒng)中,單個(gè)數(shù)據(jù)庫每秒處理的Transaction往往超過幾百個(gè),或者是幾千個(gè),Select 語句的執(zhí)行量每秒幾千甚至幾萬個(gè)。典型的OLTP系統(tǒng)有電子商務(wù)系統(tǒng)、銀行、證券等,如美國eBay的業(yè)務(wù)數(shù)據(jù)庫,就是很典型的OLTP數(shù)據(jù)庫。

列組(Column Group)

OceanBase通過列組支持行列混合存儲(chǔ),每個(gè)列組存儲(chǔ)多個(gè)經(jīng)常一起訪問的列。

 

技術(shù)經(jīng)驗(yàn)分享:漫談OceanBase 列式存儲(chǔ)

 

技術(shù)經(jīng)驗(yàn)分享:漫談OceanBase 列式存儲(chǔ)

如上圖所示,OceanBase SSTable首先按照列組存儲(chǔ),每個(gè)列組內(nèi)部再按行存儲(chǔ)。分為幾種情況:

·所有列屬于同一個(gè)列組。數(shù)據(jù)在SSTable中按行存儲(chǔ),OLTP應(yīng)用往往配置為這種方式。

·每列對(duì)應(yīng)一個(gè)列組。數(shù)據(jù)在SSTable中按列存儲(chǔ),這種方式在實(shí)際應(yīng)用中比較少見。

·每個(gè)列組對(duì)應(yīng)一行數(shù)據(jù)的部分列。數(shù)據(jù)在SSTable中按行列混合存儲(chǔ),OLAP應(yīng)用往往配置為這種方式。

OceanBase還允許一個(gè)列屬于多個(gè)列組,通過冗余存儲(chǔ)這些列,能夠提高訪問性能。例如,某表格總共包含5列,用戶經(jīng)常一起訪問(1,3,5)或者(1,2,3,4)列。如果將(1,3,5)和(l,2,3,4)存儲(chǔ)到兩個(gè)列組中,那么,大部分訪問只需要讀取一個(gè)列組,避免了多個(gè)列組的合并操作。

列式存儲(chǔ)提高了數(shù)據(jù)壓縮比,然面,實(shí)踐過程中我們發(fā)現(xiàn),由于OceanBase最初的幾個(gè)版本內(nèi)存操作實(shí)現(xiàn)得不夠精細(xì),例如數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)不合理,數(shù)據(jù)在內(nèi)存中膨脹很多倍,導(dǎo)致大查詢的性能瓶頸集中在CPU,列式存儲(chǔ)的優(yōu)勢(shì)完全沒有發(fā)揮出來。這就告訴我們,列式存儲(chǔ)的前提是設(shè)計(jì)好內(nèi)存數(shù)據(jù)結(jié)構(gòu),把CPU操作優(yōu)化好,否則,后續(xù)的工作都是無用功。為了更好地支持OLAP應(yīng)用,新版的OceanBase將重新設(shè)計(jì)列式存儲(chǔ)引擎。

關(guān)鍵字:存儲(chǔ)經(jīng)驗(yàn)技術(shù)

本文摘自:云棲社區(qū)  

電子周刊
回到頂部

關(guān)于我們聯(lián)系我們版權(quán)聲明隱私條款廣告服務(wù)友情鏈接投稿中心招賢納士

企業(yè)網(wǎng)版權(quán)所有 ©2010-2024 京ICP備09108050號(hào)-6 京公網(wǎng)安備 11010502049343號(hào)

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 临潭县| 晋州市| 南汇区| 庆阳市| 房产| 永川市| 法库县| 松滋市| 威海市| 桂平市| 蓬莱市| 盐城市| 边坝县| 无锡市| 舟曲县| 漳浦县| 喜德县| 临夏县| 新营市| 台州市| 沁阳市| 彰化市| 晋中市| 巴林左旗| 青川县| 垫江县| 黑河市| 平阳县| 赤城县| 罗城| 旺苍县| 安丘市| 军事| 鹰潭市| 二手房| 通州市| 金川县| 札达县| 康马县| 榆中县| 库车县|