雲數據庫POLARDB優點解讀之①——10分鐘瞭解

什麼是POLARDB

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數據庫不具有的優點。代理

  • 容量大
    最高100T,再也不由於單機容量的天花板而去購買多個MySQL實例作Sharding,甚至也不須要考慮分庫分表,簡化應用開發,下降運維負擔。
  • 高性價比
    多個節點只收取一份存儲的錢,也就是說只讀實例越多越划算。
  • 分鐘級彈性
    存儲與計算分離的架構,再加上共享存儲,使得快速升級成爲現實。
  • 讀一致性
    集羣的讀寫分離地址,利用LSN(Log Sequence Number)確保讀取數據時的全局一致性,避免由於主備延遲引發的不一致問題。
  • 毫秒級延遲——物理複製
    利用基於Redo的物理複製代替基於Binlog的邏輯複製,提高主備複製的效率和穩定性。即便是加索引、加字段的大表DDL操做,也不會對數據庫形成延遲。
  • 無鎖備份
    利用存儲層的快照,能夠在60秒內完成2T數據量大小的數據庫的備份。而且這個備份過程不須要對數據庫加鎖,對應用程序幾乎無影響,全天24小時都可進行備份。
  • 複雜SQL查詢加速
    內置並行查詢引擎,對執行時長超過1分鐘的複雜分析類SQL加速效果明顯。該功能須要額外鏈接地址。

原文連接blog

相關文章
相關標籤/搜索