天天看點

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

2019年11月19日,螞蟻金服在北京舉辦“巅峰洞見·聚焦金融新技術”釋出會,介紹2019雙11支付寶背後的技術,并重磅釋出全新OceanBase 2.2版本。歡迎持續關注~

螞蟻金服研究員韓鴻源在釋出會分享了《企業級資料庫平台的持續與創新》,以下為演講實錄:

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

在今天企業級的市場裡,資料庫是根本的基礎支援能力之一,傳統資料庫技術正在面臨各種各樣全新的挑戰,面對這些挑戰的時候大家都在尋找一些新的解決方案。這些新的解決方案從什麼地方來呢?當我想要替換非常成熟的被大家廣泛使用的平台的時候,怎樣讓客戶放心的去替換?在企業級資料庫基礎平台上,後續可能會是什麼樣的發展方向?這也是我今天想和大家探讨的内容。

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

關系資料庫已經發展很多年,今天所有企業裡面的業務系統,支撐核心的業務系統大部分都跑在關系資料庫上面。原來傳統企業裡的業務系統接入終端數量很有限,不管是自己内部業務系統,還是對客戶前端櫃台做業務系統,終端數量都非常有限。基本上,系統的擴充能力可以通過資料庫伺服器的垂直擴充都可以滿足要求。

随着移動網際網路發展,今天的業務系統不管是銀行、政府等,已經廣泛暴露在大部分移動接入的客戶面前。當這種情況出現時發現很大的變化,傳統的系統垂直擴充是不可能解決這個問題。那麼如何解決呢?這就衍生出很多不同的解決辦法。除了傳統的關系資料庫持久化處理資料方式之外,演化出非常多的新的資料方式,所謂多态資料持久化等方式不斷冒出來。

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

當所有這些東西來了之後,大家發現回到真正的業務邏輯上去看,關系資料庫有它很突出的長處,它可以以一個數學上完善的方式幫助客戶有效的建構業務系統,這些能力當你去放松對關系的嚴格要求之後,很多東西很難滿足。包括客戶已經有的業務系統,怎麼樣持續營運下去?怎麼樣保證客戶已經有的這些嚴謹業務邏輯持續營運下去?是以帶來很多新的挑戰。

傳統的企業客戶不隻是商業企業,泛指企事業機關和黨政軍範圍,一般指具有一定規模且有重要性的實體。那麼,對企業級系統和平台的要求也包括很多:1)高安全;2)高性能;3)高可靠性;4)高可用性;5)高開發效率,低維護成本;6)高可擴充性。這些對企業來講都是很核心的東西。

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

上圖底下是一個橫軸線,從2013年-2019年排在最前面幾個資料庫的活躍程度非常穩定。今天去看前三個最活躍的資料庫依然還是關系資料庫,關系資料庫還是今天整個企業資料管理平台的主流,不但是主流,而且支援所有主要的業務系統。

主流關系資料庫相對穩定,這些資料庫受到很多的開源的沖擊。對于絕大部分企業來講不是做開發和軟體的,需要是平台具備的這些能力,你要高可靠、高可用,能夠幫助使用者持續發展。隻要這個産品足夠可靠好用的情況下,客戶可以自己把運維接起來的情況下,是沒有必要看源代碼的。今天我們談企業級的時候,可能看的更多的是怎麼樣支援客戶有效營運自己的業務。

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

上圖是資料庫的發展曆史。最早有層次資料庫、網狀資料庫等,當關系資料庫出現之後,由于它們突出的特點,基本上主要的業務系統都遷移到關系資料庫開發模式中去。從我個人來看,我經曆大概20多年的曆史,關系資料庫是所有資料庫裡被判死刑次數最多的一個技術,到今天為止不但沒有死,而且還在不停的煥發新活力。

RDBMS 真正的價值如何展現?我覺得,首先資料庫裡面強調的ACID幫助應用開發,簡化了應用開發複雜性;第二點,SQL這個寫法很關鍵,接近于自然語義的寫法,最大優點做業務開發的人寫出來的代碼可以讓做業務人看得懂,帶來的好處是大家溝通很友善,寫出來的代碼可讀性可維護性非常強,是以擺脫這些技術是很困難的。但是關系資料庫不是一成不變的東西,從集中式到分布式是一個大的發展方向,很多時候這些東西為了突破原來的限制和技術瓶頸。

網際網路與網際網路公司帶來的變化是,使用者通路量變化,以及很多新技術的探索和創新。最早網際網路公司裡有相當多網際網路公司做的業務跟傳統企業業務有非常大的差異。當你做這些業務的時候,有些業務是有标準答案,有些業務沒有标準答案。當你在網上做搜尋的時候,你搜之前肯定不知道搜尋結果是什麼?當你轉一筆帳的時候,你轉之前一定知道轉帳結果是什麼。這兩件事對于資料庫平台的支撐能力有完全不一樣的要求。網際網路公司面臨壓力大了之後,需要系統有非常強的可維護性的要求,很多東西是自動的維護和自動高可用的管理,這一塊是一個很大技術變化的出發點。比如說高可用,傳統企業的高可用基本靠半人工、半機器方式去做,基本不會完全相信機器,自己把高可用做的很完善。

舉例來講,非常多的金融機構都做了容災系統,容災系統切換這種決策沒有人敢讓機器做自主決策。當你的規模非常大的時候,這種管理很難去做到,觸發怎麼樣實作自動高可用,真正讓系統具備完整的判斷能力。

當網際網路發展到金融這個領域時,剛才我說的問題就很麻煩,很多使用者有很多的并發請求,做查詢不知道準确結果,做金融一定要知道準确結果,做錯任何一點使用者直接都會找你算帳。這個裡面需要很完備的基礎設施的支援,才能幫你支撐這麼好的金融業務。

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

下面,我們希望跟大家探讨一下,後續企業裡的資料庫技術會有什麼樣的發展趨勢?

首先,分布式已經是不可避免的潮流,這個裡面有幾方面的原因。單一的大伺服器加存儲的方式擴充能力有限,無法支援企業的持續向前發展。在今天的雲環境裡面,大家可以看一下市場上不管是哪一家主流的雲供應商,現在已經沒有任何一家雲供應商會讓你把伺服器連到高端、高性能的存儲上去支援資料庫來運作。如果你想在雲環境裡運作資料庫,必然要選擇其他的實作方式。是以你看在測試的時候,包括系統架構設計方面,實際上是跟雲的大趨勢是一緻的。今天,硬體發生了很多大的變化。像大家質疑我們的TPC-C測試結果一樣,9年以前跟現在的硬體有很大差異。

如果我今天給你200台伺服器,裝一個資料庫上去,你根本裝不上去,更不要說運作結果出來,這不是那麼簡單的一件事,能有效地把這些新的硬體用起來對軟體是一個非常大的考驗。如果大家看還在使用中的絕大部分主流關系資料庫,它們有一個很大的特點,它們都設計在30年以前。30年以前設計資料庫的時候有兩個假設,所有硬體記憶體都是很小的,所有的存儲通路速度都是非常慢的,所有的資料庫基本今天用的主要資料庫都是從那個年代發展起來的,這兩個限制條件給它加了很多枷鎖。

如果大家嘗試過可能會發現,我有一個oracle資料庫今天裝256個記憶體,明天擴512G,性能能提升多少?能提升一倍嗎?事實上能提升1%就不錯。什麼原因?它的軟體架構設計決定它不能有效使用新的硬體能力,當今天不停的有新硬體技術出現的時候,需要新的方式把硬體能力用起來,帶給使用者更好的系統,帶給使用者更好的回報和更簡單的管理。

從雲發展趨勢來講,其實資料庫是最适合于雲化的服務。怎麼樣能夠以雲化的方式有效的支撐客戶去使用資料庫也是一個很大的挑戰。

最後,管理的規模也很大,系統也很複雜,怎麼樣把更多的人工智能帶來的優點展現在系統裡面去,幫助系統自動去運作,更好的自動去調優。這件事情今天說起來容易,最大挑戰是要有足夠大、足夠廣泛的使用環境和使用場景,才能幫你積累到資料,才能算出你想要的模型來。

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

那麼,新的企業級資料庫需要具備什麼能力呢?

首先,資料庫最好對硬體不要有特定的依賴,這樣會阻止往雲方向去發展和做優化。其次,今天所有的企業面臨一個發展方向,都是怎麼樣從傳統企業架構轉到雲原生架構,資料庫怎麼樣支援使用者轉換前和轉換後的平滑過渡。然後,在今天的企業環境裡面,很多負載的變化是突發的。你需要能夠在保障資料的情況下,在不同的運作環境實作靈活遷移。最後一點,資料庫是非常适合雲計算提供的服務,怎麼樣能夠去真正把底層硬體能力發揮出來,比如在設計之初就要考慮多租戶的環境,怎麼樣在多租戶環境有效使用資源,支撐所有混合負載的能力。這些加在一起實際上是建構下一代資料庫平台一些必須考慮的因素。

OceanBase對新技術的探索

回到OceanBase,我們在這些方面做了很多探索。

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

首先是高可用性。在今天來講六級的高可用性已經是非常高的可用性,絕大部分機構實作不了這個級别,但是我們今天能實作遠遠超過這個級别,能夠在30秒内實作自動恢複。這些靠的是在技術上怎麼樣把新技術有效用起來,比如說Paxos。在傳統資料庫裡不會有人去用它,在新的分布式場景下來講,利用這些新的技術其實它還能幫你實作全自動的高可用。Paxos這種自動投票的機制帶來的優點是系統在不需要在外部幹預情況下,把失效的東西替換掉之後持續去運作,在今天大規模運作環境裡面是不可或缺的一個東西。

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

剛才講到,今天的網際網路帶來的壓力對于業務系統壓力變大非常多,靠一個資料庫一個系統支撐所有業務,一定不可能。在我們系統運作環境裡,經過這麼多的實際環境輸入之後,今天可以給使用者一個很靈活的選擇,可以讓使用者去選擇資料庫的部署粒度,你可以選擇分庫分表,也可以選擇單庫。把選擇權給到使用者,使用者可以根據自己的需要從不同的方式之間做過渡的融合,都可以幫助使用者持續往前發展。

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

為什麼要走向分布式資料庫?傳統都是最左邊集中部署方式,它的優點是ACID不用擔心,缺點是想擴的時候擴不上去。為了解決擴充的問題,大家才來做分庫分表。分庫分表絕大多數情況用中間件的方式來實作。這打破了資料庫的邊界,又同時引入了很多新問題。最大的問題是對應用不透明,如果你原來是一個複雜的業務應用,想适應分庫分表的時候,對應用的改造工作量非常大。

為了解決這個問題,我們做了原生的分布式資料庫。最簡單的描述,你可以把一個分布式部署和運作的資料庫完全當成一個集中的資料庫來用,對你來講不會有任何的差異。就像陽老師講的,TPC-C測的是一個系統的業務處理能力,對外表現來講TPC-C所有的檢查标準時,它跟單一的資料庫對外表現是一樣的。這在今天的分布式資料庫裡是最難實作的一點,怎麼樣能夠把一個分布式的東西,表現給使用者用的時候是當作集中式來用,能力有提升,但是使用上不增加複雜性。

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

我們去看傳統資料庫的時候,往往強調是ACID屬性。如果隻為了滿足ACID,可以很簡單的做到。因為資料庫可以停。為了保證ACID,我們可以在有異常情況出現的時候,把整個系統停掉之後保證ACID不會出問題,但是使用者用不了系統。在今天,保證系統高可用的同時,高可用反過來可以幫助ACID。

原來傳統系統裡使用兩階段送出時,最大問題不是兩階段帶來的系統消耗,是兩階段跨系統做交易的時候,一旦有一個參與者出現不可用,整個系統沒有辦法持續運作,狀态不可知的時候,沒有辦法保證系統一緻性。剛才講的自動30s之内的RTO的恢複會發生很大的作用。當整個系統所有的交易參與者可以在很短的時間内恢複出來的時候,它是不會把業務挂起,可以確定業務持續運作下去,消滅了傳統分布式系統裡非常大的一個弱項。

今天整個市場上講,關系資料庫是一個全球範圍内早已經劃分完勢力範圍的市場。為什麼今天還有新産品出現,是因為很多因素加進來之後,促成了很多新的變化。螞蟻内部有非常多的使用OceanBase的業務,這些業務經曆過去七、八年的發展,在這個過程中OceanBase增強自身的能力,消除很多問題,在一個大規模的複雜環境裡面經曆這麼多年磨煉之後,從2017年我們走出來服務于外部使用者。

希望以後有更多的使用者給我們機會去嘗試OceanBase,我們也希望這個産品幫助大家解決很多現實中面臨的問題,也歡迎更多的企業群組織加入進來。

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

關于TPC-C,我想說,首先,TPC-C是目前國際上唯一具有公信力的資料庫功能與性能結合的公開檢測标準。因為所有市場上主流的玩家,原來都在這個标準上釋出過測試結果,即便這個測試模型源于20年前,但是所有結果都有意義。而且TPC-C的模型定義如果大家深入研究的話,裡面有很多科學的東西。

第二點,TPC-C測試大家往往看到很多誤導性的資訊,我在家裡跑一個結果,單機TPC-C可以跑150萬,200萬,300萬,這件事情沒有意義,TPC-C測試裡面除了跑的性能名額之外,它有前提條件。TPC-C測試過程中的ACID的檢查,對于分布式資料庫是一個非常大的挑戰,今天絕大部分的分布式資料庫面臨這個問題采取的是回避的做法,不是直接解決問題的做法。測出來的結果很多不是有效的結果。我們之是以參與TPC-C審計,是為了證明我們的分布式系統是可以像單機資料庫一樣一分鐘處理6000萬筆新的訂單。

第三點也就是在TPC 認證過的 TPC-C 結果裡面 OceanBase 取得的6千萬 tpmC 排名第一。

第四點,測試是基于公有雲通用機型實作的,使用的是和生産系統一緻的基礎環境。今天最大的變化是傳統企業資料庫往雲環境搬的時候,最大的變化是沒有能夠比對原來環境的那麼強大的伺服器可用。沒有那麼大的伺服器和存儲,怎麼樣解決這個問題?我們給大家去做了這個證明,你可以用軟體的能力實作同樣的性能名額。

最後,我不認為TPC-C是證明資料庫完備性的充分條件,但是它是一個必要條件。當你要接的是這些大型機構核心業務系統時,如果你的資料庫沒有這種能力,肯定不可能幫助客戶簡單的把應用遷移過來。

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

今天,有些時候大家往往關注資料庫的一個點,但是整個對于企業來講走分布式轉型這條路的時候,不可能隻在資料庫一個點上面走。我想說的是,企業整個的分布式轉型是需要從上到下,結合中間件和開發過程管理和系統保障管理所有體系加在一起,才能夠確定有效的走向分布式轉型,真正能夠支撐你的業務持續往前發展。

OceanBase 是完全自主研發的分布式關系資料庫,我們掌握所有的源代碼和系統的設計。在設計系統的時候沒有預設限制性條件,沒有對特定軟體的依賴,沒有對特定硬體的依賴,沒有對特定系統架構的依賴,這個時候我可以非常廣泛的去适配所有新出來的硬體系統和新的運作環境,可以幫助我們去探索更多的系統組合使用的空間。我覺得我們最大的優點是不存在對外部特定軟硬體系統及系統架構的鎖定性依賴。謝謝大家!

《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

OceanBase 現已釋出産品白皮書,面向所有企業客戶、資料庫一線開發及運維,内容涵蓋五大章節,從趨勢、觀點,到産品介紹及重磅客戶案例。

以下是目錄概覽:

螞蟻金服資深總監韓鴻源:企業級資料庫平台的持續與創新OceanBase對新技術的探索《OceanBase 企業級分布式關系資料庫白皮書》釋出啦!!!

點選連結檢視:

https://gw.alipayobjects.com/os/basement_prod/93057529-9069-43c1-b7f9-78c52056b51e.pdf