資料倉儲和報告
複寫通常用於資料倉儲與報告應用程式,以執行下列項目:
合併資料,以便資料可以轉換及移到資料倉儲環境。
將資料散發到用於報告的唯讀資料庫。
將資料散發到線上分析處理 (OLAP) 資料庫。
儘管複寫不會複寫 Microsoft SQL Server 2008 Analysis Services (SSAS) 物件 (例如維度或 Cube),但它通常用於將資料從線上交易處理 (OLTP) 資料庫,散發到臨時資料庫以及用於報告、決策支援與分析的資料庫。
下圖顯示一個典型狀況:將資料從線上處理伺服器複寫到用於 OLAP 與 ROLAP 分析的報表伺服器與臨時伺服器。
Adventure Works 循環範例
Adventure Works Cycles 是虛構的製造公司,用於示範資料庫概念與案例。如需詳細資訊,請參閱<AdventureWorks2008R2 範例資料庫>。
Adventure Works Cycles 在許多部門會使用資料倉儲與報告,包括「製造」部門與「人力資源」部門。
「製造」部門會儲存有關製造缺陷與其他一些品質和效能標準的歷史記錄資料。資料從製造工廠的伺服器複寫到公司總部的臨時伺服器。資料在那裡被轉換並載入 OLAP Cube 以進行分析。
「人力資源」部門目前是使用協力廠商應用程式來產生報表。他們計劃用 Reporting Services 來取代此應用程式。同時也想擴大其報表功能,並新增執行下列類型分析的功能:
補償與收益分析,包括分析國際貨幣匯率的影響。
人員數計劃。
薪資成本模擬與預測。
他們將讓新伺服器上線,以透過公司來處理日益增加的報表需求。資料將從「人力資源」部門與其他部門複寫到此中央唯讀報表伺服器。
這個狀況的一般需求
資料倉儲與報告應用程式一般具有下列需求,適當的複寫方案必須提出因應對策:
系統必須維護交易一致性。
系統應該具有低度延遲:在線上處理伺服器的更新應能快速到達臨時與報表伺服器。
系統應有高度輸送量:應處理大量交易的複寫。
複寫處理在線上處理伺服器上需要最低負擔。
資料變更會以一個方向流動,即從線上處理伺服器流向臨時與報表伺服器。
臨時與報表伺服器所需要的資料可以是線上處理伺服器可用資料的子集。
這個狀況要使用的複寫類型
SQL Server 使用的是出版業的字眼,來描述複寫系統的元件。元件包含發行者、訂閱者、發行集與發行項,以及訂閱。
在以上圖表中,線上處理伺服器為發行者。線上處理伺服器上部份或所有資料包含在兩個發行集中 (一個是臨時伺服器,一個是報表伺服器),資料的每個資料表則是一個發行項 (發行項也可以是其他資料庫物件,例如預存程序)。臨時伺服器與報表伺服器是其中一個發行集的訂閱者,每部伺服器將結構描述與資料作為訂閱接收。如需系統元件的詳細資訊,請參閱<複寫發行模型概觀>。
SQL Server 為不同的應用程式需求提供不同類型的複寫:快照式複寫、交易式複寫,以及合併式複寫。此狀況很符合處理前一章節所列出的需求大綱,最適合實作交易式複寫。如需交易式複寫的資訊,請參閱<交易式複寫概觀>以及<交易式複寫的運作方式>。
依設計,交易式複寫可解決此狀況的主體需求:
交易一致性
低度延遲
高度輸送量
最低負擔
此狀況要考慮的主要選項為篩選。交易式複寫可讓您篩選資料行與資料列,這樣可使臨時與報表伺服器上的資料表僅包含應用程式需要的資料。如需詳細資訊,請參閱<篩選發行的資料>。
實作這個狀況的步驟
若要實作這個狀況,您必須先建立發行集與訂閱,然後初始化每個訂閱。按一下下列的連結,以取得有關每個步驟的詳細資訊:
在初始化訂閱,而且資料在發行者與訂閱者之間流動之後,您可能需要參考下列主題,以取得一般管理與監視工作的資訊: