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

正確資料、正確位置、正確時間:DB2 for z/OS 分層儲存策略

     編輯:DB2 教學

以往 DBA 對資料庫依賴何種儲存鮮有話語權:只需要求特定大小空間,儲存管理員即提供。如今 DBA 必須考慮使用何種儲存——儲存不再只是「儲存」,有高速、低速、中速之分,各適用不同用途。挑戰在於決定資料放置位置以獲得最佳投資報酬率(ROI)。本文探討如何建立分層方法使用 IBM DB2 for z/OS 儲存,實現「正確時間從正確位置獲取正確資料」,達到效能優化與降低總擁有成本(TCO)雙重目標。

磁碟儲存分層:選擇的藝術

DB2 DBA 從未面臨如此多價格與效能各異的儲存選擇。高端固態硬碟(SSD)支援隨機 I/O 每秒 5,000 次操作(IOPS),適合 I/O 密集型應用,但昂貴。另一端 Serial ATA (SATA) 硬碟容量達 2TB 但僅約 75 IOPS,適合循序工作負載,隨機 I/O 表現不佳。兩極間為纖維通道 (FC) 硬碟,多年來是企業儲存陣列中堅,合理回應時間(<5ms)下交付 180 IOPS,速度/回應似達瓶頸。

獨立設備只是方程式一部分。所有硬碉按交付效能價值比在企業儲存陣列排列。RAID 10(條帶鏡像)效能最佳但比 RAID-5 昂貴;RAID-5(條帶單奇偶)某些效能優於 RAID-6(條帶雙奇偶),但 RAID-6 資料遺失保護更好。定義儲存層相對簡單:高成本高效能為黃金層,依序為白銀層、青銅層。

選層挑戰:資料特性與工作負載分析

在層上放置正確資料不簡單。從核心參數切入:資料庫是否業務關鍵?效能需求?可用性需求?單一 DB2 系統中非所有資料相同,或許單資料庫分層可行。甚至生產資料中某些表極少訪問,另些持續訪問。訪問配置檔隨時間變化(圖 1:資料存取模式從建立到部署,描述為資訊生命週期)。

需考慮 I/O 特性:隨機還是循序?讀還是寫?讀寫比率?I/O 大小?搞清工作負載才能做最適分層選擇。

描述工作負載

不同時刻與儲存角度看,工作負載強度不同。類型也影響最優部署層。所有 I/O 不同!寫操作:企業儲存陣列緩存入站寫操作立即回應通道端/設備端確認(DASD 快速寫),隨後降級至實體儲存。DB2 緩衝池寫操作通常與交易工作負載非同步,優先級低於同步讀。循序讀工作負載(如表空間掃描):DB2 執行預取(非同步預讀 I/O),儲存陣列偵測循序動作亦預取至緩存,磁碟進入流模式。流模式下轉動磁碟不遜於 SSD。對此類 DB2 工作負載,黃金層或許非最佳選擇,移至黃金層不改善效能反佔用寶貴空間。選擇正確層可能不直觀,經驗性測量有助優化部署。

選擇各層最佳工作負載

最佳方法:分析表空間資源管理工具(RMF)儀器決定 I/O 特性。尋找適合 SSD 資料時,檢查系統管理工具(SMF)42 子型態 6 記錄(顯示高 DISCONNECT 時間表空間)。高 DISC 時間指標 DB2 同步讀操作儲存控制緩存中頁面未命中。區間內高平均 DISCK 時間資料集通常為 SSD 遷移候選。但最高遺失率資料集常為最大資料集(難輕易放入儲存緩存)。需理解「遺失密度」:每 TB 表空間儲存有多少緩存遺失。可用 DCOLLECTK 與 SMF 記錄經電子表格計算。SMF 報告其他十進制標示 I/O 最少資料集,為青銅層候選(特別若資料集大)。

基本規則歸納:

  • 隨機讀 I/O 為 SSD 最佳負載,特別是造成大量儲存緩存遺失者
  • 高度循序動作最適 FC 或 SATA 硬碟
  • 高寫動作最適無奇偶保護 FC 硬碟;若儲存控制器緩存受限,高寫動作可 SSD 直接寫入(寫操作降級至磁碟比 FC/SATA 更快)
  • 低 I/O 動作最適 SATA 硬碟

使用 DFSMS 建立手動分層策略

理想狀態儲存機制與資料庫自動合作識別最佳層並遷移資料——但尚未達到。目前可用 IBM Data Facility Storage Management Subsystem (DFSMS) 部署初級手動分層。構建含相似效能特性容量的儲存群組,配合 Automatic Class Selection (ACS) 與儲存類設定,導引 DB2 表空間至最適層。

三大限制:1) 資料集放置控制發生在配置時間(建立時),不考慮資料生命週期;資料不再頻繁訪問變為低層候選時如何辦?2) 假設預知表空間效能需求;若不知需求且誤放錯層怎麼移動?3) 或許僅部分表空間「熱」,其餘「冷」,應存在多層。

儲存分層解決方案

當表空間擁有持續確定效能需求,可採靜態分層技術或 DFSMS。目標匹配儲存層、效能與資料 I/O 特性。圖 2 描述簡單靜態分層方案(SMS 儲存群組實現)。實際上因資料存取模式易變性,分層模式非如此簡單。

層間資料移動

多種方法無需影響資料庫可用性透明移動資料:

  • DB2 Reorg 工具:線上重組移動表空間簡單有效;控制移動位置非易事,可用保證空間或修改 ACS 路徑
  • DB2 分區:謹慎選擇分區鍵允許 DBA 使用資料集移動工具,將分區從一層滾動至另層
  • 第三方工具:IBM Softek TDMF/zDMF、EMC z/OS Migrator/Virtual LUN Migrator/FAST、Hitachi Tiered Storage Manager、FDRPAS/FDRMOVE。使用時必須驗證:資料集層級或磁碟層級移動、DB2 表空間或磁碟是否主動使用

邁向自動化分層

DB2 for z/OS 分層儲存無疑改善 ROI 與效能優化,但對 DBA 管理策略是負擔。DBA 需智能儲存系統,依用戶策略設定在資料庫環境自動執行,優化表空間層級(或更細粒度)資料放置。同時,熟悉所要求/分配的儲存特性並考慮最佳用法,是良好實踐與潛在獲利點。

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