1. 程式人生 > >雲數據庫PolarDB(一)

雲數據庫PolarDB(一)

讀寫 正式 虛擬 時間 oltp 快速 ssl 嘗試 att

一、出現的背景及PolarDB簡介

阿裏雲,中國第一家擁有完整雲計算能力的企業。

2015年,在計算界的奧運會Sort Benchmark中,阿裏雲計算100TB數據排序只用了不到7分鐘,把ApacheSpark之前創造的23分鐘世界紀錄一下子縮短了一多半。這說明,中國人研發的雲計算系統不僅成功了, 而且不比世界上任何現存的雲計算系統差。

成功登頂的“雲梯2”,後來更名為ODPS,“加冕”成為了阿裏巴巴各項業務通用的大數據計算平臺。ODPS驗證成功之後,阿裏立刻啟動“登月計劃”,把所有數據和計算都遷移到飛天為基礎的系統上,全盤替代IOE和雲梯1。2013年5月,阿裏巴巴最後一臺小型機下線。7月,淘寶最後一個Oracle數據庫下線。阿裏巴巴這臺戰車,用了五年時間,在超高速行駛中,沒有踩一腳剎車,成功更換了發動機。因為突破了技術瓶頸,在5K之後,ODPS只用了幾個月就沖上了單機群10K,進而實現了無限制擴展。到2018年,已經更名為MaxCompute的ODPS達到了數萬臺的規模。

技術分享圖片技術分享圖片?

在芯片領域,我們面對美國壟斷只得眼睜睜地靜默。

在操作系統領域,我們面對美國的背影只能艱難追趕。

但是在雲計算這片土地上,從王堅帶著一群理想主義者橫空出世,到胡曉明把商業戰場拉至和亞馬遜的AWS同一級別。中國人用了十年時間造出的全球第三、亞洲第一的阿裏雲,不說和美國戰位和棋,至少在世界的版圖上奪下了堪為廣袤的一片疆土。

2018年,當年為阿裏雲對接淘寶立下汗馬功勞的小邪正式加入阿裏雲,掌管“飛天八部”,阿裏雲所有的現役主力和技術,都歸至他麾下。此時小邪nian中的彈藥充足:2017年發布的神龍雲服務器,是對下一代雲計算主機的探索。同年發布的PolarDB,劍指商業數據庫Oracle和它的繼任者MySQL,也稱得上是阿裏雲未來之星。2018年初,飛天的分布式存儲系統“盤古”升級到了2.0,成為了阿裏巴巴統一存儲平臺。2018年秋天的雲棲大會上,唐洪、小邪、何導等阿裏雲大咖系數登場,發布了飛天2.0。敢稱2.0,是因為他們把野心放到了“萬互聯”的下一個20年。如此嘗試和未來對話的技術還有很多。

其中,PolarDB是阿裏雲自研的下一代關系型雲數據庫,100%兼容MySQL,存儲容量最高可達100TB,性能最高提升至MySQL的6倍,單庫最多可擴展到16個節點,使用與企業多樣化的數據庫應用場景。PolarDB采用存儲和計算分離的架構,所有計算節點共享一份數據,提供分鐘級的配置升降級、秒級的故障恢復、全局數據一致性和免費的數據備份容災服務。PolarDB既融合了商業數據庫穩定可靠、高性能、可擴展的特性,又具有開源雲數據庫簡單開放、自我叠代的優勢,而成本只有商用數據庫的1/10。

技術分享圖片技術分享圖片?

二、PolarDB優勢分析

1.簡單易用:100%兼容MySQL。在已有的使用MySQL數據庫的應用程序代碼、驅動無需更改,即可運行於PolarDB。

2.極致性能,降低成本:(1)針對數據庫內核進行深度優化,同時采用物理復制、RDMA高速網絡和分布式共享存儲,讀性能最高能達到MySQL的6倍;(2)集群包含一個主節點和最多15個只讀節點,滿足高並發場景對性能的要去,尤其適用於讀多寫少的場景。

3.超大容量,支持上百TB級別數據:采用分布式塊存儲設計和文件系統,使得存儲容量不限制於單節點的規格,能夠輕松擴展,應對上百TB級別的數據規模。

4.快速彈性,應對不確定的業務增長:(1)Serverless存儲,存儲空間無需手動配置,根據數據量自動伸縮,用戶只需為實際使用的數據庫容量付費;(2)配置降級,3分鐘生效,采用容器虛擬化技術和共享的分布式塊存儲技術,使得數據庫服務器的CPU、內存能夠快速擴容;(3)增減節點,3分鐘生效,通過動態增減節點提升性能或節省成本。通過使用集群連接地址,可屏蔽底層的變化,應用對於增減節點無感知。

5.下一代數據庫引擎內核:(1)基於共享存儲的一寫多讀集群,數據只需要一次修改,所有節點立即生效。例如,大表加索引可能需要30分鐘,那麽在MySQL中,主備庫共需要1個小時,且備庫會延遲至少30分鐘。而在POLARDB中,主庫加索引後,備庫立即生效,總耗時30分鐘,延遲不超過1分鐘;(2)采用物理日誌代替邏輯日誌,通過共享存儲和物理日誌,使得主備庫延遲控制在毫秒級以內,且可根據實際情況修改為主備庫強同步(會犧牲一定的寫入性能);(3)無鎖備份,利用底層分布式存儲的快照技術,只需分鐘級別即可完成對上1TB的數據庫進行備份,且整個備份過程不需要對MySQL加鎖,效率更高,影響更小;(4)並行查詢引擎(SQL加速),通過並行計算提升復雜大SQL的查詢性能,尤其適用於大表關聯查詢、對無索引列的點查詢、多字段分組查詢等場景,根據實際情況性能可提升8~30倍。

6.高可用和高可靠保障:(1)共享分布式存儲的設計,徹底解決了MySQL Master-Slave異步復制所帶來的備庫數據非強一致的缺陷,使得整個數據庫集群在應對任何單點故障時,可以保證數據0丟失;(2)采用Active-Active的高可用集群架構,可讀寫的主節點和只讀節點之間進行Failover切換,與傳統的Active-Standby相比,用同樣成本帶來了更好的系統訪問性能。

7.數據安全可靠:采用白名單、VPC網絡、SSL加密、數據多副本存儲等全方位的手段,對數據庫數據訪問、存儲、管理等各個環節提供安全保障。

三、PolarDB架構特點

1.一寫多讀

2.計算與存儲分離

3.讀寫分離

4.高速鏈路互聯

5.共享分布式存儲

6.數據多副本、Parallel-Raft協議

雲數據庫PolarDB基於Cloud Native設計理念,其架構示意圖及特點如下:

技術分享圖片技術分享圖片?

四、PolarDB的應用場景

1.高並發讀寫OLTP

技術分享圖片技術分享圖片?

2.高可用、彈性擴展

技術分享圖片技術分享圖片?

3.遷移上雲

技術分享圖片技術分享圖片?

雲數據庫PolarDB(一)