雲計算

DTCC 2020 | 阿里雲葉正盛:數據庫2025

摘要:數據庫從上世紀五十年代發展至今,隨著基礎設施的改變,其技術也在不斷演進。數據庫市場也從原本商業化巨頭形成的壟斷地位逐漸變為雲廠商處於領導地位,而未來在雲上,數據庫將會是兵家必爭之地。與此同時,雲原生技術、數據庫自動駕駛技術以及數據庫和大數據技術的融合使得數據庫的未來更加充滿生機。在DTCC 2020大會上,阿里雲數據庫產品管理與運營部總經理葉正盛為大家分享他對於“數據庫2025”的展望。

本文內容根據演講錄音以及PPT整理而成。

演講嘉賓介紹:

BV1A7890.JPG
BV1A7908.JPG

葉正盛(花名:鬥佛),阿里雲數據庫產品管理與運營部總經理,目前擔任阿里雲數據庫產品總規劃師,主要負責阿里雲數據庫的產品規劃和產品運營相關的工作。之前從事軟件研發工作十餘年,2010年開始加入阿里做“去IOE”、異地多活和雲計算方面的工作,2020年帶領團隊衝進了Gartner全球數據庫領導者象限。

數據庫發展歷程

1.png
在介紹數據庫2025的規劃之前,首先回顧一下數據庫的發展歷程。數據庫的發展離不開計算機基礎設施的發展,因此可以將數據庫的發展分為五個階段。

  • 第一階段:上世紀五十年代的大型機時代。在這個時代,大型機可能不到100臺,基本上用在科學研究和國防等領域,當時主要是層次和網狀數據庫,比較典型的產品是IBM的IMS,IMS已經很少能夠見到,在一些金融領域還有應用。
  • 第二階段:上世紀七八十年代,此時小型機已經開始普及。不僅是在國防和科學研究,更多的是在商業領域,包括銀行這樣的系統開始應用小型機。與此同時,關係型數據庫開始誕生,出現了包括DB2、Oracle以及Ingres等之名關係型數據庫。
  • 第三階段:上世紀九十年代,此時PC機、X86以及局域網等基礎設施已經非常健全,IT應用範圍已經擴展到企業全面的信息化,關係型數據庫開始蓬勃發展,出現了數據倉庫以及單機數據庫,比如SQL Server、dBase等數據庫。
  • 第四階段:到了2000年,開始進入互聯網時代。大家也都有非常深刻的體會,無論是搜索、社交還是電商等都有非常廣泛的應用,此時像MySQL、PG、Redis、MongoDB等開源數據庫也得到了非常廣泛的應用。
  • 第五階段:今天是數據庫的“雲+端”時代。無論是新媒體、移動應用、雲計算以及物聯網等,包括今年新冠疫情導致在線教育、在線辦公都飛速發展,其實都代表著一個新的時代的開始。在這個階段,雲數據庫起到了非常大的作用。比較典型的雲數據庫產品就是AWS的RDS和Redshift以及阿里雲的PolarDB和ADB等。

DB-Engines數據統計

2.png
截止到2020年12月,在DB-Engines上目前一共有363種數據庫。按照數據庫模型來看,傳統的關係型數據庫和非關係型數據庫佔比為3:1,可以看出,關係型數據庫依舊是主流。而按照商業和開源數據庫的角度來看,兩者依舊是平分天下。在商業數據庫領域,具有代表性的數據庫有Oracle、SQL Server等;而在開源數據庫領域,具有代表性的數據由MySQL和PG等。

數據庫-兵家必爭之地

3.png
為什麼大家都來做數據庫呢?AWS認為數據庫是未來的兵家必爭之地,因此一直以來對於數據庫非常重視,每年的AWS re: Invent 上都有很多關於數據庫的重磅專題發佈。一般而言,在IaaS層,也就是對於服務器、網絡和存儲這一層面,大家都有比較統一的認識,今天很多企業其實已經建設的差不多了。而更上層的就是智能化應用,大家也正在逐漸形成統一的認識,那就是未來的應用一定是向著智能化發展。從IaaS到智能化應用需要經歷一定的環節,而在這個環節中,數據庫將會起到非常關鍵的作用,包括數據的產生、存儲、消費和分析,這些都是數據庫要去解決的問題。因此,我們可以看到無論是國際巨頭還是國內廠商都在數據庫裡面投入了大量的資源。

迎接新數據時代

4.png
前面的部分主要是進行回顧,接下來對數據庫的未來進行暢想。如今我們正在迎接新的數據時代,上圖中展示的數據來自IDC的報告,IDC統計預測,去年全球有45ZB數據,而到了2025年數據量將會達到175ZB。而作為新數據代表的物聯網,去年大約具有4.4ZB數據,而在2025年將會達到90ZB,也就是說僅物聯網將會佔據未來一半的數據量。此外,數據將會存儲在什麼地方呢?根據IDC的報告,去年全球大約有20%的數據存儲在公共雲上,而到2025年大約會有46%的數據存儲在公共雲,與此同時,還會有大量數據存儲在私有云上。基本上就是說到2025年,大約80%至90%的數據將會存儲在雲上。

另一個方面,新數據會從哪些地方產生呢?以前數據基本上都是由PC、手機、平板電腦產生的,而在未來,汽車、視頻、智能設備以及工業互聯網都是新數據產生的典型場景,而且這些場景下數據產生的速度將會迅速提升。產生的數據大致分為兩類:一類就是結構化的數據,這裡的結構化數據不僅包括了關係型數據庫中存儲的關係數據,也包括了JSON、XML等之前大家稱為半結構化的數據,這樣的劃分是因為這些數據在今天使用數據庫的多模能力進行處理已經非常簡單了,不像十年前那麼複雜,因此這類的數據統稱為結構化數據。另一類是非結構化的數據,包括瞭如今無處不在的產生日誌、文本、圖片、語音、視頻和文件等,這些都是非結構化數據的代表。圖片怎麼結構化計算,視頻、語音等如何轉化為向量的多維數據來幫助分析或機器學習,都需要進行結構化的數據處理。今天的數據中臺所考慮的就是如何將數據的價值最大化,同時會結合AI相關的技術來做智能計算,這正是新數據時代的樣子。面對越來越多的數據量,如何處理結構化和非結構化的數據,存在非常多的技術挑戰和商業挑戰。

雲是數據庫最重要的發展方向

5.png
雲是數據庫最重要的發展方向,這也是Gartner的分析師給出的一個結論。其實Gartner分析師看得非常遠,早在2018年就預測2022年全球75%的數據都會存在雲上。從上圖中也可以看出,使用雲數據庫的體量其實在逐年增長,2018年是22.75%,2019年是34.68%,2022年預測是75%。

Gartner基本上每年都會發布魔力象限,所有的數據庫廠商都會非常關注魔力象限。可以看到,2013年數據庫魔力象限的領導者象限中主要包括Oracle、微軟、IBM和SAP,這幾個巨頭幾乎處於無敵的位置,所有的NoSQL廠商以及大數據廠商都在普通玩家的象限。而到2020年,領導者象限發生了很大的變化,最強的領導者已經變為了AWS,其次是微軟、谷歌、阿里雲,這四家都是雲計算廠商,這也印證了Gartner所認為的雲才是未來。無論是從市場份額,還是技術引領方面以及營銷方面,這些雲廠商所提供的數據庫都具有優秀的表現,所以才歸入領導者象限內。而其他小廠商如果不和雲結合,便很難在魔力象限中獲得一席之地。能夠進入魔力象限就已經是非常不錯的廠商了,如果能夠進入領導者象限,那就代表了Gartner認為這些廠商正在引領未來。

雲原生數據庫快速崛起

6.png
上圖的統計數據來自於DB-Engines,可以看到無論是Oracle還是DB2,他們的曲線相對而言比較平滑,其增長是非常緩慢的,而與之形成鮮明對比的是:雲原生數據庫領域發展得非常快。右圖是亞馬遜AWS、微軟Azure、谷歌雲以及阿里雲的自研雲原生數據庫全部統計數據,可以發現雲原生數據發展非常快。無論是從技術上還是生產上,雲原生數據庫代表著一種新的生產力。

數據庫支持多雲部署是最重要的戰略方向

7.png
數據庫支持多雲部署是最重要的戰略方向。無論是誰來做數據庫,如果不和雲結合,市場拓展會非常難。數據庫廠商有了很多的積累,如何打開未來數據庫的市場,讓自己的產品服務到更多的用戶,充分利用好云為我們提供的基礎設施是最重要的。現在全球的幾個比較著名的新興數據庫廠商,比如Atlas(MongoDB)、SkySQL(MariaDB)、Redis企業雲等都提供了多雲部署架構,而今年比較火的Snowflake提供了完全的雲原生部署,其不像是MySQL那樣可以下載,而只能運行在雲上面,這是因為Snowflake認為雲原生就是未來的發展方向,所以沒有必要再走其它的彎路。總體結論就是數據庫是支持多雲部署最重要的戰略方向,無論是初創產品還是開源的成熟生態,雲一定是數據庫的未來。

數據庫大數據技術一體化

8.png
數據庫、數據倉庫和大數據這幾個概念往往交織在一起,如今的一個觀點是數據庫和大數據技術朝著一體化發展。Gartner在報告中已經將OLAP和OLTP以及大數據合併在一起了,這是因為他們在之前評估OLAP和OLTP以及大數據的魔力象限時會發現各個廠商都在拿同樣的產品出來,因此可以看出各個廠商的產品都在向融合化的方向發展。而對於用戶而言,也不想要了解清楚各個技術概念,其所關心的是業務價值。總而言之,數據庫和大數據技術正在朝著一體化的方向發展。

進一步來分析為什麼會這樣呢?2003年到2006年可以認為是大數據的誕生期,谷歌的三大論文發表對於業界產生了巨大的影響力,但是值得注意的一點是谷歌所提出的技術重點是解決分佈式擴展問題,不一定應用在數據庫上面。2006年到2014年是大數據的探索期,一些NoSQL數據庫比如HBase、Cassandra的早期版本在這個時期出現。此外,SQL的接口模型也逐漸成熟,之前大家認為MapReduce比較通用,但是經過實戰之後發現SQL的接口更加友好。與此同時,也開始出現了一些開源的分佈式文件系統,如HDFS和Ceph等。2014年之後,技術發展趨勢變得有意思了,數據庫和大數據的技術開始融合,出現了像NewSQL這樣的分佈式數據庫,比如Spanner、TiDB以及Cassandra後續版本等已經將分佈式的BigTable理念與數據庫的理念結合在一起了,這是在BigTable路線上的變化。在編程模型部分,以前部分產品將SQL當做外置的接口增強,而如今的很多產品將SQL當做自身原生的能力,就像是數據庫一樣,將SQL當做自己的內核,還有部分產品將存儲過程當做自己的內核。而對於分佈式文件系統部分,可以發現,雲廠商在這部分做的非常好,無論是AWS的S3還是阿里雲的OSS與雲盤,他們天然就是分佈式存儲。雖然分佈式存儲的技術挑戰非常大,但是雲廠商把這些問題基本上解決了,所以很多企業開始基於雲廠商基礎設施的能力構建分佈式的數據計算能力,這也導致了大數據技術、數據倉庫以及數據庫逐漸走向融合。以前大家認為數據倉庫擴展性不好,所以出現了大數據技術,但是今天分佈式基礎設施的能力已經變得非常強了,所以無論是數據庫還是數據倉庫,其擴展性都變得越來越好,足以處理PB級別的數據。另外一面,大數據產品開始將SQL能力全部融合進來,甚至將事務ACID等特性集成進去,這使得大數據技術和數據庫技術兩個領域快速融合,因此未來所需要考慮的事情是如何朝著這個趨勢演進,提供更多更優秀的產品。

數據庫自動駕駛能力持續增強

9.png
我在最開始的時候對於自動駕駛也持懷疑態度,但是隨著這項技術越來越成熟並且逐漸被大家開始廣泛使用,對於自動駕駛的認識也有所改變。數據庫的自動駕駛和汽車的自動駕駛還是不太一樣的,數據庫做自動駕駛更容易一些。2016年時,阿里巴巴數據庫的自動駕駛平臺叫做CloudDBA,這個產品所需要解決的核心問題就是整個阿里巴巴集團的數據庫自動化運維的問題。當時阿里巴巴集團的數據庫實例非常多,大約有幾十萬個,面對如此之多的數據庫實例,僅依靠DBA人工運維很難保障。

因此當時阿里巴巴做了CloudDBA產品,其集成了很多自動駕駛的概念,最終希望能夠讓數據庫不需要通過人工干預,就能夠對於出現的問題進行自動優化、修復,甚至在容量不足的時候進行自動擴容,在雙11的時候能夠實現智能壓測,而且面對黑客攻擊或者大促意外產生的SQL高峰也能夠實現自動限流。到2018年的時候,這套產品就開始在阿里雲上進行輸出,叫做數據庫自治服務DAS。在今年的時候,數據庫自治服務DAS開始商業化,雖然一開始對於商業化並沒有特別大的期待,但是不到一年的時間,阿里雲上就已經有2000多家企業開啟了數據庫自治服務。這也反映出了客戶的一種訴求,那就是希望數據庫能夠實現自動駕駛。雖然很多用戶並不清楚數據庫自治服務背後的原理,但是卻開啟了這項服務,這是因為很多中小企業自身並沒有DBA,自己也不想去做SQL優化,當看到數據庫自治服務的產品介紹,比如SQL峰值自動限流、CPU自動擴容等特性,發現這些就是客戶自身所需要的。因此,從市場需求來看,數據庫自動駕駛這樣服務是需要的。從技術角度來看,其實也不是非常困難,DBA專家經驗加上機器學習技術就可以實現這件事情。目前,阿里巴巴的數據庫自治服務已經實現了“半自動”,雖然還沒有能夠達到理想情況下的客戶無需任何管理的情況,但是這個方向會持續增強,最終實現數據庫全自動駕駛。

總結

11.png
最後總結一下,如今我們正在迎接新的數據時代,因此需要做好準備。雖然今天我們的系統更多的跑在關係型數據庫和數據倉庫等,但是隨著物聯網、工業互聯網這些領域的爆發,如何去迎接新的數據時代是一個非常有意思的話題。其次,在新的數據時代,雲原生數據庫和數據倉庫將會全面普及。雲原生概念在2020年已經非常流行了,而且雲計算作為基礎設施已經得到了一致的認可,而云原生代表著雲計算裡面最為核心的技術。再次,數據庫將默認開啟自動駕駛,這一點在技術上而言已經不再有瓶頸存在,未來將會在各個領域進行突破。最後,各種國產數據庫百花齊放,並且應用到各行各業,很多核心繫統都開始切換到國產數據庫,如PolarDB、TiDB、達夢等等,國產數據庫必將全面崛起。

Leave a Reply

Your email address will not be published. Required fields are marked *