向外延展 Analysis Services 方案
通常在很多情況下,Analysis Services 資料庫管理員 (dba) 會想要針對日益增加的使用者,改善查詢回應時間。有兩種方式可以完成這個目標:在現有的伺服器中加入更強大的功能 (向上延展),或在數個小伺服器間分散負載 (向外延展)。
向上延展方案通常受到現有硬體無法再擴充或升級之位置的限制。這也許是因為現有的主機板無法接受新版本的 CPU,也可能是已達到記憶體的實體位址空間。在另一方面,向外延展方案比較有彈性,而且其限制比較容易克服。如果網路負載平衡器 (NLB) 中的伺服器數目已達到最大限制,可以將額外的 NLB 加入到方案中,並在多個 NLB 之間分散伺服器。
本文件描述向外延展 Analysis Services 方案理論上的架構。
狀況
Analysis Services dba 必須提供 Analysis Services 方案的使用者較佳的查詢回應時間,但是提供每日最少的停機時間來重新整理資料。使用者數目在上個月已經從原本的 80 位使用者加倍,而且這個數目預期在接下來的六個月內再次加倍。從第七個月開始,使用者的擴充預期是每個月成長 4 個百分比。Analysis Services 資料庫大小目前為 80GB,而且每個月會成長 6GB。此資料庫目前可以保存前 12 個月的資料,而且預期可以維護前 3 個會計年度的記錄加上目前年度的記錄。平均處理時間為 2 個半小時,而且停機時間限制為半小時。
替代方案
在您了解狀況後,唯一的方案似乎是向上延展伺服器。這將會提供沒有停機時間的服務,但在處理時間會讓效能減緩。不過,目前有 160 位使用者,而且在接下來的六個月內將會加倍到 320 位使用者。之後,每個月將會繼續成長 13-16 位使用者,而且會無限制地延續下去。以這樣的速率,使用者的數目在穩定成長的第 18 和 19 個月之間將會再次加倍。已知這個狀況,要調整正確的硬體大小,並針對其在未來 12 個月之容量的 50% 下使用的設備調整預算要求相當困難。
慶幸的是,向外延展此方案可以利用唯讀資料庫能力,在 SQL Server 2008Analysis Services 中進行。
向外延展架構
此架構是使用兩個元素設計的:
實體配置,其目標是將使用者輸送量最大化。
運算架構,其目標是將停機時間最小化。
實體配置
此方案包含三個主要元件:
處理環境
存放區域網路 (SAN)
資料存取環境
第一個元件為處理,是使用 SAN 區段更新與處理資料的地方。第二個元件為 SAN,是針對處理和資料存取環境保存資料的地方。第三個元件為資料存取,是讓使用者可以使用資料的地方。
處理環境
處理環境是由一部伺服器、一個 SAN 的連線,以及一個保存 Analysis Services 資料的 SAN 邏輯磁碟區所形成。
存放區域網路 (SAN)
此方案包含兩個獨立的「SAN 邏輯磁碟區」:一個用於處理環境,而另一個用於資料存取環境。
SAN 是一組裝置,可為多維度資料庫提供實體儲存體。它可在伺服器與儲存體 (包括共用儲存體、叢集與資料復原機制) 之間進行高速連線。
在本文件中,「SAN 邏輯磁碟區」會定義作業系統視為一個實體磁碟機的儲存體單位。
資料存取環境
資料存取環境是由共用相同 SAN 邏輯磁碟機的多部伺服器 (開始通常是三部) 所形成。使用者可以透過使用負載平衡演算法路由所有內送要求的 NLB 裝置連接到資料存取伺服器。
實體配置的 Variant
如有必要,您可以在方案中使用下列 Variant 以獲得較佳的效能。
處理環境
在某些情況下,您可能會使用兩部處理伺服器:一部用於關聯式資料庫,而另一部用於保存 Analysis Services 資料庫。
此外,您可以定義多個邏輯磁碟區以便在 SAN 中個別保存關聯式資料庫與多維度資料庫。
資料存取環境
將兩個或多個 NLB 定義為方案的一部分,其中每個 NLB 裝置至少有三部資料存取伺服器。
運算架構
方案的運算分為三個階段:
資料處理。
停機時間
重設資料處理
資料處理
在這個階段,會更新並處理多維度資料庫。只要準備好要傳送的多維度資料庫內容,資料存取環境就會處理要傳送的資料。這個程序包含下列步驟:
從資料處理伺服器卸離 Analysis Services 資料庫。
讓保存 Analysis Services 資料庫的 SAN 邏輯磁碟區離線。
停機時間
在這個階段,已更新之資料庫的內容會與原始資料庫的內容交換。
設定 NLB 以拒絕任何內送要求。
從每個資料存取伺服器卸離 Analysis Services 資料庫。
從每個資料存取伺服器,讓保存 Analysis Services 資料庫的 SAN 邏輯磁碟區離線。
使用 SAN 命令交換處理環境和資料存取環境之間的 SAN 邏輯磁碟區。
針對每個資料存取伺服器,讓保存 Analysis Services 資料庫的 SAN 邏輯磁碟區當做唯讀裝置上線。
在 ReadOnly 模式下,將 Analysis Services 資料庫附加到每個資料存取伺服器。
設定 NLB 以接受任何內送要求。
重設資料處理
在這個階段,舊的 SAN 邏輯磁碟區的內容會遭到更新,並在處理環境上線。
使用 SAN 命令,將資料存取中的 SAN 邏輯磁碟區鏡像到處理環境的邏輯 SAN。
針對處理環境,讓保存 Analysis Services 資料庫的 SAN 邏輯磁碟區當做讀/寫裝置上線。
在 ReadWrite 模式下,將 Analysis Services 資料庫附加到處理環境伺服器。