數據倉庫通常是企業內部最大的數據庫了。構建和管理系統是項大的任務,這些項目會由於眾多用戶提供的不兼容的輸入而很快變得難以控制。提高系統的查詢性能是可以實現的,但是必須要經過周密計劃,隨後還有具有遠見的設計和開發階段。在這篇文章中,我們將會列出獲得並且為性能需求計劃的一些技術,然後我們會在SQL Server上提高你的數據倉庫性能。
需求
對於需要支持數百個GB到幾個TB的數據系統而言,性能永遠不會是你需要考慮的最後一件事情。當你收集數據倉庫需求的時候,你就會被訓練掌握用戶性能需求的規則了。基於這些期望,可以考慮以各種方式將數據傳送給他們。
系統確立
一旦你確定了用戶的需求,為系統的未來六個月到接下來的3年到5年內的增長作出一個估計。判斷在經過一段時間之後用戶的數量。接下來,判斷哪些業務功能會平衡數據和緩慢的性能對他們生產效率的影響。這些估計都可以為你提供關於用戶想要使用數據還有對他們對性能的期望的概念。現在是時候為分散的數據確定一個策略了。
數據傳遞
要理解用戶是如何想要使用和訪問數據是非常重要的。如果他們基本上每天看報告和一些隨時的報告,那麼你可以非常幸福地在這些時間之後完成大部分繁重的任務了。其中包括從操作系統中載入數據,然後查詢數據來構建和傳遞報告。這與支持一個幾乎是實時的數據倉庫是完全不同的過程,在實時的數據倉庫中,數據必須要從操作系統中以小時為單位進行更新,以便決策可以及時到達各個部分或者整個企業。
應用程序選擇
一旦你確立了系統和數據的傳遞,那麼開始考慮支持數據倉庫的基礎架構吧。這不僅僅是硬件設備和數據倉庫的SQL Server版本,還包括客戶端應用程序和客戶端硬件設備。你一定不會想要這樣的情況,你有非常有力的SQL Server數據倉庫,但是客戶端機器卻非常弱,幾乎不能支持報告中的大量數據。另一個需要考慮的就是前端應用程序,這根據供應商而定,從一個簡單的接口到為你的業務定制的復雜特性。
SQL Server硬件設計
一旦你配置了你的硬件,那麼要對整個IT企業內的系統進行修改,不明顯增加時間上的投資是很難的。為未來作出計劃。要麼是購買一個可以讓你升級CPU,內存,磁盤驅動器,控制器等東西的系統,並且你很自信你可以在未來的1年到3年購買設備;要麼在最開始就購買一個超大馬力的服務器,但是會在很長時間內支持你的需求。當涉及到配置磁盤驅動器以正確支持SQL Server,請參考我的文章優化SQL Server 硬件性能。根據數據量,用戶和預算的多少,你可能會考慮支持I/O需求的SAN。
系統的生命
基於硬件,應用程序和用戶需求,從IT的角度告訴你的用戶這個系統的生命長度。讓他們知道當前的系統將會在一段時間之內支持特定數量的用戶需求。例如,這個系統會在三年之內支持50個並發用戶,到那個時候,系統就需要重新評估了。