天天看點

阿裡雲産品介紹(三):雲資料庫RDS

阿裡雲産品介紹(三):雲資料庫RDS

寫完雲伺服器ECS,本來想先寫負載均衡的。

因為發現很多客戶,都是直接将單台雲伺服器應用對外提供通路,如果雲伺服器當機,應用就會停止服務。雲伺服器标稱有99.95%的可用率,一年下來當機四個多小時也是正常的。要想提升應用的可用率,就需要多台雲伺服器(至少兩台,最好分布式兩個不同的可用區),然後利用負載均衡将流量按一定規則導向後端的雲伺服器應用叢集。

但這一篇還是決定先寫寫雲資料庫RDS,雲資料庫RDS有好幾個曾用名。最早的名字就是RDS(阿裡雲的産品,大部分在命名的時候故意和亞馬遜有一點微小的差異,比如ECS和EC2。隻有RDS這個名字是完全一樣,Rational Database Service,關系型資料庫服務)。

阿裡雲産品介紹(三):雲資料庫RDS

RDS不隻是一種資料庫,目前阿裡雲的RDS已經支援包括MySQL、PostgreSQL、PPAS、SQL Server等四種不同的關系型資料庫。

然後呢,RDS越做越好,團隊也也來越大,後面包括Redis、MongoDB、Greenplum等越來越多的資料存儲類産品都被納入到旗下,是以起了一個更大的品牌叫做AliCloudDB,中文名就叫雲資料庫,RDS則變成了旗下的一個産品線,中文名就變成了雲資料庫RDS。後來麼,AliCloudDB又換成了ApsaraDB,Apsara就是傳說中的飛天啦。

先不說其他的NoSQL資料庫産品,這一篇集中精力來看看雲資料庫RDS。

企業使用阿裡雲,一般來說,購買雲伺服器ECS基本上是必須的。但需要資料庫的時候,就會面臨兩種選擇:一種當然是直接使用雲資料庫RDS,另外一種則是在雲伺服器ECS上自己安裝部署資料庫。這兩種選擇有什麼不一樣呢?

首先,使用RDS當然是最省事的。RDS背後聚集了阿裡最好的DBA團隊負責運維,最好的資料庫核心開發團隊負責改進資料庫(主要指MySQL和PostgreSQL開源資料庫,SQL Server本身隻能指望微軟了),将很多需要DBA日常運維的工作逐漸納入實作産品化。

使用的客戶就可以從很多底層的任務中解放出來,比如建立新的MySQL備庫,隻需要在RDS控制台點一下“建立隻讀執行個體”、“建立災備執行個體”或者“建立臨時執行個體”即可。為什麼有三種不同執行個體?分别對應了三種不同的場景:同城讀寫分離、異地機房容災、按時間點恢複取數。

RDS的整體架構,說起來也不複雜。主要有兩種模式:

  • 标準模式

    标準模式非常簡單,隻是通過負載均衡SLB将RDS背後的主備庫對應用做了屏蔽,發生切換時,隻需要修改負載均衡的配置,将後面服務的實體IP更換成新主庫的位址即可。标準模式有一個限制,同一時間,RDS隻能支援外網通路位址或者内網通路位址中的一種。因為隻是加了負載均衡,也不具備SQL攔截的能力。對于使用者來說,這種模式的RDS隻是提供了一個Web控制台+主備切換。

阿裡雲産品介紹(三):雲資料庫RDS
  • 高安全模式

    高安全模式在負載均衡和主備庫之間加了一層透明的代理層(Proxy),對資料庫的所有通路都會在Proxy進行解析處理,是以在标準模式的基礎上,還可以做到防止SQL注入。同時,因為多了一層代理,響應時間也會相應的受到影響,官方的說法是20%左右。該模式支援内外網通路位址同時存在。

阿裡雲産品介紹(三):雲資料庫RDS

和雲伺服器一樣,雲資料庫RDS的購買也支援包年包月和按量付費兩種模式,然後選擇對應的地域和可用區,如何選擇地域和可用區可以參考之前介紹雲伺服器ECS的文章。

前面也說到,RDS支援四種不同的關系型資料庫,賣的最火的毫無疑問是MySQL,也有不少企業客戶因為使用的是Windows平台和.net技術會選擇帶正版License的SQL Server,其次是最近逐漸升溫的老牌開源資料庫PostgreSQL,企業客戶可以根據自身的業務場景需求來選擇。

至于号稱和Oracle高度相容的PPAS,個人觀點,盡量還是避免使用吧,如果應用真的對Oracle有重度依賴,目前阿裡雲已經推出獨享型ECS,在獨享型ECS中自建Oracle可能是更好的選擇。

RDS的規格從1核1G(連接配接數300,IOPS600)開始,最高的30核220G(連接配接數64000,IOPS20000)規格也支援獨占實體機,對于大部分資料庫場景來說,應該都能夠很好的支援。

如果需要更高的IOPS支援,要麼采用DRDS來做分庫分表做水準拆分,要麼采用高規格的獨享型ECS+4塊SSD資料盤(每塊盤最高支援IOPS20000)做到單執行個體80000 IOPS的支援。

RDS是個好東西,在絕大部分場景下,直接使用雲資料庫,對于企業客戶來說都是更優的選擇。袋鼠雲也選擇RDS for MySQL做為自身産品SaaS版本的資料庫。

但像上面說的,也有一些場景需要考慮在雲伺服器上自建資料庫,比如說雲上Oracle,比如說需要單執行個體更高IOPS支援,比如說有些客戶具備較強的DBA能力,希望能夠更多的控制資料庫而不是面對一個封裝的黑盒子産品,等等。

針對自建資料庫的場景,袋鼠雲的 EasyDB資料庫管理平台(https://easydb.dtstack.com) 可以幫助企業客戶更好的管理資料庫,不管是雲上還是雲下的Oracle/MySQL,對于性能監控、高可用、備份恢複等DBA日常運維管理場景都提供了很好的支援。

尤其是雲上Oracle場景,袋鼠雲做為業界領先的資料庫專家團隊,和阿裡雲緊密合作,為阿裡雲的客戶提供獨家的雲上Oracle解決方案,歡迎有興趣的客戶點選“閱讀原文”.

阿裡雲産品介紹(三):雲資料庫RDS

另外,做為RDS的重頭産品MySQL,背後使用的并非官方版本,而是積累了阿裡多年電商使用場景的經驗修改過核心的版本,在8.9的北京雲栖大會上已經宣布即将開源,并在9.15中秋節正式開啟5.6.32版本内測(https://github.com/alibaba/AliSQL),相信很快就會完全開放。

基于AliSQL在自有伺服器或者雲伺服器ECS上自建資料庫也會成為一種選擇,EasyDB也将全面支援AliSQL。

繼續閱讀