最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

揭秘阿里服務互聯(lián)網(wǎng)金融的關系數(shù)據(jù)庫OceanBase

來源:懂視網(wǎng) 責編:小采 時間:2020-11-09 07:31:47
文檔

揭秘阿里服務互聯(lián)網(wǎng)金融的關系數(shù)據(jù)庫OceanBase

揭秘阿里服務互聯(lián)網(wǎng)金融的關系數(shù)據(jù)庫OceanBase:數(shù)據(jù)庫系統(tǒng)不僅保存了現(xiàn)代企業(yè)的關鍵業(yè)務數(shù)據(jù),而且對這些數(shù)據(jù)提供訪問從而支撐著企業(yè)業(yè)務。因此,數(shù)據(jù)庫系統(tǒng)的穩(wěn)定可靠對現(xiàn)代企業(yè)至關重要。 數(shù)據(jù)庫系統(tǒng)通常由數(shù)據(jù)庫軟件、運行數(shù)據(jù)庫軟件的數(shù)據(jù)庫服務器硬件以及保存數(shù)據(jù)庫數(shù)據(jù)的數(shù)據(jù)庫存儲硬件(即共享存儲)
推薦度:
導讀揭秘阿里服務互聯(lián)網(wǎng)金融的關系數(shù)據(jù)庫OceanBase:數(shù)據(jù)庫系統(tǒng)不僅保存了現(xiàn)代企業(yè)的關鍵業(yè)務數(shù)據(jù),而且對這些數(shù)據(jù)提供訪問從而支撐著企業(yè)業(yè)務。因此,數(shù)據(jù)庫系統(tǒng)的穩(wěn)定可靠對現(xiàn)代企業(yè)至關重要。 數(shù)據(jù)庫系統(tǒng)通常由數(shù)據(jù)庫軟件、運行數(shù)據(jù)庫軟件的數(shù)據(jù)庫服務器硬件以及保存數(shù)據(jù)庫數(shù)據(jù)的數(shù)據(jù)庫存儲硬件(即共享存儲)

數(shù)據(jù)庫系統(tǒng)不僅保存了現(xiàn)代企業(yè)的關鍵業(yè)務數(shù)據(jù),而且對這些數(shù)據(jù)提供訪問從而支撐著企業(yè)業(yè)務。因此,數(shù)據(jù)庫系統(tǒng)的穩(wěn)定可靠對現(xiàn)代企業(yè)至關重要。 數(shù)據(jù)庫系統(tǒng)通常由數(shù)據(jù)庫軟件、運行數(shù)據(jù)庫軟件的數(shù)據(jù)庫服務器硬件以及保存數(shù)據(jù)庫數(shù)據(jù)的數(shù)據(jù)庫存儲硬件(即共享存儲)

數(shù)據(jù)庫系統(tǒng)不僅保存了現(xiàn)代企業(yè)的關鍵業(yè)務數(shù)據(jù),而且對這些數(shù)據(jù)提供訪問從而支撐著企業(yè)業(yè)務。因此,數(shù)據(jù)庫系統(tǒng)的穩(wěn)定可靠對現(xiàn)代企業(yè)至關重要。

數(shù)據(jù)庫系統(tǒng)通常由數(shù)據(jù)庫軟件、運行數(shù)據(jù)庫軟件的數(shù)據(jù)庫服務器硬件以及保存數(shù)據(jù)庫數(shù)據(jù)的數(shù)據(jù)庫存儲硬件(即共享存儲)組成,如下圖所示:


數(shù)據(jù)庫系統(tǒng)的穩(wěn)定可靠,也取決于這三個部分。

首先是數(shù)據(jù)庫軟件,數(shù)據(jù)庫軟件廠商平均2~3年發(fā)布一個大版本,新版本發(fā)布前會進行反復測試。即使如此,數(shù)據(jù)庫軟件的維護升級依然有很大的風險,2013年6月中國工商銀行系統(tǒng)不可用即是其數(shù)據(jù)庫DB2的維護升級導致,2014年8月美國國務院簽證數(shù)據(jù)庫系統(tǒng)超過1周的不可用也是其數(shù)據(jù)庫Oracle的維護升級導致。

其次是數(shù)據(jù)庫服務器。為了保障數(shù)據(jù)庫系統(tǒng)的穩(wěn)定可靠,傳統(tǒng)數(shù)據(jù)庫系統(tǒng)廠商推薦用戶使用穩(wěn)定性較高的高端服務器,這些服務器價格非常昂貴,難以擴展,并且擴展能力也十分有限。

第三是數(shù)據(jù)庫存儲(共享存儲)。數(shù)據(jù)庫中的數(shù)據(jù)是企業(yè)最寶貴的財富,為了避免數(shù)據(jù)丟失,傳統(tǒng)數(shù)據(jù)庫廠商推薦用戶使用穩(wěn)定性較高的共享存儲,同樣地,這類存儲設備價格非常昂貴,難以擴展,并且擴展能力也有限。

為了避免水災、火災或者其他自然災害導致的數(shù)據(jù)庫系統(tǒng)不可用甚至數(shù)據(jù)丟失,傳統(tǒng)數(shù)據(jù)庫系統(tǒng)通常還要搭建備庫,出于安全考慮,主庫與備庫需要保持一定的距離,例如50km或以上,俗稱主備鏡像,如下圖所示:


然而,盡管稱為主備鏡像,數(shù)據(jù)庫的備庫并不能保證與主庫一致:假如強制要求兩者一致,那么主庫的每一筆事務都必須到達備庫后才能提交和應答客戶,這樣一旦主庫備庫之間的網(wǎng)絡異常或者備庫異常,整個數(shù)據(jù)庫系統(tǒng)將不可用,從而導致業(yè)務的中斷,與主庫備庫部分數(shù)據(jù)不一致相比,業(yè)務的中斷對于企業(yè)來講更加不能接受,因而主庫故障后業(yè)務切換到備庫時,通常會有少量數(shù)據(jù)不一致。因此,即使部署了主備鏡像,傳統(tǒng)數(shù)據(jù)庫系統(tǒng)也不得不使用可靠性盡可能高的服務器和存儲,以降低主庫故障的幾率,減少對業(yè)務的影響。之所以要使用可靠的服務器和可靠的存儲,本質上是因為傳統(tǒng)數(shù)據(jù)庫假設硬件(服務器、存儲、網(wǎng)絡等)是“可靠的”。

對于數(shù)據(jù)庫,與傳統(tǒng)企業(yè)相比,互聯(lián)網(wǎng)企業(yè)最大的不同之一是并發(fā)訪問量非常大。傳統(tǒng)商業(yè)企業(yè)、銀行,用戶需要通過收銀臺、銀行終端、ATM柜員機、POS機等專用設備開展業(yè)務并訪問數(shù)據(jù)庫,幾百和幾千的數(shù)據(jù)庫并發(fā)訪問比較常見,幾萬以上的并發(fā)訪問相當少見。在互聯(lián)網(wǎng)上,每一個草根網(wǎng)民都可以發(fā)起購物交易并訪問數(shù)據(jù)庫,幾十萬的數(shù)據(jù)庫并發(fā)訪問時??梢姡瑤装偃f甚至千萬的并發(fā)訪問都可以見到(例如雙11下的淘寶、天貓和支付寶)。如此之大的并發(fā)訪問下,商業(yè)數(shù)據(jù)庫軟件及其高可靠的數(shù)據(jù)庫服務器和共享存儲的成本成為了不可承擔之重。

由于上述原因,OceanBase的一個基本假設就是硬件(服務器、存儲、網(wǎng)絡等)是不可靠的,另一個基本假設是單機(數(shù)據(jù)庫服務器及共享存儲)無法滿足互聯(lián)網(wǎng)業(yè)務的需求。因此,OceanBase必須是一個多機(分布式)系統(tǒng),并且必須保證任何時刻出現(xiàn)的少量硬件(服務器、存儲、網(wǎng)絡等)異常不影響業(yè)務。

為此,OceanBase引入了Paxos協(xié)議,每一筆事務,主庫執(zhí)行完成后,要同步到半數(shù)以上庫(包括主庫自身),例如3個庫中的2個庫,或者5個庫中的3個庫,事務才成功。這樣,少數(shù)庫(例如3個庫中的1個庫,或者5個庫中的2個庫)異常后業(yè)務并不受影響:


與傳統(tǒng)數(shù)據(jù)庫相比,OceanBase的另外一個關鍵特征是軟件版本的灰度升級。主備方式的傳統(tǒng)數(shù)據(jù)庫是“單活”的,只有主庫可執(zhí)行寫事務,盡管維護升級時可以先操作備庫,操作完成后備庫變成主庫并且接受用戶訪問是一步到位的,如果新版本有問題,則業(yè)務受到影響:


傳統(tǒng)數(shù)據(jù)庫:升級前


傳統(tǒng)數(shù)據(jù)庫:升級中


傳統(tǒng)數(shù)據(jù)庫:升級后只能一次性地引入全部讀寫流量

OceanBase則是“多活”設計,即多個庫(3個,5個等)每個都可以有部分讀寫流量,升級時先把要升級的庫的讀寫流量切走,升級后先進行數(shù)據(jù)對比,正常后逐步引入讀寫流量(白名單,1%,5%,10%......),一切正常并運行一段時間后再升級其他的庫:


OceanBase之3機群(3庫)部署:升級前


OceanBase之3機群(3庫)部署:切走讀寫流量,準備升級


OceanBase之3機群(3庫)部署:升級一個機群(庫)


OceanBase之3機群(3庫)部署:升級一個機群(庫)后切回部分讀寫流量


OceanBase之3機群(3庫)部署:升級一個機群(庫)后切回全部讀寫流量

基于硬件不可靠的假設并且能夠容忍少量服務器的故障,OceanBase使用了相對廉價的PC服務器代替高可靠服務器并且不再使用昂貴的共享存儲,從而不僅提供了比使用高可靠服務器和共享存儲低得多的成本,容忍少數(shù)服務器乃至少數(shù)機群故障意味著比傳統(tǒng)數(shù)據(jù)庫更高的可靠性。通過灰度升級,OceanBase避免了傳統(tǒng)數(shù)據(jù)庫的“一錘子買賣”的升級,極大地降低了數(shù)據(jù)庫維護升級的風險。

本文作者:陽振坤,螞蟻金服高級研究員。

聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

揭秘阿里服務互聯(lián)網(wǎng)金融的關系數(shù)據(jù)庫OceanBase

揭秘阿里服務互聯(lián)網(wǎng)金融的關系數(shù)據(jù)庫OceanBase:數(shù)據(jù)庫系統(tǒng)不僅保存了現(xiàn)代企業(yè)的關鍵業(yè)務數(shù)據(jù),而且對這些數(shù)據(jù)提供訪問從而支撐著企業(yè)業(yè)務。因此,數(shù)據(jù)庫系統(tǒng)的穩(wěn)定可靠對現(xiàn)代企業(yè)至關重要。 數(shù)據(jù)庫系統(tǒng)通常由數(shù)據(jù)庫軟件、運行數(shù)據(jù)庫軟件的數(shù)據(jù)庫服務器硬件以及保存數(shù)據(jù)庫數(shù)據(jù)的數(shù)據(jù)庫存儲硬件(即共享存儲)
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top