日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

什么是讀寫分離

PolarDB MySQL版集群自帶讀寫分離功能。應用程序只需連接一個可讀可寫(自動讀寫分離)模式的集群地址,寫請求會自動轉發到主節點,讀請求會自動根據各節點的負載(當前未完成的請求數)轉發到主節點或只讀節點。

優勢

  • 讀一致性

    當客戶端通過讀寫分離地址與后端建立連接后,讀寫分離中間件會自動與主節點和各個只讀節點建立連接。在同一個連接內(同一個session內),讀寫分離中間件會根據各個數據庫節點的數據同步程度,來選擇合適的節點,在保證數據正確的基礎上(寫操作之后的讀有正確的結果),實現讀寫請求的負載均衡。

    示意圖

  • 原生支持讀寫分離,提升性能

    如果您在云上通過自己搭建代理層實現讀寫分離,在數據到達數據庫之前需要經歷多個組件的語句解析和轉發,響應延遲較大。而PolarDB讀寫分離直接內置在已有的高安全鏈路中,沒有任何額外的組件產生消耗,能夠有效降低延遲,提升處理速度。

  • 維護方便

    在傳統模式下,您需要在應用程序中配置主節點和每個只讀節點的連接地址,并且對業務邏輯進行拆分,才能將寫請求發往主節點而將讀請求發往所有節點。

    PolarDB提供集群地址,應用程序連接該地址后即可對主節點和只讀節點進行讀寫操作,讀寫請求會被自動轉發,轉發邏輯完全對使用者透明,可降低維護成本。

    同時,您只需添加只讀節點的個數,即可不斷擴展系統的處理能力,應用程序無需做任何修改。

  • 節點健康檢查,提升數據庫系統的可用性

    讀寫分離模塊自動對集群內的所有節點進行健康檢查,當發現某個節點宕機或者延遲超過閾值后,PolarDB將不再分配讀請求給該節點,讀寫請求在剩余的健康節點間進行分配,以此確保單個只讀節點發生故障時,不會影響應用的正常訪問。當節點被修復后,PolarDB會自動將該節點納回請求分配體系內。

  • 免費使用,降低資源及維護成本

    免費提供讀寫分離功能,無需支付任何額外費用。

請求轉發邏輯

可讀可寫模式轉發邏輯如下:

  • 只發往主節點:

    • 所有DML操作(INSERTUPDATEDELETESELECT FOR UPDATE)。

    • 所有DDL操作(建表或庫、刪表或庫、變更表結構、權限等)。

    • 在未開啟事務拆分功能時,所有事務中的請求。

      說明

      開啟事務拆分功能后的路由詳情請參見事務拆分

    • 用戶自定義函數。

    • 存儲過程。

    • EXECUTE語句。

    • Multi Statements

    • 使用到臨時表的請求。

    • SELECT last_insert_id()

    • 所有對用戶變量的查詢和更改。

    • binlog dump。

  • 發往只讀節點或主節點:

    說明

    僅當主庫是否接受讀選擇為時會發往主節點。

    • 非事務中的讀請求。

    • COM_STMT_EXECUTE命令。

  • 總是發往所有節點:

    • 所有系統變量的更改。

    • USE命令。

    • COM_STMT_PREPARE命令。

    • COM_CHANGE_USERCOM_QUITCOM_SET_OPTION等命令。

    • SHOW PROCESSLIST

      說明

      執行SHOW PROCESSLIST命令后,PolarDB將返回所有節點的PROCESSLIST信息。

    • KILL(SQL語句中的KILL,非命令KILL)。

只讀模式轉發邏輯如下:

  • 不允許執行DDL、DML操作。

  • 所有讀請求按照負載均衡的方式轉發到各個只讀節點。

  • 所有讀請求不會轉發到主節點。即使主節點已被添加到服務節點中,也不會生效。

  • binlog dump鎖定到某個RO節點。

功能特性

PolarDB的讀寫分離功能主要包含以下特性: