來自 | 阿里云云棲社區(qū) 8 月 24 日,阿里云數據庫技術峰會到來,本次技術峰會邀請到了阿里集團和阿里云數據庫老司機們,為大家分享了一線數據庫實踐經驗和技術干貨。在本次峰會上,阿里云數據庫高級產品專家蕭少聰(鐵庵)介紹了全體系阿里云數據庫產品并對于阿里云數據庫產品的實現架構進行了分享,幫助大家了解了阿里云全數據庫產品體系能解決哪些實用場景的問題,同時幫助大家了解其解決的原理。** 以下內容根據演講嘉賓現場視頻以及 PPT 整理而成。** 本次分享將主要介紹阿里云是如何設計云數據庫產品的架構的,以及在云數據庫產品的架構設計背后的故事。本次的分享將不會非常深入技術底層細節(jié),而是希望通過分享使得大家了解在使用云數據庫時應該如何去規(guī)劃,以及阿里云在設計云數據庫產品的時候存在什么樣的思考。 一、云數據庫的市場背景 多產品類型混合 在市場上面,大家可以看到類型非常多樣的數據庫產品。如果大家今天還是在使用像 SQL Server 或者 MySQL 這樣單獨的關系型數據庫,那么可能業(yè)務所覆蓋的場景還是比較有限的。而往往在一家中型或者比較大型的公司里面,已經開始用到很多不同的數據庫產品了。  系統(tǒng)架構越發(fā)復雜如上圖所示,通常情況下,在業(yè)務剛開始的時候使用的是一個 SQL 數據庫或者 NoSQL 數據庫,但是隨著業(yè)務慢慢的發(fā)展就會用到 Key-Value 的緩存數據庫,再之后可能就會發(fā)展到數據倉庫,同時也可能發(fā)展到大數據的系統(tǒng)。接下來為大家介紹一家公司從小型企業(yè)逐步成長為大型企業(yè)的過程中的數據庫架構設計的發(fā)展步驟以及在運作過程中每個階段的數據庫演化情況。如下圖所示,在初始階段,整個數據庫架構的結構是比較簡單的,圖中僅有 3 臺服務器,這意味著公司在剛剛開始的時候可能只有幾臺數據庫服務器,它們可能是 SQL 的系統(tǒng),也可能是 NoSQL 的系統(tǒng)。此時 DBA 以及管理人員不需要去做過多的結構使用分析。然而,在進行管理的過程中,DBA 往往會身兼多職,在這個時候的 DBA 可能在管理數據庫的同時也在做開發(fā)以及對于操作系統(tǒng)的運維工作。  更進一步,當企業(yè)發(fā)展到初具規(guī)模的時候,數據庫往往就不能夠以單節(jié)點的方式去運行了,此時往往需要配合一些集群以及一些其他的數據庫。例如在剛剛開始的時候,只用到了單獨的 SQL 數據庫以及 NoSQL 數據庫,但是在系統(tǒng)初具規(guī)模的時候,可能兩方面的數據庫都會用到,同時還可能會用到像 Key-Value 緩存數據庫等進行混合來實現整體的數據庫業(yè)務效果。在這個過程之中,DBA 扮演著非常神奇的角色,此時的 DBA 不只需要去做普通的 SQL 系統(tǒng)管理,而且還需要管理 NoSQL 以及 Key-Value 數據庫,而且很多時候整體系統(tǒng)監(jiān)控以及系統(tǒng)維護都需要由 DBA 進行完整地支撐,此時的 DBA 可以稱之為“神奇的 DBA”,因為他什么都需要管。  當業(yè)務進一步發(fā)展到下一個階段時又會是什么情況呢?其實很多公司在剛剛起步時往往只有一個項目,當公司的業(yè)務發(fā)展到一定規(guī)模的時候,項目也會逐步地增加。因此,每一個項目都將會使用一整套數據庫結構,而在這個時候項目也會不斷地提升和增長,每個項目會使用單獨整體數據庫結構,這時候的數據庫管理員 DBA 就不再是單個人了,往往會有 2 到 3 個 DBA,而且他們每個人應該都能夠獨當一面,并且應該具有完整的架構經驗。正是在這個時候才是對于企業(yè)的比較大的挑戰(zhàn),大家都知道在技術人員的職業(yè)發(fā)展生涯當中,技術人員都是希望能夠承載更多的工作或者讓自己的職業(yè)生涯獲得更大的發(fā)展,所以在這個過程之中往往能夠形成企業(yè)與技術人員本身之間認知差異的博弈。很多時候如果企業(yè)發(fā)展的速度跟不上技術人員的技術成長速度,技術人員就很可能嘗試跳槽或者尋找其他的工作,當技術專家離開企業(yè)的時候,就會使得企業(yè)的進一步發(fā)展受到阻礙。  數據庫容災:兩地 N 中心在系統(tǒng)架構越發(fā)復雜的情況下,企業(yè)所遇到的不僅是人員的問題,在進行數據庫架構發(fā)展演變的過程當中,企業(yè)還會遇到另外的一個問題:在業(yè)務發(fā)展到一定階段之后,往往需要產生更多的數據架構的邏輯,包括在業(yè)務要求之下以及在監(jiān)管部門的要求之下,可能需要實現像兩地三中心等等一系列復雜的架構,這也會使得業(yè)務的運行成本成倍地提高。因為在單獨的機房之下進行數據庫集群的搭建會是比較方便的,而在實現像兩地三中心這樣的架構的時候,還需要去購買同城光纖以及異地光纖等等基礎設施,這部分大量的費用也往往使得很多的企業(yè)在這樣的位置上處于停步狀態(tài)。  如果企業(yè)希望能夠進一步地突破發(fā)展瓶頸往往還需要使用更多的數據庫架構,例如需要使用到 OLAP 的數據庫倉庫以及大數據的海量分析等。在這樣的情況下,DBA 團隊以及整體系統(tǒng)的構建成本都將會更大地提升。  阿里云 云數據庫:產品理念前面為大家介紹了一個企業(yè)從小型到中型或者說是到達爆發(fā)期以及更進一步的上升期的過程之中,對于數據庫可能會出現什么樣的要求。接下來為大家分享在阿里云的云數據庫中希望為大家提供什么樣的產品理念。  -
首先,大家可以看到在業(yè)務各個不同的發(fā)展過程當中需要使用到不同的數據庫、數據庫的組合以及不同的數據庫產品的層級,因此阿里云會設計自己的數據庫產品讓不同的層級都可以適用。 -
第二點,阿里云會盡可能地去幫助企業(yè)提高自身的發(fā)展效率,也就是讓企業(yè)非常方便地擴展自己的資源,讓這些資源為用戶直接提升生產效率。 -
第三點,阿里云會直接降低整個架構的構建門檻,在傳統(tǒng)企業(yè)架構之下,從單個機房變到多個機房或者從單個服務器變?yōu)槎鄠€服務器的時候,會存在很多技術以及生產成本的門檻限制,阿里云希望能夠通過云數據庫整體的底層架構,包括飛天架構將這些門檻降到最低。 -
最后要提到的也是本次中最希望分享的一點就是:在云數據庫之上,阿里云所希望達到的終極目標是解放 DBA。其實通常情況下在一家公司里面,DBA 很多時候往往不會受到很大的重視,因為在企業(yè)中 DBA 日常所做的工作往往是像部署、備份等等一系列運維工作,而這些工作將會占據 DBA 50% 到 60% 的時間,而這些工作卻沒有辦法去為企業(yè)帶來直接的生產效率。而在云數據庫上面,通過云架構的自動化管理來完成所有的運維工作,DBA 可以將自己更多的時間投入到業(yè)務架構的優(yōu)化之中。什么是業(yè)務架構的優(yōu)化呢?比如表結構設計的不合理需要進行優(yōu)化,一些 SQL 存在性能問題需要優(yōu)化,以及某些設計在業(yè)務發(fā)展的過程中已經不合時宜需要優(yōu)化,所有的這些優(yōu)化都是 DBA 應該去做的。而 DBA 也是最容易發(fā)展成為企業(yè)核心架構師的一群人,他們的工作應該更多地為企業(yè)真正地產能以及技術能力的輸出發(fā)揮貢獻,而不是去過多地關注每一天的部署、備份這樣繁瑣的運維工作。 以上就是在設計云數據庫過程中,大家所看到的市場需求情況以及阿里云的云數據庫產品設計理念。 二、永恒不變的話題:需求 其實前面所講的長篇故事都是需求,每一個需求都需要得到滿足。那么面對這些需求,阿里云的云數據庫是如何一步一步解決的呢?分層:擴展邊界覆蓋不同層級的用戶第一步就是進行分層。之前使用過阿里云數據庫的朋友可能會有印象,阿里云最初推出的數據庫版本叫做高可用版本,這應該也是當前阿里云數據庫里面使用量最多的版本。在這個版本里面會有兩個數據庫服務器,一主一備,他們提供了非常好的性能并且能夠快速地進行切換,然而在這樣的架構之下,成本實際上翻了一倍。很多的用戶,特別是入門級別的剛開始使用云數據庫的用戶,往往不需要主備的數據庫系統(tǒng),而是希望投入更低的成本,這個時候阿里云就推出了云數據庫的基礎版?;A版的架構只有單個節(jié)點,基礎版的推出使得用戶的成本得以降低。同時需要注意的一點就是:在單節(jié)點或者說是基礎版之下,高可用到底是如何保障的。其實大家可以放心,在基礎版之下,阿里云同樣提供了高可用的保障,只不過沒有兩個節(jié)點的保障而是將整個數據庫運行在飛天架構之上,如果數據庫出現問題或者數據庫所在的主機出現了問題,飛天系統(tǒng)會自動尋找新的主機、新的節(jié)點將整個系統(tǒng)運行起來,只不過切換時間會稍微長一些,但是不會出現像系統(tǒng)長期斷開的情況。  再進一步,很多高級用戶,特別是在金融界中的用戶所要求的數據穩(wěn)定性以及對于數據故障時的 RPO 都會有更高的要求,這時候阿里云就提供了金融版數據庫。在兩節(jié)點的基礎之上可能會擴展到三節(jié)點甚至更多節(jié)點的集群的應用。在做了這樣的工作之后,阿里云實際上是拓展了云數據庫產品的邊界,從剛開始阿里云數據庫只有高可用雙節(jié)點版本,擴展到單節(jié)點的基礎版以及多節(jié)點的金融版,使得不同需求的用戶可以獲取到他們所需要的各種不同規(guī)格的云數據庫服務。效率:化繁為簡,釋放工作量在有了數據庫的運行環(huán)境之后,其實大家可以看到各個用戶往往都會有自己不同時段的類似于促銷、活動等的一些業(yè)務,在這些業(yè)務之中,用戶的查詢要求往往是非常高的,會出現非常高的查詢峰值,這時可以通過只讀節(jié)點來進行解決。在阿里云中就直接提供了只讀請求的實例,而不需要用戶自己再去搭建只讀實例了。如果大家自己搭建過數據庫,就可能對于這個過程有所體會,當搭建一個只讀實例時往往需要去構建或者配置 3 到 4 個配置文件,而且各個主機之間,包括用戶權限以及密碼的同步等都需要進行規(guī)劃,這個過程對于初級的 DBA 而言是比較困難和麻煩的事情,而且與此同時還需要保障整個系統(tǒng)在業(yè)務發(fā)展的過程中的穩(wěn)定運行。  在阿里云上面,實際上會將構建只讀實例的過程更加簡化,因為阿里云數據庫本身的底層系統(tǒng)架構會自動化地進行所有的配置以及業(yè)務確認,用戶只需要在界面上面點擊按鈕并添加一個只讀實例就能夠將只讀實例建立完成,而且允許用戶建立 5 個甚至 10 個只讀實例。在這個過程中,大家會發(fā)現雖然阿里云提供了直接添加只讀實例的功能,而且完成了其中的同步,但是業(yè)務方也就是如上圖所示的云服務器 ECS 上面的應用還是需要通過把讀寫請求和只讀請求進行業(yè)務分離,這對于數據庫的開發(fā)是存在入侵性的,也就是說原來開發(fā)的程序只需要一個數據庫進行操作就可以了,而由于當前使用了只讀實例,則需要將所有的只讀查詢都單獨地拎出來讓其去訪問其他節(jié)點,這一點對于程序的入侵性可能會是非常大的,這就可能會使得很多的開發(fā)者無法直接使用到阿里云的只讀實例了,或者有很多的工作需要重新進行開發(fā)。效率: 化繁為簡,釋放工作量, 直接支持讀寫分離針對上述的問題,阿里云的數據庫在發(fā)展的過程中也會收到用戶的需求和報告,因此阿里云數據庫就進行了進一步的優(yōu)化。在只讀實例的運行條件之下,阿里云數據庫還進一步地提供了讀寫分離的 IP 訪問,其主要會在 Proxy 業(yè)務層底下實現所有 SQL 的收集,并且對于所有的收集到的 SQL 進行分類,如果發(fā)現 SQL 操作既有讀操作也有寫操作的時候,也就是讀寫操作在同一個事務里面的時候,會將這些操作自動地提交到主節(jié)點。而如果當發(fā)現事務中所有的操作都是讀操作的時候,Proxy 層就會將這些只讀的查詢平均地分配到各個只讀節(jié)點。這意味著應用程序不需要改變本身的代碼,阿里云就能夠自動地為用戶實現讀寫分離的工作,而業(yè)務方不需要去修改自己的業(yè)務代碼。通過這樣查詢的讀寫分離的功能,可以非常好地簡化本身開發(fā)以及維護的工作量。  效率:新一代關系型數據庫演進其實除了上面所說的這些,阿里云數據庫所做的工作還遠沒有結束。如果大家留意了阿里云最近的新聞或者最新的產品動向就會知道,在阿里云數據庫最新的版本中提供了關系型數據庫 PolarDB 的集群,這款產品預計將在十月份推出,在這款產品上面不單單解決了讀寫分離的問題,也會使用到最新的硬件技術去達到比較好的讀寫資源比。在讀寫分離的業(yè)務之下,當主節(jié)點有數據寫入的時候,所有的數據需要同步到每一個只讀節(jié)點,而在主節(jié)點和只讀節(jié)點之間或許會存在網絡延遲,這些網絡延遲可能會導致從主節(jié)點讀出的數據和從只讀節(jié)點讀出的數據出現不一致的情況,而這是需要業(yè)務方或者開發(fā)人員知曉并通過業(yè)務進行保障的。  而在 PolarDB 中,阿里云嘗試使用了一種新型的架構,通過 RDMA 網絡會將下層的各個存儲節(jié)點進行整合管理,通過分布式 Raft 協(xié)議實現完整的底層集群。這樣所能達到的效果就是當主節(jié)點進行數據寫入的過程中,底層的 Raft 協(xié)議的數據集群會把數據自動打散到三個或者以上的存儲節(jié)點上面,同時這些數據一旦寫入,在其他的只讀節(jié)點上就可以讀到。因此可以看到在這樣的架構之下,減少了多節(jié)點之間的數據復制,網絡帶寬的消耗會更低,同時主節(jié)點和只讀節(jié)點之間網絡數據延遲基本為零,也就是說只要數據寫入了,只讀節(jié)點就能夠讀取到,符合 ACID 的完整原則。所有的數據在存放的時候都不會少于三節(jié)點,任何一個節(jié)點或者數據模塊出現故障的時候,都不會造成數據丟失。在這樣的架構之下,可以進一步使得數據庫的使用者獲取更高的性價比。門檻: 綜合系統(tǒng)管理門檻高以上分享的是在數據庫關系的演進中阿里云提供的一些思考和產品,而下面會分享另外一個問題。如下圖所示,當一個業(yè)務發(fā)展到比較龐大的數據規(guī)模時,存下來的業(yè)務數據還需要進行產品的分析,比如當數據量已經存放到兩三年的時候,企業(yè)主肯定希望能夠通過這兩三年沉淀的數據來進行業(yè)務分析。這個時候,在傳統(tǒng)的架構之下,往往會向如圖中所看到的把數據通過 ETL,也就是數據導入到數據倉庫,并在數據倉庫之上再去做 OLAP 的業(yè)務分析。同時由于數據量越來越大,因此也需要通過分布式的數據庫中間件實現一個動作,也就是將整個的數據庫進行分庫分表式的管理。當然,這樣的功能在互聯(lián)網圈已經使用的非常多了,但是大家會發(fā)現下圖中存在四個藍色的管理標記,這是因為在每個層級當中都需要對于數據庫進行一些單獨的人為操作和人為干預。  簡化分庫分表管理,一份數據實現 OLTP+OLAP=HTAP可以看到在上圖的整個運作流程中,每一個節(jié)點上面都需要進行配置和規(guī)劃,而這些所有的配置和規(guī)劃都需要消耗時間。還有一點就是業(yè)務系統(tǒng)是 OLTP 的系統(tǒng),所有的在線的業(yè)務都在上圖中左側的 OLTP 系統(tǒng)里面,當需要進行分析的時候并不能直接在業(yè)務系統(tǒng)進行分析,因為這會影響業(yè)務系統(tǒng)本身的性能,因此需要再進行一次數據的抽取,將數據抽取到 OLAP 的數據倉庫中,然后再去做查詢。這樣動作使得數據多了冗余,而且所有的數據無法實現所謂的“T+0”的實時分析,在這種情況下,所有的操作以及運維管理會消耗更多的使用資源。因此,在阿里云中也提供了 HybridDB for MySQL 的架構。通過 HybridDB for MySQL 架構的數據庫,可以實現將上圖中所看到的整個數據鏈路,包括分布式數據庫中間件以及數據倉庫都整合到一個數據庫中,這個數據庫可以直接實現 OLTP 的事務操作,同時也接受 OLAP 的數據分析處理,而且整個系統(tǒng)也是分布式系統(tǒng)。  在這個系統(tǒng)之上最大的好處就是用戶不再需要去分別地管理兩個業(yè)務系統(tǒng):OLTP 系統(tǒng)和 OLAP 系統(tǒng)。與此同時還可以實現計算和存儲的分離操作,如果計算資源不足還可以單獨地增加計算資源使得查詢速度更快。而且整個系統(tǒng)將會直接兼容 MySQL 的生態(tài),因此用戶不需要過多地修改自己數據庫查詢的業(yè)務邏輯,可以直接使用 MySQL 的客戶端以及各種工具來連接到數據庫上面去進行操作。因此,在 HybridDB for MySQL 數據庫中實現了一種新的形態(tài)叫做 HTAP,實際上就是在同一個數據庫里面不僅可以進行 OLTP 操作,還可以進行 OLAP 操作,而且其空間可以擴展到超過 PB 的級別。釋放:安心原于透明,主動的提醒阿里云的數據庫產品除了提供了以上的功能以外,為了使得 DBA 更加省心和安心,絕對離不開的就是對于各種資源的監(jiān)控以及對于引擎的監(jiān)控。在這里不做過多的解析,因為在產品上大家可以看到,阿里云已經把自己原來在天貓、淘寶等的各方面的經驗進行了整體的輸出,會提供非常深度的包括 TPS、QPS 以及緩存命中率等等一系列的監(jiān)控,而且可以產生直接的圖表。在報警方面,可以通過云監(jiān)控設置所需要的報警,當水位超過了一定的范圍之后可以直接發(fā)送短信、郵件甚至通過電話的告警來提醒 DBA 進行擴容或者及時地發(fā)現問題。更進一步,阿里云還將會提供云 DBA 的協(xié)助工具,甚至還會為用戶提供 Index 推薦以及像告警錯誤業(yè)務分析等服務。  釋放用戶成本:中小企業(yè)也可以獲得高端服務在企業(yè)發(fā)展的過程中,隨著業(yè)務不斷地發(fā)展,需要更好地保障業(yè)務的連續(xù)穩(wěn)定性。對于很多企業(yè)而言,數據庫中心里面往往只有一個 IDC 的機房,然而如果這個 IDC 機房出現斷電或者故障的時候,就沒有辦法進行更進一步的業(yè)務操作。阿里云在數據庫體系之下已經完成如下圖所示的整體架構。當大家看到阿里云數據庫產品購買頁的時候會發(fā)現阿里云不僅提供了單中心的雙節(jié)點模型,還在很多地域中提供了多可用區(qū)的模型。多可用區(qū)模型就是把主節(jié)點和備用節(jié)點放在一個城市的兩個不同的可用區(qū)上,也就是說用戶的實例只購買了一個,但是在部署的時候卻部署在了一個城市的兩個中心,一旦主中心出現整體故障的時候,用戶的業(yè)務依然可以通過切換到備用中心繼續(xù)提供服務。大家可以想象,如果沒有云架構的支撐,依靠自己搭建多可用區(qū)模型的時候,可能會需要非常高的業(yè)務成本,這是因為同城之間光纖搭建的費用是非常昂貴的。  除此之外,阿里云還會為企業(yè)提供跨數據中心的訪問。很多用戶可能會說現在自己的企業(yè)還不大,還不需要到這樣的業(yè)務保護,但是在這里想告訴大家的是這樣的觀點往往是不正確的。如上圖所示,當前在同城雙中心災備里面不需要增加用戶的成本,那么就完全可以在企業(yè)發(fā)展之初就使用這樣的架構,因為在企業(yè)發(fā)展的過程中,任何一個技術上的故障或者服務的宕機往往會造成后續(xù)更大的損失。所以如果能夠提前在不增加過多成本的情況下實現企業(yè)同城容災以及跨地域業(yè)務,往往能夠對于企業(yè)業(yè)務的發(fā)展提供更大的幫助。在阿里云上,其實基于阿里云本身的技術架構就可以為用戶更好地釋放這部分成本,而用戶不需要自己搭建光纖就可以復用所有現有的網絡,這使得企業(yè)在初始階段就可以像大企業(yè)一樣使用到所有的數據庫的高端服務。大家可以看到,在阿里云數據庫業(yè)務中比較注重的就是如下圖所示的五點:如何幫助用戶節(jié)省成本,如何使數據庫的性能達到更高,如何維護業(yè)務的連續(xù)性,以及業(yè)務擴展能力和數據容災等。而這一切的能力都是通過云托管平臺進行規(guī)劃和賦能的。  三、生態(tài)的力量 在以上的內容中為大家分享了云數據庫上的產品驅動、阿里云數據庫提供了什么樣的保護以及阿里云數據庫是如何承載用戶需求的。接下來為大家分享數據庫生態(tài)的力量。阿里云 MySQL 生態(tài)體系當阿里云最初去規(guī)劃數據庫產品的時候,首先做的產品就是 MySQL,因為在當時 MySQL 也是使用最為廣泛的數據庫,特別是在互聯(lián)網業(yè)界。但是在不斷的發(fā)展過程中也發(fā)現不斷有更多的互聯(lián)網業(yè)務以及企業(yè)客戶會進入到阿里云體系上來,所以阿里云需要有更多的數據庫類型來對這些用戶進行支撐。很多的用戶不僅僅需要使用 SQL 的數據庫,還會需要做緩存并且需要進行數據分析。在下圖中,大家可以看到阿里云逐步地增加更多的引擎,按照 DB-Engines 的統(tǒng)計,目前阿里云數據庫已經能夠覆蓋 70% 的數據庫產品,這也是由市場所決定的。而這些產品中的部分產品已經開始走上了阿里云自研的道路,像之前提到的 HybridDB for MySQL 以及 PolarBD 等。當然,除了自研產品之外,阿里云也會兼顧到市場上面其他用戶的需求,也會提供像 SQL Server、HBase、MongoDB 以及 Redis 等一系列的數據庫產品,這就是阿里云目前的數據庫產品整體大生態(tài)。  當然我們也可以看到另外一個生態(tài)模型,舉個例子就是目前很多的用戶都在使用 MySQL 的數據庫,在 MySQL 數據庫之下,阿里云會提供多種不同的數據庫形態(tài)和模式,讓用戶可以完全沉浸在 MySQL 整體生態(tài)鏈路之中。如下圖左側所示,RDS for MySQL 提供了基礎版、高可用版以及金融版,使得用戶可以快速地進行業(yè)務的使用,進一步在未來阿里云數據庫將會發(fā)布的 PolarDB 也會率先地支持 MySQL 的引擎,讓具有幾十 TB 數據或者上百 TB 數據的并且想要使用更加穩(wěn)定的數據庫系統(tǒng)的大型客戶能夠非常好地解決遇到的問題。同時,很多人會認為 MySQL 上面并不適合去做 OLAP 業(yè)務分析工作,但是如果所有的開發(fā)人員都是熟悉 MySQL 的并且不希望跳出 MySQL 的框架而且希望去基于 MySQL 實現業(yè)務分析操作,這樣通過 HybridDB for MySQL 就能夠繼續(xù)去承載這樣的業(yè)務,而且在這個系統(tǒng)上面還可以同時整合 OLTP 和 OLAP。因此,在數據庫產品的規(guī)劃過程之中,阿里云會充分地考慮用戶本身的感情因素,當用戶特別傾向于某一數據庫的時候,阿里云就會針對于這個數據庫做出一系列的產品,使得用戶可以通過統(tǒng)一的技術去完成所有的技術工作,而沒必要將所有的工作分散到不同的數據庫并使用不同的 SQL 模型進行重新開發(fā)。  阿里云 PostgreSQL 生態(tài)系統(tǒng)除了 MySQL 生態(tài)之外,近年 PostgreSQL 生態(tài)系統(tǒng)也是非常火熱的,阿里云數據庫團隊在 PostgreSQL 生態(tài)上也沿用了和 MySQL 生態(tài)中相同的思路。阿里云不只是為用戶提供一個單獨的 RDS for PostgreSQL 的系統(tǒng),因為 PostgreSQL 和 Oracle 比較相似,所以還會針對基于 PostgreSQL 的增強版本——RDS for PPS 來協(xié)助 Oracle 用戶來進行數據遷移。同時阿里云也會推出針對于數據倉庫的 HybridDB for PostgreSQL 來實現數據分析。而且所有的這些體系都可以通過外部表的形式去操作 OSS,甚至在 OSS 上面放一份數據,各個不同的 OLTP、OLAP 數據庫產品都可以對于 OSS 上的數據進行讀寫操作和分析應用來實現整體生態(tài)鏈的運行過程。  四、SQL+NoSQL+Big Data 一站式解決數據打通 除了上述提到的阿里云為拆分的 MySQL 和 PostgreSQL 生態(tài)鏈打造的獨特的方案之外,阿里云數據庫還會與阿里云的各種數據鏈路的軟件進行整合規(guī)劃。在下面這張圖中,大家可以看到,通過阿里云的 DTS 以及 CDP 這樣數據工具,可以將前端的 Key-Value 的緩存層、OLTP、NoSQL、分析
|