POLARDB 是阿里雲自研的下一代關係型分佈式數據庫,100%兼容MySQL,以前使用MySQL的應用程序不須要修改一行代碼,便可使用POLARDB。數據庫
POLARDB在運行形態上是一個多節點集羣,集羣中有一個Writer節點(主節點)和多個Reader節點,他們之間節點間經過分佈式文件系統(PolarFileSystem)共享底層的同一份存儲(PolarStore)。安全
POLARDB經過內部的代理層(Proxy)對外提供服務,也就是說全部的應用程序都先通過這層代理,而後才訪問到具體的數據庫節點。Proxy不只能夠作安全認證(Authorization)和保護(Protection),還能夠解析SQL,把寫操做(好比事務、Update、Insert、Delete、DDL等)發送到Writer節點,把讀操做(好比Select)均衡地分發到多個Reader節點,這個也叫讀寫分離。網絡
POLARDB對外默認提供了兩個數據庫地址,一個是集羣地址(Cluster),一個是主地址(Primary),推薦使用集羣地址,由於它具有讀寫分離功能能夠把全部節點的資源整合到一塊兒對外提供服務。主地址是永遠指向主節點,訪問主地址的SQL都被髮送到主節點,當發生主備切換(Failover)時,主地址也會在30秒內自動漂移到新的主節點上,確保應用程序永遠鏈接的都是可寫可讀的主節點。架構
如上圖,底層一套存儲,節省成本,是『合』;中間多個節點,提升擴展性,是『分』;上層一套代理層,統一入口,使用簡單,也是『合』。如此『合-分-合』的架構,在擴展性和使用便捷性之間保持了平衡,使得對於上層應用程序來講,就像使用一個單點的MySQL數據庫同樣簡單。運維
POLARDB部署在雲端,建立時先選擇使用的地域可用區和具體的VPC網絡,而後指定節點的數量(從 2個 到 16 個)和配置(從 2核 到 88核)便可,存儲空間不用提早配置,也不須要關心容量大小,系統會根據實際的使用量自動收取費用。分佈式
建立過程可能持續5-10分鐘,而後配置好白名單、建立完高權限帳號就可使用了。邏輯DB和帳號User,能夠在控制檯建立,也能夠經過高權限帳號登陸到數據庫執行SQL建立,兩者效果徹底同樣,沒有區別。阿里雲
若是您須要遷移老的數據庫到POLARDB,推薦使用DTS。無論源庫是在RDS,仍是在ECS自建MySQL,甚至是在雲下有公網地址可訪問的MySQL,均可以經過DTS作在線平滑遷移,停機時間5-10分鐘。spa
除了能夠像使用MySQL同樣使用POLARDB,這裏還有一些傳統MySQL數據庫不具有的優點。代理
原文連接blog