qileilove

          blog已經(jīng)轉移至github,大家請訪問 http://qaseven.github.io/

          SQL Server復制入門----復制的幾種模式

            發(fā)布-訂閱的復制模式

            這種模式使得發(fā)布服務器也是訂閱服務器,如圖3所示。

          圖3.發(fā)布-訂閱復制模式

            這種模式適用于服務器A和服務器B的網(wǎng)絡非常昂貴但服務器B和各個訂閱服務器的網(wǎng)絡成本很低的情況。比如,公司的總部在北京,服務器A在北京,服務器B是上海分公司的,各個訂閱服務器通過局域網(wǎng)和服務器B進行連接。在這個例子中,服務器A和服務器B通過VPN進行連接,這個費用是相當昂貴的,而服務器B和各個訂閱服務器通過局域網(wǎng)連接的成本可以忽略。

            以訂閱服務器為中心的復制模式

            這種模式以訂閱服務器為中心,如圖4所示。

          圖4.以訂閱服務器為中心復制模式

            這種模式適用的場景比如:各個區(qū)域將各自的業(yè)務數(shù)據(jù)匯總到總部這種類型的業(yè)務場景。

            多個發(fā)布服務器和多個訂閱服務器的復制模式

            這種模式適用于數(shù)據(jù)對等的環(huán)境,一個簡化的版本如圖5所示。

          圖5.多個發(fā)布服務器和多個訂閱服務器  簡介

            本篇文章根據(jù)發(fā)布服務器,分發(fā)服務器和訂閱服務器的組織方式和復制類型來講述常用復制的幾種模式。

            模式的選擇

            選擇復制的模式取決于多個方面。首先需要考慮具體的業(yè)務需求,在此之后還需要考慮硬件和網(wǎng)絡的限制。對于業(yè)務需求來說考慮的角度可以分為兩個部分:自治和延時。自治是指”數(shù)據(jù)不被影響的程度”,比如說一個業(yè)務場景:公司的總部在北京,發(fā)布服務器和分發(fā)服務器全在總部,各個地區(qū)的分部有訂閱服務器,使用快照復制來接收推送訂閱總部每個月一次的公司員工通訊錄。在這個業(yè)務場景中,訂閱服務器僅僅是接收發(fā)布服務器發(fā)布的通訊錄信息,對于這些信息的修改是不會回傳給總部服務器的,這個業(yè)務場景的自治程度就是非常低的。而對于延時來說,就是”在發(fā)布服務器上的數(shù)據(jù)修改應用到訂閱服務器上的時間”,比如還是上面那個例子,每次訂閱服務器的訂閱周期是一個月,在此期間總部的通訊錄可能經(jīng)過了多次修改,但一個月以后才會同步到訂閱服務器,那么這種場景的延時是非常高的。

            其次就是硬件和網(wǎng)絡的限制,比如將發(fā)布服務器和分發(fā)服務器設置在一臺服務器上,在現(xiàn)有的情況下CPU是否能夠承受這些負擔?或是使用快照復制,發(fā)布服務器和訂閱服務器之間的網(wǎng)絡寬帶是否能夠承受在一定發(fā)布周期內(nèi)的數(shù)據(jù)量傳輸?

            在簡單了解了模式選擇的標準后,下面我們來看常用的幾種復制模式。

            以發(fā)布服務器為中心的復制模式

            這種模式多個訂閱服務器以一個發(fā)布服務器為中心進行訂閱,如圖1所示。

          圖1.多個訂閱服務器以發(fā)布服務器為中心的模式

            這種模式也是復制模式中最簡單的模式,這種模式可以使用快照發(fā)布和事務發(fā)布。不難看出,這種情景的自治性是比較低的,因此這種模式適用于以下幾種業(yè)務場景。

            ● 訂閱服務器用于報表生成.

            ● 發(fā)布服務器用來發(fā)布類似前文所說的員工通訊錄,產(chǎn)品資料等主(Master)信息

            ● 使用事務發(fā)布,使得訂閱服務器承擔部分負載

            ● 在發(fā)布服務器Down了以后,作為緊急備用服務器

            當然,這種模式的缺陷也是顯而易見的。

            ● 首先是發(fā)布服務器和分發(fā)服務器在同一臺服務器上對CPU和內(nèi)存的消耗服務器硬件是否能夠承受是一個問題

            ● 在OLTP環(huán)境中如果每天要修改的數(shù)據(jù)量過大,比如超過10%,那么需要傳送到的訂閱服務器的數(shù)據(jù)量過大也是不得不考慮的一個問題

            以發(fā)布服務器和分發(fā)服務器為中心的復制模式

            這種模式其實和上一種模式區(qū)別不大,只是分離了發(fā)布服務器和分發(fā)服務器,如圖2所示。

          圖2.以發(fā)布服務器和分發(fā)服務器為中心的復制模式

            這種模式是將分發(fā)任務對CPU,內(nèi)存和網(wǎng)絡帶來的負載轉移到另一臺分發(fā)服務器了。從而減輕發(fā)布服務器的壓力和支持更多的訂閱服務器。此外,我們知道一個分發(fā)服務器支持多個發(fā)布服務器的,因此也可以多個發(fā)布服務器使用一個分發(fā)服務器。

            這種模式還有一個好處是可以將分發(fā)服務器放到DMZ區(qū)域和訂閱服務器連接以避免發(fā)布服務器直接暴漏在外網(wǎng)。

            當然了,這種模式最重要的一點是發(fā)布服務器和分發(fā)服務器一定要有可靠的網(wǎng)絡連接,這種模式和圖1提到的第一種模式適用的業(yè)務場景基本一致。

            這種模式非常適合業(yè)務數(shù)據(jù)對等的環(huán)境,比如說這類業(yè)務場景,一個銷售公司在同一個城市有3個分店,這三個分店之間是對等的,它們之間通過復制來同步庫存。使得每個店都可以了解其它分店的庫存情況。這類業(yè)務場景適合使用多個發(fā)布服務器和多個訂閱服務器的復制模式。

            具有可更新訂閱的事務發(fā)布模式

            這種模式非常類似圖1中所說的模式,但這種模式允許訂閱服務器更新數(shù)據(jù)。如圖6所示。

          圖6.具有可更新訂閱事務的發(fā)布模式

            在這種模式下,比如訂閱服務器B更新了數(shù)據(jù),這個數(shù)據(jù)會傳送回發(fā)布服務器,如果發(fā)布服務器接收了這個數(shù)據(jù),那么這個數(shù)據(jù)會同時同步到其它訂閱服務器。

            合并發(fā)布模式

            合并發(fā)布模式適用于所有服務器共享一部分數(shù)據(jù)的場景,如圖7所示。

          圖7.合并發(fā)布模式

            這種模式下,每個服務器并不是互相訂閱,而是互相共享。這種模式同樣適用于圖5所述的業(yè)務模式。

            總結

            本文講述了復制的幾種模式以及它們的所適用的一些場景,很多更復雜的復制模式大多都是對以上幾種模式的組合或者拓展。理解上述簡單的復制模式是理解復雜復制模式的基礎。

          posted on 2012-07-11 09:29 順其自然EVO 閱讀(267) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫

          <2012年7月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 曲周县| 枣庄市| 阳山县| 温泉县| 连云港市| 河东区| 英吉沙县| 东方市| 故城县| 黄石市| 临泽县| 磴口县| 闽侯县| 晋州市| 克拉玛依市| 嘉兴市| 镇赉县| 东港市| 准格尔旗| 乐陵市| 凤台县| 嘉兴市| 通渭县| 盐亭县| 平远县| 福清市| 巴楚县| 平舆县| 泾源县| 喜德县| 新巴尔虎左旗| 漳浦县| 县级市| 黑山县| 太湖县| 会东县| 大理市| 涞水县| 沛县| 临沭县| 吉安市|