2011-12-06 18 views
1

我工作的公司有兩個不同的SQL服務器。一個是我們的主要生產服務器,而另一個基本上是幾個表的副本,並且該服務器用於諸如我們的帳戶網站之類的東西。第二臺服務器發生更改,然後通過合併複製與主服務器同步,然後與其他所有用於其他事務的訂戶同步。這些其他訂閱者不必使用合併複製,因爲他們只讀取數據並不更新它,但這就是我們現在使用的。合併複製與更新主服務器和事務性repl返回

我的問題是:有人知道這種拓撲的性能影響是什麼?我正在考慮做兩件事情之一,並想知道我會從中得到什麼樣的表現。

1)將其全部更改爲事務複製。然後,帳戶網站只會更新主服務器,然後再複製東西。缺點是網站在幾分鐘內不會顯示更改,但我認爲複製的性能(和管理)可能會使其可接受。

2)改變它,使主服務器和第二服務器使用合併,但我使用事務複製的一切。我知道事務複製對服務器的負載比合並更少,但我還沒有看到在同一個表上使用合併和事務的任何事情。實際上,我認爲唯一的好處就是管理這一切。

回答

0

您的解決方案取決於「其他」服務器需要做什麼以及它們的最新狀態。讓我解釋。

對於任何多個服務器的數據基礎設施,你有以下選擇:

  • 複製
  • 日誌傳送
  • 數據庫鏡像

複製是在主服務器和你的帳戶之間的最佳方法服務器。 如果您擁有帶寬(或者甚至更好,兩臺服務器都位於局域網上),我建議您使用事務複製。這將使它在兩臺服務器上保持最新並接近實時,如果服務器之間的連接速度很快,性能不會受到太大影響。 (PS您可以採用相同的方法,將輔助服務器用作待複製表的熱備用設備,但這僅用於恢復這些特定表。)

對於所有其他服務器(似乎是asif他們主要用於報告?),我建議最大限度地減少性能對主服務器的影響。要做到這一點,你可以看看在高性能模式下使用日誌傳送或數據庫鏡像。

  • 日誌傳送可設置爲僅在晚上發送日誌以減少在線時間的網絡流量。

  • 數據庫在高性能模式下鏡像將船您的交易異步,也將有助於減少交通量

NOTE(日誌傳送爲基礎):這兩種方法都將意味着你只能讀「其他」服務器上的數據庫。沒有插入或更新。根據選擇的實施情況,您的「其他」服務器可能會在主服務器後面進行幾分鐘到幾個小時的更新。

希望這會有所幫助。