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

當(dāng)前位置:大數(shù)據(jù)數(shù)據(jù)庫(kù) → 正文

阿里正祥解讀OceanBase為何沒(méi)有做成全內(nèi)存數(shù)據(jù)庫(kù)

責(zé)任編輯:editor005 作者:阿里正祥 |來(lái)源:企業(yè)網(wǎng)D1Net  2015-03-18 15:40:02 本文摘自:TechTarget中國(guó)

OceanBase是由淘寶核心系統(tǒng)研發(fā)部、運(yùn)維、DBA、廣告、應(yīng)用研發(fā)等部門共同開(kāi)發(fā)的一款支持海量數(shù)據(jù)的高性能分布式數(shù)據(jù)庫(kù)系統(tǒng),目前已經(jīng)應(yīng)用于淘寶收藏夾,用于存儲(chǔ)淘寶用戶收藏條目和具體的商品、店鋪信息,每天支持4~5千萬(wàn)的更新操作。

在這篇文章中,OceanBase的掌門人陽(yáng)振坤 (@阿里正祥)解釋了為什么OceanBase可以把一天的修改增量置于內(nèi)存,以及為什么OceanBase沒(méi)有做成全內(nèi)存數(shù)據(jù)庫(kù)(如VoltDB,MemSQL)。

早在2010年5月,在OceanBase立項(xiàng)前,項(xiàng)目團(tuán)隊(duì)對(duì)許多數(shù)據(jù)庫(kù)應(yīng)用進(jìn)行了分析,讓我們看幾個(gè)例子:
1. 全國(guó)人口數(shù)據(jù)庫(kù)
全國(guó)的人口數(shù)據(jù)庫(kù)很大,目前活著的人口有14億條左右的記錄,加上已經(jīng)去世的人數(shù)量就更多,但每天修改的記錄主要是出生(目前每天5萬(wàn)左右),死亡(目前每天2~3萬(wàn))和其他修改(如人口遷移、錯(cuò)誤修正等),每天增刪改的記錄,可能不到記錄總數(shù)的1%。

2. 金融機(jī)構(gòu)的交易庫(kù)
交易庫(kù)是金融機(jī)構(gòu)(支付寶,銀行等)的交易流水記錄,主要是新增記錄,但如果考慮到金融機(jī)構(gòu)通常在線上保存1年或以上的交易記錄,那么一天內(nèi)增刪改的記錄就只是一個(gè)很小的比例,即使只在線上保存3個(gè)月的交易記錄,每天增刪改的記錄也只占總記錄的百分之幾。

3. 金融機(jī)構(gòu)的賬務(wù)庫(kù)
賬務(wù)庫(kù)保存著金融機(jī)構(gòu)(支付寶,銀行等)的客戶的賬務(wù)余額,可能有幾千萬(wàn)甚至幾億條記錄,但一天內(nèi)增刪改的記錄則是那些當(dāng)天有付款收款等交易,或者有其他特殊情況(例如銷戶等)的賬戶,因此也是一個(gè)很小的比例。

上述的例子和對(duì)其他數(shù)據(jù)庫(kù)應(yīng)用的分析讓OceanBase項(xiàng)目團(tuán)隊(duì)發(fā)現(xiàn)了一個(gè)隱藏在數(shù)據(jù)庫(kù)背后的事實(shí):即盡管數(shù)據(jù)庫(kù)本身的數(shù)據(jù)量越來(lái)越大,記錄數(shù)越來(lái)越多,但每天的增刪改數(shù)據(jù)量并不大,僅僅只占數(shù)據(jù)庫(kù)總量一個(gè)很小的比例:

數(shù)據(jù)庫(kù)每天增刪改的數(shù)據(jù)量只占總量一個(gè)很小的比例

很多數(shù)據(jù)庫(kù)每次只修改幾十到幾百字節(jié),按平均100字節(jié)計(jì)算,每天10億次寫,其總修改量大約是100GB,單個(gè)服務(wù)器內(nèi)存就可以容納;即使每筆寫事務(wù)4KB,每天10億筆寫事務(wù),總修改量大約4TB,16臺(tái)256GB內(nèi)存或者8臺(tái)512GB內(nèi)存服務(wù)器也可以支撐(不考慮熱備等因素)。

根據(jù)上述分析,OceanBase把修改增量(包括增刪改,下同)置于內(nèi)存,每天在業(yè)務(wù)的相對(duì)低谷期再合并到基線數(shù)據(jù)中并釋放內(nèi)存(參見(jiàn)下篇:“錯(cuò)峰合并消除OceanBase每日合并對(duì)性能的影響”),從而使得OceanBase徹底消除了寫事務(wù)的隨機(jī)寫磁盤,極大地提升了性能。

為了支持上述特性,OceanBase采取了針對(duì)性的設(shè)計(jì):

1. 設(shè)計(jì)實(shí)現(xiàn)了內(nèi)存B樹(shù)以保存和讀寫修改增量

支持記錄的插入、刪除和修改以及單項(xiàng)和范圍讀

2. 內(nèi)存中數(shù)據(jù)只保存增量本身而不是對(duì)應(yīng)的數(shù)據(jù)頁(yè)
很多數(shù)據(jù)庫(kù)單個(gè)表的單個(gè)寫事務(wù)平均大小僅僅100字節(jié)左右,而數(shù)據(jù)庫(kù)的數(shù)據(jù)頁(yè)常常是8KB,這意味著8KB/100B=80倍的放大,因此如果OceanBase像其他商業(yè)和開(kāi)源數(shù)據(jù)庫(kù)一樣用數(shù)據(jù)頁(yè),就需要把內(nèi)存增加80倍。

3. 主庫(kù)備庫(kù)(一主多備)為active-active而非active-standby模式
修改增量全部置于內(nèi)存,雖然極大提升了性能,但也帶來(lái)了風(fēng)險(xiǎn),即一旦服務(wù)器宕機(jī),恢復(fù)時(shí)間可能比較長(zhǎng),為了克服這一風(fēng)險(xiǎn),OceanBase沒(méi)有像其他商業(yè)/開(kāi)源數(shù)據(jù)庫(kù)一樣把備庫(kù)做成standby模式,而是active模式,即主庫(kù)故障后備庫(kù)可以瞬間升級(jí)到主庫(kù)并繼續(xù)提供服務(wù)。

盡管全內(nèi)存的數(shù)據(jù)庫(kù)性能更高,但出于成本,特別是性價(jià)比的考慮,OceanBase沒(méi)有采用全內(nèi)存設(shè)計(jì):
1. 數(shù)據(jù)庫(kù)中大部分?jǐn)?shù)據(jù)是冷數(shù)據(jù),以80/20法則為例,80%的訪問(wèn)由20%的數(shù)據(jù)提供,把其余80%數(shù)據(jù)跟頻繁訪問(wèn)的20%數(shù)據(jù)同等對(duì)待(置于內(nèi)存),顯然不經(jīng)濟(jì);
2. 單臺(tái)服務(wù)器的內(nèi)存容量只有磁盤(SSD)容量的1/10~1/20,如果采用全內(nèi)存設(shè)計(jì),就意味著10~20倍數(shù)量的服務(wù)器。

如果你對(duì)OceanBase感興趣,可以關(guān)注OceanBase的微博,或者上GitHub OceanBase頁(yè)面了解更多。

關(guān)鍵字:OceanBase內(nèi)存數(shù)據(jù)庫(kù)

本文摘自:TechTarget中國(guó)

x 阿里正祥解讀OceanBase為何沒(méi)有做成全內(nèi)存數(shù)據(jù)庫(kù) 掃一掃
分享本文到朋友圈
當(dāng)前位置:大數(shù)據(jù)數(shù)據(jù)庫(kù) → 正文

阿里正祥解讀OceanBase為何沒(méi)有做成全內(nèi)存數(shù)據(jù)庫(kù)

責(zé)任編輯:editor005 作者:阿里正祥 |來(lái)源:企業(yè)網(wǎng)D1Net  2015-03-18 15:40:02 本文摘自:TechTarget中國(guó)

OceanBase是由淘寶核心系統(tǒng)研發(fā)部、運(yùn)維、DBA、廣告、應(yīng)用研發(fā)等部門共同開(kāi)發(fā)的一款支持海量數(shù)據(jù)的高性能分布式數(shù)據(jù)庫(kù)系統(tǒng),目前已經(jīng)應(yīng)用于淘寶收藏夾,用于存儲(chǔ)淘寶用戶收藏條目和具體的商品、店鋪信息,每天支持4~5千萬(wàn)的更新操作。

在這篇文章中,OceanBase的掌門人陽(yáng)振坤 (@阿里正祥)解釋了為什么OceanBase可以把一天的修改增量置于內(nèi)存,以及為什么OceanBase沒(méi)有做成全內(nèi)存數(shù)據(jù)庫(kù)(如VoltDB,MemSQL)。

早在2010年5月,在OceanBase立項(xiàng)前,項(xiàng)目團(tuán)隊(duì)對(duì)許多數(shù)據(jù)庫(kù)應(yīng)用進(jìn)行了分析,讓我們看幾個(gè)例子:
1. 全國(guó)人口數(shù)據(jù)庫(kù)
全國(guó)的人口數(shù)據(jù)庫(kù)很大,目前活著的人口有14億條左右的記錄,加上已經(jīng)去世的人數(shù)量就更多,但每天修改的記錄主要是出生(目前每天5萬(wàn)左右),死亡(目前每天2~3萬(wàn))和其他修改(如人口遷移、錯(cuò)誤修正等),每天增刪改的記錄,可能不到記錄總數(shù)的1%。

2. 金融機(jī)構(gòu)的交易庫(kù)
交易庫(kù)是金融機(jī)構(gòu)(支付寶,銀行等)的交易流水記錄,主要是新增記錄,但如果考慮到金融機(jī)構(gòu)通常在線上保存1年或以上的交易記錄,那么一天內(nèi)增刪改的記錄就只是一個(gè)很小的比例,即使只在線上保存3個(gè)月的交易記錄,每天增刪改的記錄也只占總記錄的百分之幾。

3. 金融機(jī)構(gòu)的賬務(wù)庫(kù)
賬務(wù)庫(kù)保存著金融機(jī)構(gòu)(支付寶,銀行等)的客戶的賬務(wù)余額,可能有幾千萬(wàn)甚至幾億條記錄,但一天內(nèi)增刪改的記錄則是那些當(dāng)天有付款收款等交易,或者有其他特殊情況(例如銷戶等)的賬戶,因此也是一個(gè)很小的比例。

上述的例子和對(duì)其他數(shù)據(jù)庫(kù)應(yīng)用的分析讓OceanBase項(xiàng)目團(tuán)隊(duì)發(fā)現(xiàn)了一個(gè)隱藏在數(shù)據(jù)庫(kù)背后的事實(shí):即盡管數(shù)據(jù)庫(kù)本身的數(shù)據(jù)量越來(lái)越大,記錄數(shù)越來(lái)越多,但每天的增刪改數(shù)據(jù)量并不大,僅僅只占數(shù)據(jù)庫(kù)總量一個(gè)很小的比例:

數(shù)據(jù)庫(kù)每天增刪改的數(shù)據(jù)量只占總量一個(gè)很小的比例

很多數(shù)據(jù)庫(kù)每次只修改幾十到幾百字節(jié),按平均100字節(jié)計(jì)算,每天10億次寫,其總修改量大約是100GB,單個(gè)服務(wù)器內(nèi)存就可以容納;即使每筆寫事務(wù)4KB,每天10億筆寫事務(wù),總修改量大約4TB,16臺(tái)256GB內(nèi)存或者8臺(tái)512GB內(nèi)存服務(wù)器也可以支撐(不考慮熱備等因素)。

根據(jù)上述分析,OceanBase把修改增量(包括增刪改,下同)置于內(nèi)存,每天在業(yè)務(wù)的相對(duì)低谷期再合并到基線數(shù)據(jù)中并釋放內(nèi)存(參見(jiàn)下篇:“錯(cuò)峰合并消除OceanBase每日合并對(duì)性能的影響”),從而使得OceanBase徹底消除了寫事務(wù)的隨機(jī)寫磁盤,極大地提升了性能。

為了支持上述特性,OceanBase采取了針對(duì)性的設(shè)計(jì):

1. 設(shè)計(jì)實(shí)現(xiàn)了內(nèi)存B樹(shù)以保存和讀寫修改增量

支持記錄的插入、刪除和修改以及單項(xiàng)和范圍讀

2. 內(nèi)存中數(shù)據(jù)只保存增量本身而不是對(duì)應(yīng)的數(shù)據(jù)頁(yè)
很多數(shù)據(jù)庫(kù)單個(gè)表的單個(gè)寫事務(wù)平均大小僅僅100字節(jié)左右,而數(shù)據(jù)庫(kù)的數(shù)據(jù)頁(yè)常常是8KB,這意味著8KB/100B=80倍的放大,因此如果OceanBase像其他商業(yè)和開(kāi)源數(shù)據(jù)庫(kù)一樣用數(shù)據(jù)頁(yè),就需要把內(nèi)存增加80倍。

3. 主庫(kù)備庫(kù)(一主多備)為active-active而非active-standby模式
修改增量全部置于內(nèi)存,雖然極大提升了性能,但也帶來(lái)了風(fēng)險(xiǎn),即一旦服務(wù)器宕機(jī),恢復(fù)時(shí)間可能比較長(zhǎng),為了克服這一風(fēng)險(xiǎn),OceanBase沒(méi)有像其他商業(yè)/開(kāi)源數(shù)據(jù)庫(kù)一樣把備庫(kù)做成standby模式,而是active模式,即主庫(kù)故障后備庫(kù)可以瞬間升級(jí)到主庫(kù)并繼續(xù)提供服務(wù)。

盡管全內(nèi)存的數(shù)據(jù)庫(kù)性能更高,但出于成本,特別是性價(jià)比的考慮,OceanBase沒(méi)有采用全內(nèi)存設(shè)計(jì):
1. 數(shù)據(jù)庫(kù)中大部分?jǐn)?shù)據(jù)是冷數(shù)據(jù),以80/20法則為例,80%的訪問(wèn)由20%的數(shù)據(jù)提供,把其余80%數(shù)據(jù)跟頻繁訪問(wèn)的20%數(shù)據(jù)同等對(duì)待(置于內(nèi)存),顯然不經(jīng)濟(jì);
2. 單臺(tái)服務(wù)器的內(nèi)存容量只有磁盤(SSD)容量的1/10~1/20,如果采用全內(nèi)存設(shè)計(jì),就意味著10~20倍數(shù)量的服務(wù)器。

如果你對(duì)OceanBase感興趣,可以關(guān)注OceanBase的微博,或者上GitHub OceanBase頁(yè)面了解更多。

關(guān)鍵字:OceanBase內(nèi)存數(shù)據(jù)庫(kù)

本文摘自:TechTarget中國(guó)

電子周刊
回到頂部

關(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>
      主站蜘蛛池模板: 凤冈县| 盈江县| 新民市| 石屏县| 肥东县| 商河县| 芒康县| 江永县| 金寨县| 靖州| 兴仁县| 江口县| 绍兴市| 南投县| 凤翔县| 弋阳县| 财经| 桂阳县| 额尔古纳市| 阿鲁科尔沁旗| 施秉县| 基隆市| 报价| 丹凤县| 陇西县| 临泽县| 龙里县| 湛江市| 当阳市| 东台市| 丰台区| 尉犁县| 九龙坡区| 德州市| 太仆寺旗| 盐源县| 芦溪县| 师宗县| 高碑店市| 星子县| 凭祥市|