天天看點

看雲栖說雲栖 —— 雙十一的倆功臣

幾天前在一篇《2684億!阿裡CTO張建鋒:不是任何一朵雲都撐得住雙11》的文章中提到了阿裡有幾個方面做的特别好:

  • 自研神龍架構、說的是神龍伺服器支撐下的阿裡雲計算基礎架構平台。
  • 自研雲原生資料庫、一個是OceanBase、一個是POLARDB。
  • 計算與存儲分離、說的是大規模分布計算場景下的獨立可擴容存儲池。
  • 大規模RDMA網絡、存儲之是以在遠端通路可以比本地讀寫更快是因為RDMA網絡,阿裡是全球第一個大規模應用RDMA網絡的公司。

兩天前在北大光華管理學院和阿裡研究院聯合舉辦的2019「看中國」思想論壇上,阿裡巴巴集團董事局主席兼首席執行官張勇表示,雙11最看重的是和54.4萬筆/秒的訂單峰值以及背後的技術。

54.4萬筆/秒背後的技術可能有很多,最首當其沖的就是雲原生資料庫吧,這次就讓我們聊聊雲栖大會上和這兩個雲原生資料庫有關的技術細節吧,文中内容主要取自2019杭州雲栖大會以下論壇:

  • 分布式資料庫專場
  • 數字銀行專場
  • POLARDB雲原生資料庫專場

首先來看OceanBASE,OceanBase是由螞蟻金服開發和使用的,據螞蟻金服公衆号文章介紹,在雙十一期間,OceanBASE創造了6100萬次/秒的資料庫處理峰值的世界記錄, OceanBase還在不久前的的TPC-C測試上一舉挑落霸占榜首九年的Oracle,令Oracle從此不在獨孤求敗的同時也宣告在資料庫這個基礎技術領域裡中國人終于趕上來了。

在分布式資料庫專場有一個Session叫做《深入OceanBase 企業級資料庫的分布式技術》,毫無疑問OceanBASE和Oracle 都是企業級資料庫,但OceanBASE還是分布式的。從TPC-C的測試架構上看,Oracle用于完成測試的是專門設計的小型機,而OceanBASE用的就是普通的PC 伺服器,正是因為有了分布式技術才能讓便宜的PC伺服器戰勝昂貴的小型機。

在Ocean目前主要應用的2.2版本中,主要突出三個特性:

  • Oracle 相容性、全面相容Oracle的資料類型,支援Oracle PL/SQL 存儲過程、在TPC-C測試中就使用了Oracle相容的存儲過程。支援執行計劃管理功能、支援部分Oracle系統預定義Package、支援150+的相容函數和表達式、30張資料字典、30張性能視圖。
  • 事務處理、支援串行化隔離級别這一最可靠但代價最高的事務隔離機制,支援savepoint/rollback to快速恢複機制,支外鍵限制。
  • 性能提升、OLTP(聯機事務處理)和OLAP(聯機分析處理)性能大幅提升,這次的TPC-C測試用的就是這個2.2版本。

除了阿裡巴巴經濟體,OceanBASE目前的部署案例包括(排名不分先後):

  • 南京銀行
  • 山西農信
  • 西安銀行
  • 中國建設銀行
  • 網商銀行
  • 東莞銀行
  • 天津銀行
  • 蘇州銀行
  • 國泰産險
  • 常熟農商銀行
  • 廣東農信
  • 招商證券

從客戶案例上就可以看出,OceanBASE主要的定位是金融支付這個對資料庫最嚴苛的場景。在數字銀行分會場,來自螞蟻金服的專家作了《銀行數字化轉型和創新案例》的分享。

在演講中提出了數字金融的六大預見:

  • 銀行正在從一個“地方”變成一種随時、随地、随需、“永遠線上”的服務。
  • “資料資産”将成為最重要資源和核心競争力,從現有的“流程銀行”轉變為“資料銀行”。
  • “數字化半徑”=“業務疊代半徑”,銀行更加注重“數字化生态連接配接”的建設,以獲得更多的業務場景和流量。
  • 數字化成熟度高的銀行将率先完成“樂高式銀行”,整合内外部業務資源,形成“App Store”的營運模式。
  • 銀行将從單純的“金融服務商”轉變為“綜合類生活服務商”,超過60%以上的金融服務将隐藏在各個生活場景中,金融服務講随手可得。
  • 2022年内将有超過50%的銀行會完成新一代分布式金融核心架構改造,迎接全面的數字金融時代。

其中OceanBASE就是阿裡巴巴用于新一代分布式金融核心架構改造的利器之一。

在阿裡雲網際網路銀行的解決方案的架構圖上,OceanBASE位于IaaS基礎架構服務平台的核心位置。

看雲栖說雲栖 —— 雙十一的倆功臣

(圖檔來自于阿裡雲官網)

在這屆雲栖大會上,來自螞蟻金服的阿裡金融雲正式并入阿裡雲,成為阿裡雲内部繼新零售、數字政府之後的另一個一級部門。OceanBASE也正式上架阿裡雲,目前正處于邀測階段。

看雲栖說雲栖 —— 雙十一的倆功臣

(以上内容來自阿裡雲官網)

OceanBASE在過去通常隻部署在金融機構的線下專有雲,今天來到了線上公共雲,另一個阿裡雲雲原生資料庫産品POLARDB則是從線上公共雲來到了線下私有雲。在本次雲栖大會上,阿裡雲宣布正式推出高性能資料庫一體機—— POLARDB BOX

POLARDB是阿裡雲自研的雲原生資料庫,在本次雙十一期間,POLARDB資料庫處理峰值達到8700萬次/秒。在前不久舉行的第六屆世界網際網路大會上,POLARDB更是當選了世界網際網路領先科技成果。

看雲栖說雲栖 —— 雙十一的倆功臣

(圖檔來自雲栖社群)

本屆雲栖大會設有專門的《POLARDB雲原生資料庫專場》,第一個Session是阿裡雲智能資料庫事業部總經理鳴嵩的《POLARDB 雲原生資料庫演化》。

鳴嵩将資料庫的演化分成三個階段:

  • 采購License自建、購買Oracle、SQL Server、DB2等許可,安裝部署在自己的伺服器上。
  • 雲上托管資料庫、使用阿裡雲的RDS這樣的托管資料庫,使用的還是傳統資料庫,隻不過改由雲服務商來運維和管理。
  • 雲原生資料庫、在傳統資料庫并不适用于數字經濟環境,是以阿裡雲根據組織機構數字化轉型的需求開發出了雲原生資料庫POLARDB

阿裡雲為什麼要開發雲原生資料庫?鳴嵩同時還管理着阿裡雲RDS團隊,自然對托管資料庫在網際網路場景下的痛點了如指掌:

  • 活動上線,壓力突增,資料庫來不及更新
  • 業務發展很快,資料庫即将超過3T,來不及拆庫
  • 應用擴容了,上百台ECS連接配接同一台資料庫,高并發下性能差
  • 使用讀寫分離,剛更新的資料,查詢不到
  • 老闆要看活動營運資料,有一個複雜大SQL查詢非常慢,半小時了還沒跑完
  • 主從複制經常中斷,1236 1042 錯誤
  • 添加一個字段,備庫延遲3小時
  • 1T資料量,一次備份竟然需要十幾個小時
  • 備份時會鎖表,必須在業務低峰期操作

阿裡雲開發POLARDB就是要解決這些問題的,POLARDB單個叢集存儲容量最高可達100TB、單庫最多可擴充到16個節點、叢集最大支援1408核CPU、10TB資料的執行個體遷移隻需要15分鐘、1分鐘即可完成10TB的資料備份。适用于企業多樣化的資料庫應用場景。以下是POLARDB的架構圖:

看雲栖說雲栖 —— 雙十一的倆功臣

(上圖來自阿裡雲開發者社群)

POLARDB采用的是分布式共享存儲架構,就是叢集中的所有計算節點共享使用一組分布式的存儲節點,計算和存儲節點之間使用高速的RDMA網絡通信。不像RDS的隻讀節點需要額外的存儲空間和複制開銷,POLARDB的共享存儲架構無需為隻讀節點增加存儲成本,是以在RDS的最大1主5從的架構下,使用POLARDB反而能夠降低44%的成本,另外由于新增隻讀節點不需要資料複制,POLARDB最大能夠支援15個隻讀節點,是RDS的3倍。

在資料庫引擎支援上,POLARDB提供MySQL5.6/8.0、PostgreSQL11、Oracle 相容引擎。因為完全相容MySQL,MySQL的分庫方案依然可用,當資料庫容量超過100TB時,POLARDB for MySQL還支援通過DRDS分布式資料庫服務來進行橫向水準擴充。

假如您曾遇到過上面提到過的托管資料庫痛點,不妨嘗試下POLARDB,目前POLARDB正處于推廣促銷期。