解析配置SQL SERVER合并復(fù)制(一)概念介紹_Mssql數(shù)據(jù)庫教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:解析配置SQL SERVER合并復(fù)制(二)建立域用戶
      上一篇: 一步步教你配置SQL SERVER合并復(fù)制(一)概念介紹 接下來的篇幅,我將介紹如何構(gòu)建能夠滿足全世界最大的移動(dòng)行業(yè)應(yīng)用的同步系統(tǒng),你將會(huì)發(fā)現(xiàn)它可以當(dāng)成一個(gè)工具書一樣進(jìn)行使用而不僅僅是一個(gè)理論的練習(xí),我不會(huì)浪費(fèi)你們的時(shí)間僅僅去建立一些理論概

      Rob Tiffany's 曾經(jīng)在 MEDC 2007 Las Vegas 和 Tech Ed 2007 Orlando 演示了擁有800個(gè)訂閱的4層合并復(fù)制架構(gòu)。之后他開始編寫一本叫《Windows Mobile Data Synchronization with SQL Server 2005 and SQL Server Compact 3.1》的書,將構(gòu)建高性能、可伸縮性的合并復(fù)制架構(gòu)的寶貴經(jīng)驗(yàn)整理到書中,由于國內(nèi)關(guān)于這方面的詳細(xì)資料太少了,于是萌發(fā)將其翻譯出來的念頭。好了,閑話不多說了開始翻譯:

      前言:

      設(shè)備中擁有一個(gè)數(shù)據(jù)庫,服務(wù)器中擁有一個(gè)數(shù)據(jù)庫,讓設(shè)備中的數(shù)據(jù)能夠跟服務(wù)器的數(shù)據(jù)同步已成為行業(yè)移動(dòng)解決方案兩個(gè)重要的因素。服務(wù)器的數(shù)據(jù)庫存儲著所有的數(shù)據(jù),而它必須將 mobile中的應(yīng)用程序所需要的數(shù)據(jù)推送到mobile中的數(shù)據(jù)庫中去,同樣地,mobile中修改的數(shù)據(jù)也需返回到服務(wù)器中去。微軟的SQLSERVER提供了一種技術(shù)叫做合并復(fù)制,通過區(qū)域的網(wǎng)絡(luò),設(shè)備中已訂閱的數(shù)據(jù)庫將能通過復(fù)制的形式從服務(wù)器發(fā)布的數(shù)據(jù)庫中下載數(shù)據(jù),并能通過合并的方式將設(shè)備中對數(shù)據(jù)庫的更新,修改,插入提交回服務(wù)器發(fā)布的數(shù)據(jù)庫當(dāng)中去.

      這里,合并復(fù)制有個(gè)很好的功能就是,它只捕獲修改設(shè)備中修改過的數(shù)據(jù)并將其更新到數(shù)據(jù)庫當(dāng)中去,并且它在協(xié)調(diào)多個(gè)設(shè)備發(fā)回來的數(shù)據(jù)有著很好的性能.

      早在SQL SERVER CE1.0在2001年出來的時(shí)候,合并復(fù)制就成為一個(gè)很好的數(shù)據(jù)同步技術(shù),并且它支持winodws mobile設(shè)備.隨著互聯(lián)網(wǎng)標(biāo)準(zhǔn)的公布,SQL SERVER 開發(fā)團(tuán)隊(duì)讓移動(dòng)設(shè)備的數(shù)據(jù)與服務(wù)器的數(shù)據(jù)同步不僅僅只能通過局域網(wǎng),還可以通過無線網(wǎng)絡(luò),透過Http,wap等傳輸協(xié)議與服務(wù)器的數(shù)據(jù)進(jìn)行同步.隨著SQL Server CE支持合并復(fù)制,Windows Mobile 逐漸成為企業(yè)應(yīng)用的一個(gè)平臺,并且它支持Embedded Visual Basic,Embedded C++等開發(fā)工具和.NET Compact Framework框架,從2001到現(xiàn)在SQLSERVER也從2001升級至2005,馬上2008又要出來了,SQL SERVER CE也從1.0升級至3.1版本,隨著每一次的更新升級,數(shù)據(jù)同步技術(shù)變得更快,并且能更好地處理丟失的數(shù)據(jù).現(xiàn)在,合并復(fù)制代表著一種最高級的技術(shù),在這競爭日趨激烈的網(wǎng)絡(luò)中,沒有其他的數(shù)據(jù)同步解決方案能有像合并復(fù)制這樣的深度和性能.
      既然這樣,那我們在使用SQL Server CE數(shù)據(jù)同步的時(shí)候有其他選擇么?答案是肯定的.

      (1)在.NET Compact Framework下,我們可以使用ADO.NET直接與SQL SERVER 進(jìn)行連接,在局域網(wǎng)中,這或許是一種最佳的解決方案,但你能讓你的移動(dòng)設(shè)備時(shí)時(shí)刻刻都連接在局域網(wǎng)中嗎?
      (2)第二種方法是RDA,它像是合并復(fù)制的弟弟一樣,它在SQL SERVER端幾乎不用做任何配置,你只需寫代碼讓它用pull方法從數(shù)據(jù)庫中pull數(shù)據(jù),然后用push方法將數(shù)據(jù)push回去,但是它不根據(jù)服務(wù)器端數(shù)據(jù)的變化,因此每次你都得將全部數(shù)據(jù)pull過來,全部數(shù)據(jù)push回去.

      (3)第三種方法是使用webservice,你可以建立一個(gè)自定義的xml文件,將webservice中傳輸?shù)臄?shù)據(jù)序列化到DataSet當(dāng)中,然后將DataSet的數(shù)據(jù)寫入到XML文件當(dāng)中去,這種解決方案能夠解決前面兩種只針對SQL SERVER數(shù)據(jù)庫的,這種方法你還可以連接到其他類型的數(shù)據(jù)庫比如Orcacle or DB2,不過你所要做的工作是編寫數(shù)千行代碼來實(shí)現(xiàn)這個(gè),并且XML在處理大數(shù)據(jù)量時(shí)的效率并不盡如人意.



      情景:

      當(dāng)你意識到合并復(fù)制在你的SQL SERVER 數(shù)據(jù)與SQL SERVER CE同步的重要性時(shí),下面的這幾個(gè)案例或許能夠闡明這項(xiàng)技術(shù)能給你解決方案帶來的價(jià)值.
      (案例主要講解windows mobile在各個(gè)領(lǐng)域的應(yīng)用,以及合并復(fù)制在mobile的數(shù)據(jù)與服務(wù)器的數(shù)據(jù)同步時(shí)所起的作用,因?yàn)榘咐^多,由于時(shí)間的關(guān)系這邊就不一一翻譯了,個(gè)人認(rèn)為這些案例對我們的用處不大)

      了解這些概念:

      • Publisher:在SQL SERVER中通過Replication發(fā)布的數(shù)據(jù)庫
      • Article:Replication發(fā)布的數(shù)據(jù)表或子集
      • Publication:Article的集合
      • Distributor:指的是包含通過Replication發(fā)布的數(shù)據(jù)庫的服務(wù)器.
      • Subsciber:指的是運(yùn)行在windows mobile上的接受訂閱數(shù)據(jù)庫并將結(jié)果改變提交給publisher的數(shù)據(jù)庫
      • Subscription:指的是從Subscriber從服務(wù)器請求需要復(fù)制的數(shù)據(jù),這些復(fù)制的結(jié)果包括表及其集合將被下載并在SQL Mobile中創(chuàng)建,你可以獲取這些表的主鍵,關(guān)聯(lián),以及數(shù)據(jù)。第一次從Distributor下載的數(shù)據(jù)稱為快照,只需很少的內(nèi)存消耗就可以下載大量的數(shù)據(jù)到Windows Mobile模擬器上。
      • IIS:SQL MOBILE SERVER Agent,一個(gè)ISAPI、SQL Mobile Replication Provider以及SQL SERVER Reconciler集合在一起就是人們眾所周知的SQL MOBILE SERVER TOOLS,它集合在IIS上在設(shè)備和SQL SERVER提供一個(gè)Internet/Intranet通道.在下面的這張圖中,你就會(huì)發(fā)現(xiàn)Publisher,Distributor,IIS 和Subscriber是怎樣很好地結(jié)合在一起。你可能也注意到了下面的體系架構(gòu)中有幾個(gè)代理的任務(wù)很繁重,這個(gè)架構(gòu)或許跟你以前所見過的有所不同。

      上圖是單個(gè)設(shè)備請求時(shí)服務(wù)器所發(fā)生的一系列請求,而下圖將是本篇所要重點(diǎn)講述的如何取搭建企業(yè)應(yīng)用的合并復(fù)制的四層架構(gòu)。


      譯者注:圖圖很不錯(cuò)哦,認(rèn)真看肯定會(huì)有收獲的)

      下一步:一步步教你配置SQL SERVER合并復(fù)制(二)建立域用戶
       

      分享:配置SQL SERVER合并復(fù)制之(三)配置Distributor
      上一篇: 一步步教你配置SQL SERVER合并復(fù)制(二)建立域用戶 SQL Server Distributor 的一個(gè)職責(zé)是處理包含著發(fā)布的數(shù)據(jù)庫的內(nèi)容的一個(gè)快照文件夾,它賦予IIS從你建立的這個(gè)共享文件夾讀取文件的的通道.打開資源管理窗口,展開我的電腦,在C盤新建一個(gè)叫做

      來源:模板無憂//所屬分類:Mssql數(shù)據(jù)庫教程/更新時(shí)間:2010-06-01
      相關(guān)Mssql數(shù)據(jù)庫教程