天天看點

螞蟻金服資深總監韓鴻源:像使用集中式資料庫一樣使用OceanBase分布式資料庫

2019年7月10日,在中國網際網路大會數字金融發展論壇上,螞蟻金服OceanBase商業化資深總監韓鴻源(老邯)發表主題演講,分享了螞蟻金服分布式架構的核心技術能力,以及以OceanBase資料庫為代表的分布式産品的最佳業務實踐。
螞蟻金服資深總監韓鴻源:像使用集中式資料庫一樣使用OceanBase分布式資料庫

很多人對螞蟻金服的了解還僅僅停留在支付寶,其實今天的螞蟻金服已經逐漸成長為大型的金融集團,覆寫了很多範圍的業務,這些業務中不僅包括超過8.7億實名注冊使用者,日活2億多的支付寶APP,還包括服務億級免押業務的芝麻信用,以及累積發放超過17000億貸款已全面上雲的網商銀行等等。

所有這些業務的背景實際上是基于螞蟻金服的一整套技術能力,通過分布式架構和分布式産品有效支撐這些業務持續、穩定、可靠地運作。今天,從技術能力完整性的角度來看,沒有一個企業能夠做成所有的事情。

作為金融科技行業的領先企業,螞蟻金服和我們背後的阿裡巴巴集團共同深耕,持續多年做了大量的技術積累,在技術方面做了全堆棧的技術覆寫:從最底層的硬體,到上層系統的軟體,再到更上層的應用系統,都是由我們自己完全自主研發,獨立建設的系統。

螞蟻金服資深總監韓鴻源:像使用集中式資料庫一樣使用OceanBase分布式資料庫

圖1:螞蟻金服分布式金融核心套件

從螞蟻金服的技術積累來看,整體的分布式金融核心實際上是來源于分布式架構的使用。當産品有機的跟分布式架構結合之後,形成了一套整體的支撐能力,包括了海量業務的處理能力和高可靠高可用的核心技術能力,來幫助我們有效地運作所有的業務。

螞蟻金服擁有自研的分布式資料庫和中間件,同時也擁有技術風險防控和開發運維兩大資料平台。當完成了這樣一套分布式的整體架構的搭建之後,如何在龐大的分布式架構下持續、穩定、可靠的運作成為了更核心的問題。我們在業務層面做了這些抽象之後,形成了自己特有的行業性的業務能力,這些産品都是面向市場對客戶輸出并且不斷從市場中收集回報優化疊代而成的,而不是關起門自己研究自己用,這些産品已經實際幫助了很多企業業務系統的建構和發展。

螞蟻金服資深總監韓鴻源:像使用集中式資料庫一樣使用OceanBase分布式資料庫

圖2:分布式架構帶來的價值

阿裡巴巴每年都有大規模的促銷活動,業務驅動了技術的飛速發展,創造了很多世界矚目的紀錄。這些紀錄裡有很多跟性能、穩定性相關的因素,而這些都來源于我們背後持續不斷的的技術能力的積累和沉澱。今天大家可以看到,螞蟻金服已經能夠達到99.99%的高可用性和超過25萬筆/秒的高并發交易數等等。這些資料的背後是螞蟻金服分布式金融核心的整體技術能力的展現。

螞蟻金服資深總監韓鴻源:像使用集中式資料庫一樣使用OceanBase分布式資料庫

圖3:OceanBase發展曆程

在螞蟻金服整體架構中,其中有一個很基礎的要素,同時也是非常核心的産品——就是我們的OceanBase分布式資料庫。OceanBase至今已經發展了近十年時間。在過去十年,OceanBase經曆了一個漫長的發展過程。從2010年開始釋出第一個版本,應用在淘寶收藏夾的核心業務中,到2014年的0.5版本全面應用于網商銀行,再到2019年最新釋出的2.x版本,目前已經有非常多的内外部使用者都在核心系統中使用。

OceanBase是由阿裡巴巴和螞蟻金服擁有100%自主知識産權的分布式關系資料庫。OceanBase沒有依賴任何開源資料庫或者存儲引擎的相關代碼,而是從第一行代碼開始就完全自主研發的分布式資料庫産品。

螞蟻金服資深總監韓鴻源:像使用集中式資料庫一樣使用OceanBase分布式資料庫

圖4:OceanBase特性

從客戶使用角度來看,OceanBase資料庫對于使用者來說有一個很大的優勢,我們以分布式的方式把分布式的機器搭建起來以後,使用者在實際使用的時候依然是集中式的使用方式。客戶可以忽略掉所有背景的差異,而把分布式資料庫當成跟傳統集中式資料庫一樣的方式使用。

從性能角度來看,在2017年,OceanBase就已經創造了非常高的性能名額。在2017年的雙11,已經達到了每秒25.6萬筆的交易峰值。大家在談資料庫的時候,往往感興趣的都是一個單一的性能名額。實際上對于資料庫來說,可靠性、可用性和可擴充性往往比單一的性能名額更重要。對于一個資料庫來說,很多時候它能否做到在擴充之後仍然能夠快速把資源利用起來,這在實際業務中其實有比較大的挑戰。

在相容性方面來看,其實今天很多金融機構已經運作在傳統資料庫裡了,當我們想把這些客戶從原有的資料庫遷移到一個更有效運作的資料庫的時候,相容性是必須要考慮的一項能力。是以OceanBase做了很大的努力跟主流的技術棧做相容,友善使用者發揮既有投資的價值,并且讓使用者能夠維持原來已經形成的使用習慣。

最後一點,也是今天很多金融機構都非常關心的一項能力——容災。當分布式架構改造完成之後,實際上已經可以把你的能力提升到一個更高的階段。 如下方的示意圖所示,今天螞蟻金服/支付寶的主生産系統和我們支撐的網商銀行的整個銀行系統,其實都運作在這個架構之上。它已經不是一個多中心之間互相做災備的架構,而是一個多地多中心多活的架構。

螞蟻金服資深總監韓鴻源:像使用集中式資料庫一樣使用OceanBase分布式資料庫

圖5:螞蟻金服三地五中心高可用方案示意圖

在多活架構情況下,實際上我們可以做到在不同的中心之間任意的去劃撥使用者的流量。 在2018年的雲栖大會上螞蟻金服副CTO胡喜在ATEC主論壇現場模拟挖斷支付寶近一半伺服器的光纜。結果隻用了26秒,模拟環境中的支付寶就完全恢複了正常。而這場26秒自斷伺服器現場示範的技術核心其實正是基于OceanBase的三地五中心架構方案。

螞蟻金服資深總監韓鴻源:像使用集中式資料庫一樣使用OceanBase分布式資料庫

圖6:2018年雲栖大會現場剪光纜

今天如果剪掉任何一根光纖,切掉任何一個資料中心都完全不會影響到支付寶和網商銀行的業務運作。OceanBase資料庫的這些核心技術能力,在金融機構的衆多應用場景裡具有非常大的發揮空間和使用前景。未來,螞蟻金服OceanBase資料庫将在金融科技領域持續深耕不斷打磨自身,通過不斷疊代的産品幫助更多企業、更多業務穩妥創新,持續成長。