首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 9.5 高可用性架構選型指南:依業務需求選擇正確方案

     編輯:DB2 教學

前言:定義高可用性 (HA) 與災難恢復 (DR)

高可用性 (HA) 指業務依賴的資料在需要時可用,目標為消除或最小化停機。災難恢復 (DR) 側重防止災難性故障導致資料遺失。本文聚焦 HA。

術語與用戶端/伺服器架構

資料庫解決方案包含三層軟體:使用者應用、用戶端軟體、資料庫引擎,以及硬體、網路、儲存、作業系統等資源。HA 設計須全盤考量,非僅資料庫引擎層面。SQL 交易分「讀」與「寫」:讀交易需一致性視圖,寫交易需持久化。業務需求 (正常運行時間、交易一致性) 驅動 HA 方案選型。

兩大 HA 類型

1. 持續可用性

資料庫引擎隨時可用,停機時間不可感知 (零秒或秒級),需高度冗余。三種基本設計:

設計模式核心概念優點缺點
程式化可用性應用層實作分散式交易,多系統並行,單點故障不中斷其他系統最大彈性開發成本高、不支援封裝應用、複雜度高、需自行解決同步、非確定性函數、非原子預存程序問題
共享可用性冗余系統共享關鍵資源 (儲存、鎖機制、計時器),單點故障其他成員接管極高可用性、擴展性、無需修改應用成本高、需專用硬體、實作需專業技能、僅 z/OS 支援 (Parallel Sysplex + Coupling Facility)
多重副本可用性多資料庫副本分散負載,故障切換至其他副本。xkoto Gridscale 提供同步複寫與負載平衡極高可用性、擴展性、無需修改應用、易實作管理、成本較低 (商用硬體)需額外軟體/硬體管理、中等成本增加

共享可用性架構 多重副本可用性架構

2. 故障轉移可用性

故障發生至恢復間存在短暫不可用窗口。核心要素:主/備系統、故障偵測、資料源移轉。分同步與非同步:

  • 同步:主備資料一致,故障轉移後完整資料連續性
  • 非同步:不保證完全同步,存在資料遺失風險窗口

同步故障轉移方案

方案描述優點缺點
專用 HA 軟體 (TSA, Veritas, HACMP, MSCS, Sun Cluster, Steeleye)資料庫軟體與 HA 軟體緊密整合形成 HA 叢集,共享儲存單一資料庫副本,故障時移轉資源 (磁碟、網路、DB2 服務)資料庫永遠同步、無需修改應用/用戶端、自動故障偵測轉移、不降低效能、無資料複寫冗余需額外軟體/技能、需符合 HA 標準的外部儲存、儲存距離限制
磁碟儲存複寫 (PPRC 等)專用儲存硬體/軟體同步複寫磁碟區塊至備援站點資料庫永遠同步、無需修改應用/用戶端需專用儲存、距離限制、備援系統無法分擔資料庫負載、所有寫入必須正確順序回放
DB2 HADR (High Availability Disaster Recovery)基於 DB2 日誌機制的高效能資料庫複寫,主系統執行交易同步傳送日誌至備用系統,故障時角色切換資料庫同步、無需修改應用/用戶端、安裝維護簡單、效能影響極小、AIX/Linux 內建自動故障轉移 (DB2 HA Feature 整合 TSA)、支援滾動升級需額外伺服器/儲存、備用系統無法同時處理資料庫負載、不複寫無日誌操作

HA 軟體可用性 磁碟儲存複寫 HADR 同步流程

非同步故障轉移方案:DB2 複寫

  • 傳統 (SQL) 複寫:捕獲程序掃描交易日誌將變更寫入暫存表,應用程序定期套用至目標。開銷取決於 DML 量,基表無額外鎖。
  • 佇列複寫 (Q Replication):變更直接放入 WebSphere Replication Server 佇列,提供快速保證傳遞,吞吐量更大、開銷更低、增加冗余。

特點:極度彈性、多作用中副本、無距離限制、但固有非同步、有效能開銷、非所有資料庫變更皆複寫 (系統目錄變更需手動同步)。

傳統複寫 佇列複寫

自動用戶端重新路由 (ACR)

伺服器故障導致用戶端連線中斷,ACR 讓 DB2 用戶端自動重連原始或備用伺服器。備用伺服器資訊存於伺服器端參數,首次連線時快取至用戶端。偵測到通訊錯誤時輪詢嘗試重連。注意:ACR 不重播進行中交易,未提交工作需應用程式重新執行。 WebSphere 中介軟體具 ACR 感知能力,進一步降低複雜度。

ACR 架構

結語

DB2 9.5 提供豐富 HA 選項,本文為依環境選擇最適方案提供決策指引。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved