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

WebSphere Information Integrator 聯邦資料庫健康監控:自主管理異構資料源

     編輯:DB2 教學

前言:聯邦資料庫的一致性挑戰

現代應用程式頻繁需整合來自不同來源、不同格式的資訊。WebSphere Information Integrator (WII) 透過提供單一、即時、基於 SQL 的介面存取異構資料源(關聯式如 DB2、Oracle、Sybase;非關聯式如文字文件、非結構化資料;新興技術如 XML 儲存庫、Web Services),加速此類應用部署。WII 在其編目中儲存聯邦資料源的中繼資料,於 DB2 UDB 引擎上下文中構建資料庫聯邦。

然而,聯邦中的每個資料源自主運作,維持聯邦資料庫與其聯邦源之間的一致性極具挑戰。結構定義變更、伺服器與網路故障、密碼過期等事件隨時可能發生,導致資料源不可存取或編目失效,進而中斷透過聯邦資料庫存取這些源的應用程式。因此,檢測不一致性與自我管理整合環境的自主功能,能降低資料管理複雜度,結合虛擬化環境,交付利用人員、流程與資訊資源的隨需應變解決方案。

聯邦系統基本原理

WII 聯邦系統包含:DB2 UDB 引擎、Information Integrator 實例、一或多個資料源、客戶端(使用者與應用程式)。透過在 DB2 UDB 上安裝並配置 Information Integrator 註冊異構資料源來建立。使用者可對儲存於聯邦系統任意位置的資料進行分散式查詢,無須關心自身位置或資料源 SQL 方言。

核心概念:

  • 封裝器:軟體模組,包含特定資料源特性,提供遠端資料的 DB2 關聯模型,透過傳送子查詢協聯邦引擎查詢處理
  • 伺服器:遠端資料源上一個資料集合的代表(關聯源通常為資料庫),透過 CREATE SERVER DDL 註冊
  • 別名:遠端資料源上資料集的表、視圖或其他形式表示,透過 CREATE NICKNAME DDL 註冊
  • 使用者映射:將 WII 使用者 ID 映射為遠端資料源上的 ID 與密碼,透過 CREATE USER MAPPING DDL 註冊

實戰場景:整合 Oracle、DB2 與文字檔員工資料

X 公司員工記錄存在 Oracle 表,新收購的 Y 公司員工記錄存在 DB2 表(缺序號),序號存於文字檔。WII 為三個來源註冊別名(ORACLE_NN、DB2_NN、SERIAL_NN),應用程式透過單一 SQL 查詢整合資料:

SELECT FIRSTNAME, LASTNAME, SERIALNUMBER, PHONENUMBER, OFFICENUMBER
FROM ORACLE_NN UNION
(SELECT D.FIRSTNAME, D.LASTNAME, S.SERIALNUMBER,
 D.PHONENUMBER, D.OFFICENUMBER
 FROM DB2_NN D, SERIAL_NN S
 WHERE D.SSN = S.SSN)

單一整合平台透明化多源存取,終端使用者無需知曉資料來源細節,提升生產力與效率。

維護資料一致性:現實挑戰

儘管 WII 能整合統一多源資料,但維護整合健壯性仍面臨挑戰:資料源定期啟動/休眠、硬體網路故障中斷資料填充、遠端表被操作重構。隨需應變企業要求在問題發生前預警,主動採取修正行動。主要不一致來源包括:

  • 伺服器層級:網路問題、資料源不可用(伺服器停機)
  • 別名層級:遠端表/欄被刪除、欄型別變更、文字檔位置變更
  • 使用者映射層級:遠端密碼變更、遠端使用者 ID 註銷

自主功能能根據業務目標自我管理、動態適應變更,對防止關鍵時刻應用程式故障至關重要,亦能減輕 DBA 管理複雜資料架構負擔,降低總擁有成本 (TCO)。

Health Monitor 管理聯邦資料

DB2 Health Monitor 協助 DBA 管理資料庫資源有效性、識別解決問題。主要目標:

  1. 監控:提供機制收集、管理、報告資料庫環境問題與受影響區域詳細資訊
  2. 建議:提供機制推薦、構建將系統恢復健康狀態所需操作

Health Monitor 使用健康指標評估特定資料庫層面狀態。WII V8.2 新增兩個聯邦健康指標:

  • 伺服器健康指標
  • 別名健康指標

兩者均為「基於集合狀態」指標:當集合中一或多個物件健康出現非正常狀態時產生注意警示,表示資料庫物件(別名/伺服器)集合的聚合狀態,為每個集合產生單一警示並單獨儲存該警示下的物件。

評估聯邦系統健康

Health Monitor 以預定義不可配置的時間間隔收集健康資訊。架構如圖:

別名健康指標在一或多個別名不可用時發出警示,無效原因包括:無效欄(遠端欄或型別已變)、無效表(遠端表/視圖/資料集被刪除)、無效使用者映射(本地或遠端使用者 ID/密碼已變)、查詢錯誤(其他情況)。

伺服器健康指標在一或多個伺服器無效時轉為警示狀態:不可用(遠端資料源被刪除/停用、或資料源與聯邦伺服器間網路故障)。

健康快照記錄指標資訊:名稱、詳細資訊、警示狀態(警示/警告/注意)、時間戳記、歷史記錄。間隔結束後進入休眠,下一間隔喚醒。

存取健康資訊

健康快照可透過:

  • Health Center(圖形介面):檢視所有實例與資料庫警示狀態的中心位置、圖形化檢視當前警示與詳細資訊/建議解決方案
  • 命令列處理器 (CLP):GET HEALTH SNAPSHOT 指令檢索健康狀態資訊

建議引擎

建議引擎協助解決健康警示問題。對聯邦物件,推薦解決不健康伺服器與別名的措施,每項建議含詳細描述、解釋、確定方式與結果狀態。可透過 CLP GET RECOMMENDATIONS 指令或 Health Center 的 Recommendation Advisor 精靈檢索建議。

端到端解決方案:Health Beacons 整合

Health Center 與 DB2 UDB Control Center(WII 管理工具所在)透過 Health Beacons 整合。Control Center 中的 Health Beacons 提供 Health Center 新警示的可視化指示,在所有視窗與筆記本中實現。未開啟 Health Center 時,Beacon 顯示當前警示,提示使用者開啟 Health Center 獲取詳細資訊。

結語:自主特性完善隨需應變特徵

WII V8.2 前已具備整合、開放、虛擬化特徵。健康監控自動化賦予其「自主」特性:自我管理能力優化保護應用程式,降低資料庫管理複雜度與 TCO。在聯邦環境中維護語義一致性對任何 DBA 皆具挑戰,聯邦健康監控等自主功能將惠及所有層級企業的 DBA。

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