自建關聯式資料庫的瓶頸:
關聯式資料庫(Relational Database),幾乎在所有應用中都可以見到的資料庫應用,但是在套裝軟體或者自行安裝建立資料庫的時候,通常會遇到一些問題,筆者整理如下:
這些問題通常都會造成使用者的困擾以及多餘的成本支出
然而Alibaba Cloud也提供了全代管的資料庫服務,就是今天實作用到的雲數據庫(Relational Database Service,RDS)
阿里雲RDS是一個完全託管式的資料庫工具,我們只須要專注在資料庫的使用即可;也就是說,我們不必擔心底層的維護,只需要選擇好機器規格、硬碟規格,阿里雲會直接幫助我們完成環境調校,資料庫搭建,同時也會提供備份、Log、監控報警等等的功能
RDS功能與支援資料庫示意圖:
在使用前仍有幾點需要注意:
系列版本的選擇
規格選項:要注意不同的Instance規格,否則會影響DB的性能
以上兩點在進行RDS創建時,請務必確認自己需要的規格,否則會浪費太多成本跟效能,無法獲得最大的運用效益
本次架構示意圖:
在導覽頁選擇RDS
選擇創建實例
選擇使用的資料庫版本及適合的規格需求
選擇主資料庫實例建立的可用區位置,這邊考量測試環境選擇單一可用區佈署節省成本*(如選擇多可用區佈署,會在另一個可用區自動佈署備用資料庫並進行keep alive的切換)*
選擇在新加坡region預先建立好的VPC及VSwitch
確認訂單後,等待機器建立成功就完成資料庫實例建置囉!
可以在備份恢復設定調整自動備份的時間
筆者在實作時,在讀官方文件時有發現阿里雲自行研發的PolarDB,它是阿里雲自研發的存儲、運算分離Cloud-Native資料庫,能夠兼容Oracle DB、MySQL、PostgreSQL等流通的資料庫系統
在查找相關資料中發現,Polar DB最大的特點是具備PolarDB Proxy的設置,如下圖:
(圖片來源:阿里雲官網)
一般在進行Read Only Replica的設置時,都會需要在Code裡面自行調整配置,讓開發需要付出更多的時間
而PolarDB裡面帶有PolarDB Proxy能夠有效處理讀寫請求,應用程式只需要連接一個DB Cluster的Address,再透過簡易設定,就可以自動分發讀、寫的請求,同時若需要擴展負載力,也可以通過擴展Read Only Replica來達成,不需要修改應用程式,是一個在有高度延展性需求上優異的方案,但本次挑戰應用並不會實作到這個產品,希望透過這篇文章拋轉引玉,分享給大家知道
在搭建好新的代管式Database後,要如何將地端的主機資料庫搬遷到雲端上呢?筆者也會在下一篇文章中使用DTS這項服務來進行遷移