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

高可用性資料庫選型:SQL Server 與 Oracle 深度對比(一)

     編輯:關於SqlServer

摘要

Microsoft SQL Server 2005 滿足企業高可用性需求,成本遠低於 Oracle 10g。SQL Server 2005 Standard/Enterprise Edition 皆內建所有核心高可用性功能(Microsoft Clustering Services、Database Mirroring、資料庫快照、記錄傳送、複寫),無額外授權費。Oracle RAC 僅在 Standard Edition 提供(Enterprise Edition 反而不含),無法達到 SQL Server Database Mirroring 亞 5 秒故障轉移速度。Oracle Flashback 與 Data Guard 需購買昂貴的 Enterprise Edition。SQL Server 2005 Enterprise Edition 內建資料分區,Oracle 需另購 Partitioning 選項。高可用性不等於高成本。

引言

確保計算資源持續可用是 DBA 核心目標。資料庫/伺服器不可用不僅造成金錢損失,更損害信譽。Forrester Research 案例:eTrade 1 小時停機損失 800 萬美元,Dell 10 小時損失 8,300 萬美元,Intel 33 小時損失 2.75 億美元。任務關鍵應用需 7×24×365 可用性。建立高可用性環境涉及技術、人員、流程多維度。本白皮書比較 SQL Server 2005 與 Oracle 10g 高可用性技術,協助選型決策。

高可用性定義與五個 9

可用性 = (總時間 - 停機時間) / 總時間。100% 即零停機,極難達成。業界基準「五個 9」= 99.999%,年停機 < 5 分鐘。年總工時 8,760 小時。若每月停機 8 小時維護,可用性僅 98.9%(一個 9)。

9 的個數可用性年停機時間
198.9%3 天 18 小時 20 分鐘
299.0%3 天 15 小時 36 分鐘
399.9%8 小時 46 分鐘
499.99%53 分鐘
599.999%5 分鐘

停機時間須從使用者角度測量。伺服器正常但使用者無法存取,視同不可用。

影響可用性三大因素

  • 人員:僱用優秀人才、高效流程、良好策略
  • 流程:標準化作業、變更管理、災難復原計畫
  • 技術:硬體/軟體解決方案影響所需技能與管理流程,持續訓練關鍵

計畫停機時間應對

硬體升級與維護

Windows Server 2003 支援熱插拔 RAM 與 RAID,動態擴充不影響可用性。單伺服器環境仍需計畫停機。多伺服器叢集支援輪替升級:手動故障轉移離線節點維護,其他節點承擔負載,零可用性損失。

資料庫維護

索引維護、統計更新、備份等不可或缺。SQL Server 2005 允許大多數系統屬性線上動態調整(如 max degree of parallelism、max server memory、recovery interval 等)。獨有 DBCC INDEXDEFRAG 線上碎片整理,不長時間鎖定,不阻塞查詢/更新。SQL Server 與 Oracle 皆支援線上索引操作(重建、新增、碎片整理),查詢更新不中斷。雙方皆具綜合資料庫優化工具,監視查詢執行、磁碟 I/O 子系統效能。

非計畫停機時間:資料庫恢復方案

各平台提供類似等級保護,但服務範圍、成本、人力投入不同。

SQL Server 2005 備份與時間點恢復

三種復原模式平衡記錄開銷與恢復能力:

  • 簡單:最低記錄,僅能恢復至上次備份
  • 完整:記錄所有變更,可恢復至故障時刻(預設)
  • 大量記錄:記錄除大量作業外所有交易,恢復至最後備份點

備份類型:完整、差異、記錄備份。磁碟備份最快,應置於獨立磁碟/控制器。時間點恢復可將資料庫恢復至任意時刻(如 03:59 避開 04:00 應用程式錯誤)。記錄還原時依時間戳前滾交易,精確停在指定點。新增頁級還原,可僅還原受損頁面。

延遲記錄傳送

配置「時間窗」(如每 5 分鐘傳送一次),若期間發生資料錯誤,可從備援端恢復至 5 分鐘前狀態。

檔案組還原

可用性單位從「資料庫」細緻化為「檔案組」。僅正在還原的檔案組不可用,其他資料仍可存取。支援單一檔案組、甚至單一頁面還原。

快速恢復

類似 Oracle Fast-Start Fault Recovery,記錄前滾完成後立即允許連線,無需等待未完成交易回滾。

資料庫快照

建立資料庫唯讀靜態檢視,無完整副本開銷。快速恢復毀損資料。圖 1 示意快照架構。

圖 1:資料庫快照架構

後續章節將深入比較 Oracle 10g 對應功能與綜合選型建議。

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