展望雲計算新時代資料庫計算力的進化

2021-09-02 21:16:01 字數 3179 閱讀 2626

從2023年關聯式資料庫理論被提出,到2006雲計算概念的誕生,半個世紀以來it行業的科技革新不斷引領著時代潮流。作為it技術的核心領域之一,資料庫如何在雲計算的大時代背景下持續進化,開拓創新。

10月12日的雲棲大會·阿里雲自研資料庫polardb專場,阿里雲研究員餘鋒帶來了《展望雲計算新時代資料庫計算力的進化》主題分享,**了阿里雲資料庫團隊自研資料庫polardb的設計理念,並一起展望了新一代雲資料庫的未來。

雲資料庫的進化

資料庫是計算,是儲存,也涉及網路和記憶體,但它們都是非常密集的基礎軟體。事實上,過去大家所接觸的諸如中介軟體、轉化器之類的都在做流量,而資料庫是真正的知識密集型事務。乙個資料庫的好壞,取決於它是否是乙個能把計算能力、儲存能力、網路能力還有記憶體能力發揮到極致的綜合軟體。因此,polardb所有的進化和發展都是圍繞的這三方面。

全世界範圍內的流行資料庫有幾百種,但它們都是計算、儲存、網路這三個基礎東西的綜合體,每當計算的硬體、儲存或是網路發生變化時都是資料庫變革的契機,每乙個變化也都蘊含著各種各樣的機會。

現在,在阿里雲或者在其它雲廠家都可以很方便地拿到一台記憶體t級別的固定機,這也體現了記憶體方面極為恐怖的增長速度。網路也是如此,rdma網路就已經發生了非常大的變化,雖然對於個人來說因為成本考量一般是不會購買使用的,但是it公司就會去擁抱這些東西,這是硬體上的變化。然後從計算的角度,多核cpu、128核已經十分普及。現在還有很多基於gpu的資料庫,阿里雲polardb在這一塊也有研究和探索。儲存同樣也是,比如ssd和英特爾研發的ethernet。記憶體也不例外,今天一台機器就會有幾t的記憶體,太為普遍。網路上的infiniband雖然還是很高階,但相信未來大家一定能夠很方便地獲取使用。

硬體的變化必然會伴隨著軟體的變化。不同於資料庫服務,資料庫更像是汽車上的引擎,而資料庫服務就需要提供一輛整車,還要提供4s和整個生態服務。整個db引擎在雲資料庫環境裡其實是很小的一部分,需要像docker隔離,所以如果隔離技術應用不夠,隨之帶來的使用體驗就會非常差。比如「雙11」,過去乙個包從客戶機器到達db後端可能需要百八十微秒,現在則只需要三十微秒左右,能夠使得整個雲服務更有競爭力、使用更便捷,在各個環節追求極致。圍繞計算、儲存和網路,polardb也在致力於成就極致的體驗。

新一代雲資料庫polardb

對比mysql,polardb擁有了6倍的效能提公升——這是它最核心的一點,目前也已經開放測試。那麼6倍的效能提公升是如何實現的呢?有幾樣東西是共見的:第一,最新的硬體;第二,從頭構建的儲存、引擎。polardb百分百相容mysql,這也就是意味著原來怎麼做,現在同樣遵守,區別只是更大更好更便宜,關鍵在於它使用了高cpu、網路網絡卡、rdma和規格,能夠解決最重要的痛點。過去的mysql單機2到3tb,實際上的polardb卻有高達100tb的盤。

我有幾張阿里雲幸運券分享給你,用券購買或者公升級阿里雲相應產品會有特惠驚喜哦!把想要買的產品的幸運券都領走吧!快下手,馬上就要搶光了。

當發生災難時資料通常無法快速轉移,所以就會帶來乙個疑惑:為什麼需要去做polardb?事實上polardb的研究已經歷經了兩三年,客戶產品使用中所遇到的很多問題和困難在現有的方案和架構上並不能很好地解決,但是polardb卻能夠完美地滿足客戶最大訴求。         

雖然看起來,似乎只要有好的硬體均可以滿足這一要求,然而其實並沒有那麼簡單。最早的mysql標準都是一主一從結構,所以sql寫入時的資料流基本是單向流進,會有八個資料流流動。資料流動一多,也就意味著io消耗會過大,延遲變大。除去這個原生模式外,rds和aws採取的做法都是將官方版本放於雲上,提供儲存以及更好的彈性。polardb則是為雲而生,其所有的彈性、隔離、io儲存均是針對雲的特點所設計的。

在系統的演進中,團隊對整體業務有了很深的了解,今天的資料流已經是極大簡化後的版本。如上圖所示,左邊是單向的,右邊則是雙向資料流,比如準備發生同步時資料會主動推給中間節點,所以這對於技術要求會很高。此外,過去是集中式儲存,資料同步中的copy成本很高,並且會造成很多不可見的問題。在mysql的使用上,過去因為一些資料不可用所以很少有人會把它用於關鍵場合,而polardb的設計具有金融級別的可靠性,能在硬體基礎上把很多事情簡化做好,讓它更可靠、更簡單。

如果有乙個好的資料庫卻不知道如何使用,或者說配套不完整,這些都是空談。polardb所提供的資料庫服務則具有完整的生命週期,從上雲端到擴容、縮容全覆蓋。**「雙11」讓團隊明確了網際網路高可用的使用,因此對於容災、擴容、彈性、存版都了解得非常清楚,所以在設計polardb時即針對這些場景,後續又逐漸疊加了金融、政企等場景。

在設計之初,polardb的計算和儲存就是分離的,如上所示的圖中可以看到非常明顯的三層:首先是使用者應用層,然後是計算層,最後是儲存層。過去的計算儲存不分離,就會導致在節點恢復時需要資料秒搬,但一般很少有系統可以做到這一點,比如幾個t的資料需要搬一至兩天,不可能突破物理極限。在計算、儲存完全分離後系統還設定了乙個中介軟體,讀寫分離的情況它的寫能力是非常強的,中介軟體也會幫助做讀寫能力和自動識別讀寫能力,同時成本也很低。

系統設計需要非常可靠資料,這是資料庫最核心的東西也是底線。通過計算以後,儲存分離的情況下資料都在後端,就形成了乙個標準的分布式資料庫,可以在生命週期裡擴容、縮容、讀寫分離以及容災。但是下面還需要考慮服務遷移的問題,可以用商業資料庫或mysql解決:諸如dts、bs的商業資料庫能夠用邏輯複製拉取過來;mysql則可以用物理設定。polardb能夠實現節點同步,即邏輯複製就是一條複製一次,物理複製就是一批拿過去,效果會更高。

資料如果通過物理複製以及oss的方式中轉上來,速度會非常之快。根據銀行要求,未來的運營資料需要保留較長時間,所以可以把資料匯入到oss上等需要的時候再匯出。rds是乙個完整的體系,能夠百分之百相容所有生態,也希望polardb能和生態一起演化。

國際化、智慧型化、持續創新

ppolardb最重要一點是它的資料庫可以和國際接軌。有一些國內外的合規要求不太一樣,比如之前新加坡郵政所做的專案對合規要求就非常高,但這些東西屬於輸出的核心功能,rds裡就有的,所以系統能夠很容易地繼承過來並做得更好。未來,相信polardb會朝著資訊化、網際網路化、國際化、智慧型化、創新化的方向不斷進化。

閱讀原文

雲計算時代的資料庫執行

雲計算時代的高可用資料庫是可擴充套件 容錯且與任何私有雲或公共雲相容的資料庫例項。它們旨在提供業務連續性,而不會因任何型別的硬體或網路故障而導致使用者體驗的影響。其核心設計原則是消除任何單點故障,並提供平穩的故障轉移體驗。公共雲和私有雲使企業能夠擺脫容易出錯的傳統架構,並執行具有可靠性為5個9和6個...

雲計算時代的運維職位展望

雲計算將使it人失業?惠普推雲計算裁員九千 程式設計師如何面對即將到來的產業大調整?從hp的裁員可以看出,技術產業的轉行,其實對從員人員很重要。雲計算時代的運維職位展望 雲計算的時代正在來臨,運維的工作也將在今後幾年中發生翻天覆地的變化。如果你是乙個能給自己做主的人,你必須看清形勢順勢而為,在變革的...

雲計算 大資料和人工智慧,誰將開啟新時代?

網際網路的已經經歷了pc時代和移動網際網路時代,不可否認僅僅幾年時間,移動網際網路在某種程度上已經達到飽和。那麼哪種技術可以開啟下乙個時代?三者界限愈加模糊 人工智慧技術其實是乙個非常廣泛的技術,它不僅涵蓋了語音識別 影象識別 自然語言理解 使用者畫像,它其實越來越和大資料 雲計算的界限在變得模糊。...