1. 程式人生 > >初識雲數據庫POLARDB及踩過的那些坑

初識雲數據庫POLARDB及踩過的那些坑

mysql操作 iyu -- 兼容 水平 方便 rod 單列 分享

摘要: 初識雲數據庫POLARDB,本文從背景、架構、體驗POLARDB和總結四個方面來介紹POLARDB。讀完本文後,你對POLARDB有一個初步的認識。

POLARDB背景
POLARDB是阿裏雲自主研發的,具有裏程碑意義的新一代關系型數據庫,是與MySQL完全兼容的雲托管數據庫產品。它秉承Cloud Native的原生設計理念,采用了分布式存儲引擎設計,性能最高可達到MySQL的6倍。在提供高吞吐、低延遲OLTP服務的同時,POLARDB以更低的使用成本,為用戶提供更好的系統在線擴展服務。

---摘自POLARDB產品介紹文檔

架構
技術分享圖片
架構的設計特點:

一寫多讀
計算與存儲分離
讀寫分離
高速鏈路互聯

共享分布式存儲
數據多副本、支持Parallel-Raft協議
思考:POLARDB是阿裏的技術體系演變過程中的一個優秀的產品,它的強大之處在於:將大規模數據的存儲、同步和性能等難點,通過POLARDB的架構設計,將這些復雜的問題變得透明,讓技術人員專註在業務的開發上。

體驗POLARDB
依次打開產品與服務---雲數據庫 POLARDB
技術分享圖片
選擇你所需要的配置
有預付費和按量付費,可以根據你的業務需求來具體選擇。如果你的業務場景的用量比較穩定,可以選擇預付費,如果有彈性擴容的需求,可以選擇按量付費。
技術分享圖片

實例概要
技術分享圖片
POLARDB采用分布式集群架構,一個集群包含一個主實例和最多15個只讀實例(確保高可用)。讀寫分離數據庫接入功能,是POLARDB集群默認免費提供的一個透明、高可用、自適應的負載均衡能力。本次創建包含了一個主實例(負責讀寫)和一個只讀實例(負責讀)。

實例詳細信息
技術分享圖片
集群概要
技術分享圖片
集群詳細信息
技術分享圖片
創建賬號
POLARDB初始賬號只能在集群詳情頁設置,可用於登錄到集群中的任意實例。
技術分享圖片

連接實例
VPC(Virtual Private Cloud):可以理解成內網,如果是從阿裏的ECS連過來的,推薦使用VPC。註意:這個地址是自動生成的,且無法釋放。
技術分享圖片

我們現在演示通過VPC和公網來連接POLARDB實例:

VPC網絡
若使用ECS,推薦該種方式
實例地址:pc-xxxxxxxxx.mysql.polardb.rds.aliyuncs.com:3306(xxxxxxxxx為你的實例配置id)
端口:3306(默認,檢查下ECS的防火墻配置是否開放了3306端口)
賬號:byronzoz

密碼:xxxxxx
通過阿裏雲的RDS界面登錄:
技術分享圖片

優點:通過阿裏雲的RDS來登錄,這種方式最簡單,不需要安裝任何客戶端。

通過阿裏雲的ECS直連:

[byron@yanglaomap-prod ~]$ mysql -u [email protected]:3306
技術分享圖片
這種方式通過命令來直連,跟mysql操作沒啥區別。

公網
實例地址:byronzoz-0.mysql.polardb.rds.aliyuncs.com
端口:3306
賬號:byronzoz
密碼:xxxxxx
本次測試,我們用navicat客戶端來連接,當然你可以采用mysql自帶的client也是OK的。
技術分享圖片

提示:公網需要加入到白名單中,不然連接不過去,如我的公網IP為:171.221.xxx.xxx,這也是我踩過的坑~
技術分享圖片

建表玩轉業務
各位看官們,這一塊該你們發揮了...
總結
通過本文的簡單介紹,你對POLARDB有一個初步的認識:

POLARDB是可以100%兼容mysql
POLARDB的架構設計
如何購買POLARDB產品
創建實例
創建賬號
演示兩種連接:VPC(通過阿裏雲RDS頁面和ECS服務器)和公網(Navicat客戶端)來連接實例
POLARDB作為阿裏雲體系下的一個新成員,能與阿裏雲的產品迅速融合起來,包括網絡(VPC)、雲服務器(ECS)、雲數據庫(RDS)等,使用起來很方便,如果你是一個mysql老手,那你用POLARDB是可以非常快上手的,如果你是一個新手,按照教程step by step,也可以快速上手。

POLARDB創新的架構設計,擁有很多是mysql數據庫所不具備的或者需要花費很大精力才能具備的能力。如POLARDB創建實例後就默認具備了主從的多個實例,這些特性可以讓開發人員專註業務上的實現,而不用關註數據庫的水平擴展、存儲、網絡等耗費精力的事情。

當然,也有一些不足的地方:

白名單列表,公網連接下,需要設置白名單。這個有點繁瑣,期望這個功能能進一步改進。如通過策略組的方式,而不是每個集群都配置一組白名單。
不能訪問用戶表。這個似乎限制了數據庫的功能。
文檔。很多開發者吐槽阿裏雲的技術文檔(orz...):不規範更新慢,這個跟高大上的阿裏雲有點不匹配。期待未來的阿裏雲所有的雲產品文檔都是統一的格式/模板,這樣閱讀起來要更加容易些,而且建議要同步上英文文檔(English Docs),畢竟已經走到國際化的道路上了。
有人會問了:我購買的ECS上面也能安裝mysql,為什麽要單獨選擇POLARDB?

原因很簡單,你需要花費很長的時間和精力去做以下事情:

數據庫網絡和節點管理
主從配置
讀寫分離
數據庫擴容
性能方面
數據容災
......
你花費的這些時間,POLARDB幫你節省掉,你只需要將大部分精力專註在業務開發上。

未來,期待POLARDB帶來更多的驚喜~

原文鏈接

本文為雲棲社區原創內容,未經允許不得轉載。

初識雲數據庫POLARDB及踩過的那些坑