IBM DB2 pureScale集群化數據庫應用程序配置

本文的第 1 部分概括介紹了 DB2 pureScale 架構和技術。 當思考群集數據庫和 DB2 LUW 集成至 pureScale 功能的各種可靠組件的優勢時,很容易從概念的角度記住這項技術(有關詳細信息,請參見本文的第 1 部分)。然而,真正具有挑戰性的是擬定最佳途徑,促使

當思考群集和 DB2 LUW 集成至 pureScale 功能的各種可靠組件的優勢時,很容易從概念的角度記住這項技術(有關詳細信息,請參見本文的第 1 部分)。然而,真正具有挑戰性的是擬定最佳途徑,促使 pureScale 功能為貴企業的應用程序服務。為了提供對這項挑戰的洞察,我們運用以下兩種不同方法連接到 pureScale 群集:負載平衡和客戶端親和性 (client affinities)。

DB2 pureScale 負載平衡

通過將客戶端連接到 DB2 pureScale 群集實現負載平衡。啟用 WLB 后,群集成員各自保存優先級列表。成員彼此之間定期溝通,詢問其他會員的系統負載并刷新各自的列表。

為每個列表上的每位成員分配權限。服務器列表據此為每位成員設計了連接,并將其返回到 DB2 客戶端。評估優先級并將工作路由至高優先級成員,這樣群集中的每位成員均接近平等處理狀態。

由于只需要一個數據庫目錄或連接對象即可連接 DB2 pureScale 群集,無需對數據庫目錄或應用程序代碼進行任何更改,即可根據需要向 pureScale 系統添加成員或從中刪除成員。只需使用一個命令,即可在群集中添加或刪除成員或其他緩存設備。輕松管理容量的功能不僅適用于不斷增長的業務應用程序,而且還支持企業渡過處理高峰期。企業不需要“超大型的”系統便可在非高峰期處理高峰期的業務活動。

WLB 能夠有效處理 OLTP 工作負載,在短時間內完成事務,并能在成員之間輕松移動。當客戶端應用程序需要在事務范圍以外的地方持久保存值,比如說,當通過 WITH HOLD 使用序列或聲明游標,或者使用 PRESERVE ROWS 屬性來創建臨時表并定義它們的時候,數據庫服務器會限制客戶端使用 WLB。

啟用 WLB 十分容易,只需設置一個必要屬性即可。例如,如果您使用的是基于 Java 的連接,只需將 enableSysplexWLB 連接屬性設置為“true”。對于非 Java 應用程序,同樣可以使用 db2dsdriver.cfg 文件中的 enableWLB 參數配置 WLB。

在定義 WLB 連接后,默認情況下會激活自動客戶端重新路由 (ACR)。激活 ACR 后,如果成員處于離線狀態(無論是有意還是無意),系統會自動將請求重新路由到剩余的在線群集成員。當成員重新恢復在線狀態后,先前不可用的成員連接和事務也將隨之恢復。

pureScale 的 WLB 組件可通過將事務分配給經評估具有最多新請求處理可用資源的成員,幫助消除各種潛在瓶頸。這有助于確保公平利用所有系統資源。

本示例展示了如何通過在 URL 中設置 enableSysplexWLB JDBC 屬性并通過應用程序代碼進行屬性文件設置來啟用 WLB。此 URL 通過端口 60200 連接到 DB2 pureScale 成員 172.16.42.102 上的數據庫 SAMPLE。

jdbc:db2://172.16.42.102:60200/SAMPLE:enableSysplexWLB=true;

下面的示例演示了如何使用屬性文件在應用程序代碼內設置 enableSysplexWLB 屬性:

String url = jdbc:db2://172.16.42.102:60200/SAMPLE;Properties properties = new Properties();properties.put(“user”, “yourID”);properties.put(“password”, “yourPassword”);properties.put(“enableSysplexWLB”, “true”);
Connection con = DriverManager.getConnection( url, properties );

客戶端親和性

連接 pureScale 群集的第二種方法稱作客戶端親和性連接。當在整合數據庫資源或者一個群集上運行多個應用程序時,可以考慮采用這種方法。

當根據客戶端親和性進行連接時,需要將各應用程序指定為 pureScale 群集中的單一成員。應用程序的所有連接和請求都是通過這個指定成員進行處理的。pureScale 群集中的其他成員可以在計劃內或計劃外中斷時使用。

但是,WLB 能夠與 OLTP 應用程序有效配合,而客戶端親和性連接能夠有效地進行批量處理,這有利于保存專用成員的數據庫內存堆。與 WLB 一樣,客戶端親和性連接是通過 JDBC 屬性或在 db2dsdriver.cfg 文件中進行配置的。

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享