天天看點

阿裡巴巴進階專家譚宇:雲資料庫OceanBase的架構演進及在金融核心系統中的實踐

8月30-31日20:00-21:30,一場别開生面的技術大會—— “螞蟻金服&阿裡雲線上金融技術峰會”将線上舉辦。本次将聚焦資料庫、應用架構、移動開發、機器學習等熱門領域,幫助金融業技術開發者深入解析網際網路應用的前沿應用與技術實踐。

來自阿裡巴巴的進階技術專家譚宇 ,将在本次峰會中為大家帶來《雲資料庫oceanbase的架構演進及在金融核心系統中的實踐》的分享,下面是議題詳情,供大家參考。

<b>議題名稱</b>:《雲資料庫oceanbase的架構演進及在金融核心系統中的實踐》

<b>議題簡介</b>:資料庫是軟體系統中非常重要的基礎設施, 傳統關系型資料庫在功能上很好的滿足了需求,而在性能、可擴充性以及可靠性上則受到了較大的制約,一般需要搭配較為昂貴的硬體比如共享存儲、小型機才能滿足業務關于可靠性或性能方面的需求, 不能滿足網際網路行業的高速發展, 于是nosql應運而生, 但nosql在功能、對事務及一緻性方面的缺陷注定了其無法代替sql。 螞蟻金服對資料庫的需求更為嚴苛,資料要金融級可靠,同時需要極強的可擴充性。我們如何能結合分布式系統與傳統關系型資料庫的優點,通過廉價硬體獲得功能、性能、穩定性及擴充性俱佳的關系型資料庫? oceanbase在2010年開始思考及解決這個問題,通過六年的發展, oceanbase已經成功應用于螞蟻、網商銀行等多個核心系統, 是第一個用于支撐銀行核心系統的非商業資料庫。

<b>本專題主要涵蓋</b>:

1) oceanbase的需求、設計理念以及實作權衡。

2)oceanbase在阿裡的應用以及如何滿足金融業務場景。

3)雲資料庫oceanbase目前适合的業務場景及未來發展。

<b>關于分享者</b>:譚宇(茂七),阿裡巴巴進階技術專家。2009年加入阿裡, 先後參與過tfs(淘寶分布式檔案系統)、tair(淘寶分布式緩存)以及oceanbase(分布式資料庫)等幾大分布式系統的開發, 深度參與并見證了oceanbase從淘寶收藏夾到螞蟻核心系統的整個發展曆程,對分布式系統和資料庫領域有極大的興趣, 現在負責基于oceanbase的資料庫服務(雲資料庫oceanbase),緻力提供金融級的資料庫服務。

2016年8月30日晚20:00,茂七将在螞蟻金服&amp;阿裡雲線上金融技術峰會上發表《oceanbase架構演進及金融系統實踐》的演講。為了幫助大家更好地了解茂七、評估本次演講,雲栖社群對茂七進行了采訪。

<b></b>

<b>以下是采訪内容:</b>

<b>雲栖社群.相對于hbase + phoenix,oceanbase有什麼優勢?</b>

<b>茂七:</b>oceanbase是一個關系型資料庫,對标的是mysql/oracle/db2這類傳統關系型資料庫,目标是用普通硬體來實作可靠與可擴充的資料庫服務,以解決傳統關系型資料在網際網路時代的瓶頸。更簡單的說是在保證傳統關系型資料庫的功能的基礎上,再結合分布式系統的優點,以達到可擴充和可靠的目的。

而類hbase的系統往往是犧牲了關系型資料庫的功能,比如完整的事務支援,雖然達到了可擴充的目的,但讓使用者在使用方式上比較受限。是以oceanbase和nosql以及在nosql系統上架一層sql接口的系統不太具備可比性,sql和nosql是互補的關系,各自有各自的側重領域。

如果硬要比較的話,隻能說使用場景不一樣,比如現在oceanbase的主要場景為螞蟻交易核心、支付核心這類高頻高并發的oltp,而nosql在這類場景中沒有使用的先例。

<b>雲栖社群:在緻力于更加優秀的金融級資料庫服務上,oceanbase還将怎麼做?</b>

<b>茂七:</b>oceanbase目前支撐了網商銀行、螞蟻交易、支付等多個核心系統,但發展到今天,才不到七年的時候,作為資料庫,還有很長的路要走:

一是oceanbase還在不斷完善資料庫方面的功能,目前oceanbase可以做到阿裡集團内的mysql業務平滑遷移,但還有很多必須的資料庫功能缺失,比如存儲過程、flashback等實用的功能,在這方面,傳統關系型資料庫比我們還好很多,将實用的、優秀的功能加入到oceanbase裡來,這是未來比較大的一塊工作。

二是持續提升可靠性與穩定性。oceanbase目前可以在同城做到少數機房失效後不丢失資料且在秒級恢複(rto&lt;1分鐘,rpo為0),未來還将考慮全球範圍内的多資料中心的可靠性與持續可用。

三是持續降低成本。oceanbase使用廉價硬體,目标是在提升可用性的同時成本要做到和傳統關系型資料庫相當甚至更低。在降低成本方面,目前主要有幾點想法,一是擴大叢集的規模,可以提升資源整合度,但這對我們的資源隔離與排程有很大的挑戰。二是在保證可用性的前提下,減少副本數,oceanbase在集團内的典型使用方式為部署在同城三個機房,使用三個副本,每個副本都需要占用記憶體,我們是否要以做些優化,減少記憶體使用量? 這些都是我們目前在考慮的。

讓使用者更簡單的使用資料庫,是oceanbase始終不變的願景。

<b>雲栖社群:在本次分享中,将主要分享哪些技術點? 适合什麼樣基礎的聽衆?</b>

<b>茂七:</b>本次分享我将會從親曆者的角度來解讀oceanbase,我們為什麼要做一個全新的關系型資料庫? 為什麼不在傳統開源關系型資料庫比如mysql、postgresql上修改?oceanbase的架構是如何設計的,如何走到了現在的架構,這中間有一些什麼樣的權衡?oceanbase又是如何從淘寶收藏夾走到螞蟻核心系統?,和大家一起回顧我們面臨的問題、我們的解法、權衡和妥協,希望通過此次分享,可以讓大家在面臨資料庫方面的問題時,能有效的做出判斷。