一、情境:
1.       A機器(SQL 2008R2)單向同步B機器(SQL 2008R2),機器數目2台。。
2.       在特定時間大量的DELETE與INSERT資料。
3.       資料延遲要小於5分鐘。
4.       建立資料副本
5.       資料庫為OLAP類型
二、SQL SERVER 2008 HA技術比較表
項目  | replication  | failover cluster  | mirror  | log shipping  | 
用途  | l   產生多組資料副本 l   資料正本做異動而在資料副本做查詢 l   同步異質性資料庫 l   正本與副本的資料可以彼此同步 l   資料延遲性小  | l   SERVER的HOT STANDBY l   應用程式不必修改連線字串: 因為連接是共用的虛擬名稱 l   可以自動轉換主機  | l   資料庫的HOT STANDBY l   可以自動轉換備援資料庫成主體資料庫(需要三台機器)。 l   配合snapshot可以有在備援機器讀取資料 l   二台機器就可以完成mirror l   應用程式不必修改連線字串: 加上Failover Partner=ServerB即可 l   資料延遲性小  | l   產生多組資料副本 l   可以設定同步時間間隔,防止誤刪資料。 l   資料正本做異動而在資料副本做查詢  | 
缺點  | l   使用Merge類型的Replication 會有資料衝突的問題。 l   無自動切換 l   使用Transactional 類型時TABLE一定要有PK l   使用Snapshot 類型時,TABLE要有識別欄位  | l   比較貴:硬碟上的花費是最貴的。 l   Share Disk掛掉後,整組一起掛。 l   管理麻煩。 l   不會有資料副本。  | l   只限於使用者資料庫 l   若不使用自動轉換備援資料庫成主體資料庫,需要手動轉換。 l   鏡像資料庫若不配合snapshot,此時資料是不可以讀取鏡像資料庫的資料。 l   只能產生單一資料副本。  | l   資料的延遲性較高。 l   將資料庫切換為簡單復原模式,會使記錄傳送停止運作 l   若將資料庫轉為可查詢狀態會有可能發生資料不是最新或使用者斷線的情況。 l   無自動切換  | 
1.       經過比較後,會產生資料副本的有replication與mirror與log shipping,去掉failover cluster。
2.       除非配合mirror ,否則Snapshot只能在單一SERVER上執行所以不列入考量。
3.       因為我們的資料庫的復原模式為SIMPLE,所以不能使用log shipping,去掉log shipping。
4.       因為mirror不能讀取備援資料庫與必須手動切換成主體資料庫,去掉mirror。
由以上4點得知使用replication是最適合的。
三、Replication的比較表。
replication類型  | |
Snapshot | l   DB資料量小 l   資料變更數量可觀但次數不頻繁時 l   可收受資料延遲較久 l   資料庫物件(TABLE或VIEW等)異動不大 l   TABLE要有識別欄位(identified) l   機器數目:2台  | 
Transactional | l   需要最即時的資料 l   同步異動資料庫物件(TABLE或VIEW等) l   極大量的插入、更新和刪除。 l   雙向資料複製。 l   可處理異質資料庫,如 Oracle。 l   TABLE一定要有PK l   機器數目:2台。  | 
Merge | l   可雙向同步資料。 l   可在離線時變更資料,上線時才同步資料。 l   可能會發生同步資料的衝突。 l   機器數目:2台  | 
由Replication的比較表可知選擇Transactional Replication是最適合的。
沒有留言:
張貼留言