天天看點

從傳統資料庫到雲資料庫演進

以下是視訊内容精華整理。

一、資料庫概述

(一)資料庫發展簡史

資料庫的發展與計算機的發展密不可分。如下圖所示,從上世紀五十年代大型機開始應用到現在,計算機的發展已經有近百年的曆史,在這個發展曆程中,資料庫也随之發展,從最早應用于大型機的層次資料庫和網狀資料庫,到現在如火如荼的雲資料庫。随着計算機和資料庫技術的快速發展,其應用場景也越來越廣泛,時至今日,新媒體、移動APP、雲計算等等,幾乎各行各業都離不開資料庫。

從傳統資料庫到雲資料庫演進
(二)資料庫分類

實際上資料庫遠遠不止上圖提到的幾種,它是一個非常龐大的産業。據DB-Engines統計的,截止到2020年5月,有357種資料庫被收錄,這僅僅是公開的資料庫,如果算上很多企業内部自研、未公開的,保守估計現在至少有1000種資料庫。

從資料模型來講,資料庫總體上可以分為關系型和NoSQL類型的,其中大概四分之三的資料庫為關系型資料庫,其餘為NoSQL類型的資料庫。另外從商業和開源角度來看,最早是商業資料庫占據多數,開源資料庫占一小部分,但是随着網際網路技術的發展,開源資料庫不斷發展,目前來說商業資料庫和開源資料庫基本平分天下。

如下圖,用一個四象限圖來對資料庫進行分類,總體上包括OLTP、OLAP、NoSQL和Big Data四種類型。其中各個資料庫的主要應用場景以及典型資料庫如下:

OLTP:主要用于線上事務處理,比如淘寶交易、銀行賬務處理等,典型代表如MySQL;

OLAP:主要用于資料分析和資料倉庫領域,典型代表如terdata;

NoSQL:主要用于存儲使用者資訊等場景,典型代表如Redis、MongoDB等;

BigData:主要用于大資料場景,典型代表如hadoop等;

當然,分類都不是絕對的,各個資料庫的應用場景也不唯一,比如ORACLE在OLAP、OLTP領域都用的比較多。具體來說,要根據業務場景和預算等因素來綜合選擇最适合的資料庫。 

從傳統資料庫到雲資料庫演進
(三)資料庫市場前景

當今,MySQL、Oracle和SQL Server是最流行的三大資料庫。MySQL在網際網路領域用的非常多,Oracle在企業中用的比較多,但是現在也有一部分Oracle的使用者流向MySQL和PosgreSQL,SQL Server也有一部分使用者流向MySQL。總的來說,目前資料庫市場的競争是非常激烈的,可以說是群雄逐鹿。

2018年,全球資料庫市場大概是在461億美金,而2018年中國資料庫市場佔有率前三的廠商分别是Oracle、阿裡雲、Microsoft,分别占據了5.79億美金、4.61億美金、4.13億美金的市場佔有率。然而,從雲計算的角度來看,2019年中國公共雲資料庫市場佔有率阿裡雲可以說是一家獨大,占據了約61%的市場佔有率,其他廠商一共瓜分了剩餘39%的市場佔有率。可以說,未來資料庫的市場會越來越大,競争越來越激烈。

為什麼這麼多廠商都要做資料庫呢?從專業的領域來看,資料庫在目前的商業領域中是比較關鍵的一環;另外,值得肯定的是,未來的應用都是智能化的應用,資料庫是其中至關重要的一環,

資料生産、資料存儲、資料消費都是依賴資料庫的,隻有資料庫這一環做好了,上層的應用才能真正做到智能化。是以,目前包括阿裡巴巴、華為、騰訊等廠商都在資料庫領域投入了大量的人力、物力、财力,就是為了在将來能夠掌握關鍵技術,做好上層智能化應用。

二、阿裡巴巴資料庫發展曆程

阿裡巴巴資料庫發展主要包括如下圖所示的四個階段,從最初建設了亞洲最強大的Oracle叢集,發展到現在已經擁有多種自建的、性能優秀的資料庫,并且在雲資料庫領域大放光彩。

從傳統資料庫到雲資料庫演進

這裡不得不提到Gartner關于雲資料庫的分析報告,如下圖所示,其在2019年的報告中提出,雲資料庫快速發展,預計到2022年75%的資料庫都在雲上。

從傳統資料庫到雲資料庫演進

三、傳統資料庫面臨的挑戰

雲資料庫高速發展,那麼傳統自建資料庫面臨的挑戰有哪些呢?自建資料庫主要分為自建商業資料庫和自建開源資料庫,他們面臨的挑戰也不一樣。總的來說,自建商業資料庫比如IBM DB2、Oracle、SQL Server,面臨的挑戰主要有如下:

軟體價格高;

運維壓力大;

集中式設計,擴充性差;

技術體系封閉,對新資料模型支援弱。

很多企業也會自建開源資料庫,比如MySQL、PosgreSQL、Redis等,這些資料庫目前面臨的主要挑戰有:

缺少商業服務保障;

可靠性、安全性難保障。

四、雲資料庫

(一)雲資料庫特性

雲資料庫已經成為商業活動中的必需品,那麼什麼是雲資料庫呢?總結起來,雲資料庫應該有如下6大特性:

開箱即用:購買後無需安裝即可使用;

自動運維:最大程度的自動化運維,如高可用保障、自動恢複等;

彈性擴充:能夠适應業務的發展,進行彈性擴充;

相容生态:開放、友好,能夠适應商業生态,使得應用平滑的遷移上雲;

服務保障:有着服務保障的承諾,比如服務品質、可用性等等;

更安全:無論是資料傳輸加密、通路權限控制等等,都要有相應的安全保障體系。

(二)阿裡雲資料庫

下圖是阿裡雲資料庫的整體架構。可以看出,阿裡雲資料庫支援非常多的類型,比如MySQL、SQL Server等等,還有很多自研的産品,比如PolarDB、ADB等。阿裡雲資料(DBaaS)的架構包括基礎資源管理層、平台功能層、使用者接入層,其中基礎資源管理層包括實體機、虛拟機、存儲、虛拟網絡等,平台功能層為使用者提供了執行個體配置、診斷優化、彈性升降級等衆多功能,使用者接入層包括線上購買、控制台、資料遷移和Open API等面向使用者的功能。基于上面的三層架構,阿裡雲還提供了帳号、計費、可用區管理等雲公共服務。

從傳統資料庫到雲資料庫演進

如今阿裡雲資料庫已經有超過10萬的客戶,超過四十萬的執行個體,可以說是中國最強的資料庫研發團隊。阿裡雲資料庫提供了最豐富的資料庫選型,包括MySQL8.0、SQL Server2019、Redis6.0、MongoDB4.2等,并且100%相容生态,客戶業務無需修改,可以直接遷移到阿裡雲,而且所有的核心都是經過了雙十一高并發與穩定性考驗。總得來說,阿裡雲資料庫有如下特性:

1.開箱即用

1分鐘建立執行個體

自動參數調優配置

内置監控告警

一鍵資料遷移

2.更快

核心優化

參數優化

性能至少提升30%

快速彈性擴充

3.更穩

可用性SLA:99.99%(業界第一)

穩定硬體選型與壓測

管理了數十萬執行個體的HA系統

快速核心bug修複

4.更安全

内置備份恢複,避免删庫跑路,可以恢複到一周内任意時間點

有資源回收筒功能,避免誤操作

SQL操作審計

傳送與存儲加密:TDE、SSL

通過了PCI/DSS/ISO/SOC等保安全認證

雖然目前已經有很多使用者在使用我們的雲資料庫,但是也有一些企業出于某些方面的考慮在使用自建資料庫,比如管理靈活等。基礎此,阿裡雲最近釋出了一款雲産品:雲資料庫專屬叢集,如下圖所示,其将雲資料庫和自建資料庫的優勢進行結合。它支援現有RDS所有功能,可以做到安全隔離、自動可控,支援的資料源多,有着極高的成本效益。

從傳統資料庫到雲資料庫演進
(三)阿裡雲新一代雲原生資料庫體系

下圖是阿裡雲面向雲計算設計的新一代雲原生資料庫産品體系。其中包括工具類産品,比如資料傳輸DTS、資料管理DMS和資料庫備份DBS,這些工具類産品均不需要安裝,全部是開箱即用,與雲原生資料庫打通,更加安全、高效;還有雲原生資料庫産品,比如PolarDB、AnalyticDB等等,既有面向OLTP場景的産品,也有面向OLAP場景的産品以及其他應用場景的産品;除以上外,還有一個自動運維的産品——資料庫自治服務(DAS),就像自動駕駛一樣,如果将資料庫放在阿裡雲上,阿裡雲可以進行自動的診斷優化、彈性擴充等,DAS也是未來資料庫發展的重要方向。

從傳統資料庫到雲資料庫演進

以下是阿裡雲資料庫幾種典型産品的簡介。

(1)PolarDB

PolarDB可以算是雲原生資料庫的上司者,使用者廣泛,且國内外衆多的廠商也在學習其内在技術,是阿裡雲增長最快的資料庫,其主要特性以及基本架構如下圖所示。值得一提的是,在這次新冠疫情中, Polar也貢獻了自己的一份力量,如猿輔導、好未來等線上教育機構使用PolarDB為廣大使用者提供優質的線上教育,心動網絡、elex等廠商基礎PolarDB為大衆提供遊戲服務,保障了大家疫情期間的學習和娛樂。

從傳統資料庫到雲資料庫演進

PolarDB還有一個版本是Oracle相容版,下圖是阿裡雲為使用者提供的Oracle遷移标準解決方案,主要是基于PolarDB+ADAM+DTS的方案,該方案的相容性非常高,可以說是業界相容度最高的産品了,使用DTS不需要停機就可以線上将資料庫由Oracle遷移到PolarDB-O上,遷移成本大大下降;目前PolarDB-O雖然還不能達到Oracle相同的性能,但是在測試中也能達到Oracle70%的性能,成本效益很高;另外PolarDB-O擁有雲原生特性以及國産化認證,相信未來會有更廣泛的應用。

從傳統資料庫到雲資料庫演進

PolarDB-O提供了業界最佳的Oracle相容性,比如用戶端相容、SQL相容以及其他的重大特性相容,大家可以到網站上查閱相關文檔進行詳細了解。

(2)PolarDB-X

PolarDB-X是PolarDB的分布式版本,它不是一個中間件的架構,而是一個一體化的分布式架構,增加了很多分布式的專用元件,并且能夠自動的進行分布式擴充,其架構以及主要特性如下圖所示。目前,PolarDB-X在網際網路行業和政企、金融業有着廣泛的應用,對于比較大的業務場景來說,PolarDB-X是非常适合的産品。

從傳統資料庫到雲資料庫演進

(3)ADB

雲原生資料庫ADB是資料倉庫中非常專業的解決方案,在彈性擴充上非常強,可以從1個節點擴充到5000個節點;在QPS上,從1到百萬級的都支援,OPS從1到千萬級都可以支援。ADB的理念是“會使用資料庫就會使用大資料”,因為大資料相對來說還是比較複雜的,而ADB是一個資料倉庫的理念,相容MySQL和PG兩種協定,上手比較簡單。ADB融合了傳統的資料倉庫、雲計算、大資料等技術,可以認為是新一代的雲原生資料倉庫。ADB性能優秀,成本效益高,目前在很多行業已經有了大範圍的應用,比如國家電網、EMS、天弘基金等等。其架構與主要特性如下圖所示。

從傳統資料庫到雲資料庫演進

(4)DLA

DLA是雲原生資料湖解決方案,因為資料往往分散在很多地方,比如關系型資料庫、資料倉庫、大資料、檔案存儲OSS中等等,資料湖可以把分布在不同地方的資料庫聯合起來,使得使用者可以進行資料的聯合分析。DLA支援的資料源非常多,是一個Serverless服務,在各個領域應用廣泛,比如明日方舟、友盟等,其基本架構以及特性如下圖所示。

從傳統資料庫到雲資料庫演進

(5)DTS

從傳統資料庫到雲資料庫,資料傳輸雲服務DTS是非常重要的一個産品,它能夠提供資料遷移、資料同步、資料訂閱的服務,可以稱為“資料高速公路”,其架構見下圖。DTS在阿裡雲上也是應用非常廣泛的一款産品,服務了至少幾十萬的使用者,幫助其完成資料庫的上雲工作。

從傳統資料庫到雲資料庫演進

五、總結

下圖是阿裡雲資料庫服務的産品大圖。從中可以看出,無論是(阿裡雲)雲外資料庫,還是傳統自建資料庫,都可以通過DTS服務遷移到阿裡雲上,然後根據業務的具體情況,從阿裡雲提供的衆多資料庫中選擇最合适的;最上層有面向開發者的資料管理DMS工具,可以将其與資料庫打通,進行相關業務的開發,并且提供了相應的企業版,幫助企業使用者進行資料庫的研發和管理;下層還有資料庫自治服務DAS,提供了資料庫的智能優化、異常修複、安全保護等服務。

從傳統資料庫到雲資料庫演進

從傳統自建資料庫到雲資料庫遷移的過程中,不同的資料庫,有着不同的解決方案,而且沒有絕對統一的方案,要依據業務和目前資料庫建設方案來選擇最适合的遷移方案,下圖是幾種推薦的方案。

從傳統資料庫到雲資料庫演進

毫無疑問,如今阿裡雲資料庫已經成為中國雲資料庫的上司者,也是全球資料庫領域的佼佼者,在亞太和全球資料庫市場占據了不小的份額,有着豐富的雲資料庫産品服務以及PolarDB和AnalyticDB兩大自研産品。另外,阿裡雲資料庫與達摩院建立了深厚的合作基礎,不斷的進行前沿探索,比如安全資料庫、自動駕駛資料庫等等。總的來說,阿裡雲資料庫更快、更穩、更安全,為阿裡巴巴内部以及其他企業提供了優秀的資料庫服務,希望未來能夠幫助更多的企業快速發展。

從傳統資料庫到雲資料庫演進

關鍵詞:資料庫、阿裡巴巴、雲資料庫、資料庫遷移、PolarDB、ADB