1. 程式人生 > >解密支撐支付寶交易的分散式資料庫系統——OceanBase

解密支撐支付寶交易的分散式資料庫系統——OceanBase

  今年的淘寶雙11交易額達到的驚人的571億,在這些光鮮資料的背後,其實也是對淘寶資料庫的極大考驗。更值得一提的是,今年雙11支付寶的支付峰值突破了每分鐘285萬筆,創下了新的紀錄。如此高併發負載的交易量,讓我們對幕後支撐的資料庫技術OceanBase心生好奇。究竟OceanBase有哪些強大之處呢?

  相信大家看完這篇文章就明白了。

  2014中國大資料技術大會第二日下午大資料生態系統論壇上,阿里巴巴資深技術專家蔣志勇為大家詳細介紹了OceanBase,演講主題為《OceanBase,支撐支付寶交易的分散式資料庫系統》。

OceanBase

蔣志勇表示,OceanBase是一個分散式關係資料庫,也是第一個用於金融核心系統的非商業資料庫。對比傳統商業解決方案,它提供了很多網際網路公司急需的特性:基於PC伺服器,可線上水平擴充套件;無共享儲存;價效比高於商業資料庫。

  蔣志勇還對比了 網際網路領域和傳統業務中資料庫不同特性的需求:

  事務(ACID):網際網路 = 傳統業務;

  可用性:網際網路 = 傳統業務效能:

  網際網路 >>傳統業務;

  價效比:網際網路 >>傳統業務;

  擴充套件性:網際網路 >>傳統業務。

  為了保證資料的完整性,在使用灰度升級之外,阿里還會對資料進行校驗:磁碟讀寫,每條記錄帶64位checksum;網路傳輸,每個網路包帶64位checksum;每個檔案多副本(3~6),每個檔案都有64位checksum;修改增量多副本,帶64位累積checksum;Redo log,每條都帶checksum及對應於UpdateServer記憶體的checksum;每個表每個列都帶64位checksum。

  關於支付寶核心資料庫 OceanBase的一些資訊:

  1、OceanBase是阿里巴巴自主研發支援海量資料的高效能分散式資料庫系統。

  2、比傳統的關係資料庫,談及OceanBase的最大亮點,當屬可自動擴充套件的特點,它不僅僅可以擴充套件到一個數據中心,乃至同城,在未來,OceanBase能成為跨地域多資料中心的全球資料庫。當然,OceanBase還有一些特性,比如強一致性,能夠自動容忍一臺伺服器甚至是整個資料中心故障,而不會丟失一條記錄。值得強調的是,支付寶交易之所以會選擇OceanBase而不是開源的MySQL,正是因為只有OceanBase能夠做到完全不丟資料。

  3、OceanBase內部會自動把資料切分為一個個比較小的分片,每臺機器服務若干個分片,當某臺伺服器的分片成為熱點時,會自動觸發遷移操作,將分片從負載較高的伺服器遷移出去,這樣,就避免了“木桶效應”。這也是OceanBase的一個優勢,無論雙十一之前熱點怎麼變,OceanBase都可以很快把熱點資料均衡到整個叢集,而不是因為一兩臺伺服器把整個叢集壓垮了。

  4、OceanBase是真正的分散式關係資料庫,不僅僅支援分散式,還支援SQL、事務、併發控制這樣的關係資料庫特性,使用者使用起來和MySQL沒有任何差別。

  5、OceanBase的事務引擎面向記憶體設計的,它的特點就是快,而且避免了傳統資料庫的寫入放大問題,這樣,OceanBase的鎖等待天生就要更少。另外,OceanBase還提出並第一個實現了提前解鎖、排隊等待等優化思想,這些思想後來也應用到集團MySQL資料庫的patch中,成為阿里雙十一應對熱點問題的標配。

  6、和MySQL的不同點在於,MySQL主備同步是有丟資料風險的,而OceanBase通過Paxos選舉協議實現強一致性。無論是一臺伺服器,還是資料中心整體故障,OceanBase都能夠自動恢復,而且做到完全不丟資料。OceanBase的這種做法和Google、Microsoft以及Amazon雲端儲存系統的底層原理都是共通的。

OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase
OceanBase