整合多個站台的資料 (伺服器)
許多公司都有區域分公司或機構可收集和處理資料,且必須傳送到中央位置。例如:
可以將存貨資料從本地倉儲的大量伺服器「上捲」或合併到公司總部的一台中央伺服器中。
公司內部獨立的商業部門所產生的資訊,可傳送至中央伺服器。
來源位置分散的訂單處理資訊可以合併。
在某些情況下,資料亦可從中央站台傳送至遠端站台。此資料通常在遠端站台是唯讀資料,如只能在中央站台更新的產品庫存資料表集合。
下圖顯示了從遠端站台上捲資料的一般狀況。唯讀資料也會傳送至各遠端站台。
Adventure Works 循環範例
Adventure Works Cycles 是虛構的製造公司,用於示範資料庫概念與案例。如需詳細資訊,請參閱<AdventureWorks 範例資料庫>。
Adventure Works Cycles 在美國擁有為數眾多的銷售辦事處。這些辦事處以兩種方式使用複寫:
出於訂單實行和報告考慮提供訂單資訊。資料在每個銷售辦事處收集並處理,然後複寫到中央辦事處。
為其行動銷售人員提供資料與訂購能力。此狀況描述於主題<與行動使用者交換資料>中。
這個狀況的一般需求
區域辦事處的應用程式通常具有下列要求,適當的複寫方案必須提出因應對策:
系統必須維護交易一致性。
系統應具有低度延遲:遠端站台上的更新必須能快速傳送到中央站台。
系統應有高度輸送量:應處理大量交易的複寫。
複寫處理要求遠端站台承受最小負擔。
資料變更可能會向兩個方向流動:在某些情況下,資料除了從遠端站台合併到中央站台之外,唯讀資料也會傳送至遠端站台。
中央站台需要的資料可以是每個遠端站台可用資料的子集。
這個狀況要使用的複寫類型
MicrosoftSQL Server 使用的是出版業的字眼,來描述複寫系統的元件。元件包含發行者、訂閱者、發行集與發行項,以及訂閱。
在上圖中,每個遠端站台為「發行者」。遠端站台的部份或全部資料包含於發行集中,每個資料表的資料則是發行項 (發行項也可以是其他資料庫物件,例如預存程序)。中央站台是這些發行集的「訂閱者」,並以訂閱的方式接收結構描述和資料。
中央站台還可作為傳送資料至遠端站台的「發行者」。每個遠端站台都透過中央站台向發行集訂閱。
如需系統元件的詳細資訊,請參閱<複寫發行模型概觀>。
SQL Server 為不同的應用程式需求提供不同類型的複寫:快照式複寫、交易式複寫,以及合併式複寫。此狀況很符合處理前一章節所列出的需求大綱,最適合實作交易式複寫。如需交易式複寫的資訊,請參閱<交易式複寫概觀>以及<交易式複寫的運作方式>。
依設計,交易式複寫可解決此狀況的主體需求:
交易一致性
低度延遲
高度輸送量
最低負擔
[!附註]
類似的狀況可用合併式複寫實作。如果您的應用程式要求衝突解決方案,或為每個遠端站台提供唯一的資料集的篩選,請使用合併式複寫。如需詳細資訊,請參閱<整合多個站台的資料 (用戶端)>。
實作這個狀況的步驟
若要實作這個狀況,您必須先建立發行集與訂閱,然後初始化每個訂閱。按一下下列的連結,以取得有關每個步驟的詳細資訊:
在初始化訂閱,而且資料在發行者與訂閱者之間流動之後,您可能需要參考下列主題,以取得一般管理與監視工作的資訊: