Sql-Server

SQL Server - 跨不同邏輯驅動器拆分數據庫的好處

  • November 25, 2020

我們即將啟動一個項目,將大型 DWH 遷移到新數據中心的新物理伺服器上。目前的伺服器規範是在 Windows 2012 R2 上執行的 SQL Server Enterprise 2016 SP2。新伺服器將是在 Windows 2019 上執行的 MSSQL 2019 Enterprise。

目前和新伺服器的 SAN 儲存是全快閃記憶體儲存陣列。在目前環境中,除了將數據和日誌文件分離到不同的邏輯驅動器上外,不同的數據庫(僅數據文件)也分佈在不同的邏輯驅動器上。

  • 本地 SSD - TempDb
  • 邏輯驅動器 1 - 日誌文件
  • 邏輯驅動器 2 - 用於暫存數據庫的數據文件
  • 邏輯驅動器 3 - 面向使用者的數據庫的數據文件
  • 邏輯驅動器 4 - 支持數據庫的數據文件(ReportServer、MDS 數據庫)

作為伺服器遷移的一部分,我正在考慮將所有數據文件合併到一個邏輯驅動器上。

  • 本地 SSD - TempDb
  • 邏輯驅動器 1 - 日誌文件
  • 邏輯驅動器 2 - 數據文件

除了數據庫文件管理之外,將數據文件分散在不同的邏輯驅動器上是否有任何性能優勢?即使最終是同一個物理儲存陣列,多個邏輯驅動器是否會提供更好的 IO?

將數據文件分散在不同的邏輯驅動器上是否有任何性能優勢?

如果所有捲都映射到 SAN 上的同一組物理磁碟,則通常沒有區別。

但是,如果每個卷映射到不同的 SAN LUN,則 SAN 可能會以不同的方式為卷分配儲存資源。例如,即使 LUN 共享相同的底層儲存,它們也可以託管在不同的 SAN 控制器上、具有不同的記憶體策略、單獨監控等。

如果每個卷都映射到一組單獨的物理磁碟,那麼將它們拆分會非常昂貴,因為您無法在卷之間匯集和共享 IO 資源。由於大多數數據庫文件 IO 是後台 IO,因此您通常應該將所有數據庫文件的所有 IO 資源集中在一起,以最大限度地提高效率、共享和每個數據庫的峰值 IO 吞吐量。

因此,這取決於您,您需要與您的 SAN 專家一起選擇,並適當地配置 SAN 和伺服器(例如 IO 隊列深度)。

引用自:https://dba.stackexchange.com/questions/280269