一個實用的復制系統必須考慮到以下的業務要求。
數據的高可靠性: 復制系統將使應用系統更加可靠,減少了計算機系統失敗給業務處理造成的影響。
信息傳遞的一致性: 分布系統各節點內保護數據的一致性。
高的系統性能: 復制系統必須在不增加數據源節點的負擔、有效使用網絡的前提下,允許每個節點優化本地數據的存取方式。
方便數據集中管理: 系統管理員能夠方便容易地管理分布與各節點的數據。
異構數據源訪問: 復制系統有能力在不同廠商提供的數據源之間移動傳遞數據,如sybase、oracle、ms sql等系統間數據的復制和同步。
本地自治: 每個節點能夠決定自己將接受的是哪些數據,以及訪問和更新本節點數據。
復制服務器的工作方式
在這節中我們將描述sybase復制服務器產品的各個部份及它們的功能。復制數據操作可以分為四個部分:
對一個或多個數據源改變數據事務的監測;
在網絡上傳送事務;
將事務分發給各個目標數據源;
復制系統管理。
在sybase復制服務器環境中,對源數據庫中數據的修改由一個稱為日志傳輸管理(log transfer manager 簡稱ltm)的進程來實現。最典型的結構中ltm與源數據庫放在同一個硬件平臺上。
ltm將log傳送給復制服務器進程,復制服務器進程可以在另一機器上。在一個復制系統中,若干復制服務器的配置,可以分布在不同的局域網上,根據復制系統的配置,改變數據的log從一個復制服務器傳送到其它復制服務器,最后由這些復制服務器將數據改變傳給目標數據庫。完整的數據復制操作進程可以由一個基于gui環境的復制服務器管理界面來管理和監控。因為在復制系統中使用了穩定隊列(stable queue),數據從源數據庫到目標數據庫的途徑中,能夠避免系統中任一部分失敗發生的數據丟失現象。穩定隊列是一個安全機制,容錯環境失敗。
日志傳輸管理
sybase復制服務器產品有一部分為log transfer manager(ltm).ltm是一個低調度進程,最典型的配置方法是將ltm運行在與源數據庫相同的平臺上。如果復制系統中將有多于一個節點的源數據被修改,則需要每個節點有一個ltm。
ltm的任務是監視并捕獲與它相聯數據庫的事務,而且將這些事務傳送給復制服務器,以便復制服務器將事務再傳給其它的復制節點。
ltm有一個聯接到sql server,讀取主sql server的事務日志,監測它是否改變了主節點數據。事務日志是用來觀察主節點數據變化的最好的信息來源,因為它包含已經提交給server的事務,可用來恢復事務。在圖六中,當某應用程序修改了主節點數據時,這個事務被記在事務日志中,以保證數據一致性,當提交時數據改變寫入磁盤。復制進程不干涉數據庫功能,只是ltm在監測sql server中的事務,當發現某個事務應該被復制時,將它傳送給sybase復制服務器。
ltm進程,是一個由sybase open server/open client編寫的應用程序,并有一個聯接到sybase復制服務器。這個進程可以駐留在單獨的機器上。正是由于sybase復制服務器進程可以運行在與主數據源不同的機器上,才使用戶將復制系統對主數據庫施加的負擔降低到最小限度。
ltm進程可以將獨立于主數據源命令的事務翻譯給復制服務器。例如,一個事務中完成的是“update”,ltm將把事務傳送給復制服務器并且給予解釋,翻譯成主節點完成的update命令。這個源數據庫事務到復制服務器翻譯或映射所認識的命令的機制是sybase復制服務器技術的一個重要策略。從ltm到復制服務器的界面對用戶來說是可見的。也就是說,如果你能獲得數據源的事務,就可以將它映射到sybase復制系統環境并且復制它。與其它競爭廠家產品不同,sybase復制技術允許建立應用程序來復制異構數據源。
數據在局域網和廣域網上的傳送
現在讓我們來看,當信息從ltm傳送到與之相聯的復制服務器之后,又發生了什么?如果當數據與復制數據在不同的局域網上,那么復制進程將要把數據從主數據庫的復制服務器傳送到負責復制節點數據庫的復制服務器。請注意,如果主節點與復制節點同在一個局域網上,那么可以省掉第二個復制服務器。在單一局域網復制環境中,一個復制服務器可以完成接受ltm數據并傳送到復制節點兩項任務。
在多局域網環境中,不同sybase復制服務器之間路由可以是直接的,不需要中間節點。也可以是間接的。在主復制服務器與從復制服務器之間有中間傳送節點。這些直接的或間接的路由是由系統管理員來配置的,允許系統管理員根據網絡限制及應用程序傳送數據的需要,有效地使用整個系統環境。在直接的及間接的配置狀態中,可用復制服務器管理軟件監視路由上傳遞的信息。
數據到達復制節點
在上兩個標題中我們已看到ltm進程與服務器進程是如何協同工作的,將事務從主節點數據庫送過網絡到達目標節點,F在來看復制過程最后處理程序,復制服務器怎樣把數據送到目標數據庫。
sybase復制服務器是由基于sybase open server/open client的應用程序。在復制的最后過程,復制服務器在目標數據庫上建立一個聯接,將從主數據庫接收到的數據寫入復制數據庫。同樣,復制節點可以是非sybase數據系統。
sybase復制服務器以標準客戶/服務器聯接方式連到目標數據庫。并有足夠的權限修改目標數據庫。下面我們可以看到復制服務器怎樣知道傳送哪些事務,傳送到什么地方。包含復制數據的節點要向復制系統訂購它所需要的數據。至于訂購單信息被存在與之相關的sybase復制服務器數據字典中。每個復制服務器有一個相應的數據字典。簡稱rssd,用來存貯復制系統信息。
因為sybase復制服務器僅是簡單地象其客戶程序一樣把事務傳送到目標數據源,可以是非sybase數據源。用戶可以使用sybase omni-gateway,讓復制服務器聯接到第三方數據源,使復制服務器認為復制節點就是sybase,從復制服務器到目標數據源之間傳送數據不需做任何形式變化。
復制系統配置和管理工具
replication server manager(rsm)是一個功能性很強的系統管理工具,使我們能成功地實現和管理分布復制環境。sybase正是認識到這一點,設計復制服務器的同時也設計了復制服務器管理程序。 rsm提供一個圖形用戶界面,使用戶僅從一個圖形操作界面便能使系統管理員監控管理復制系統的每個部分。rsm是sybase企業客戶/服務器系統管理工具家庭成員之一,提供基于對象的管理方式。
rsm幫助系統管理員建立復制數據定單,接收復制的數據,指定這些數據復制到某個節點。定單上定義復制節點將從主節點訂購哪些記錄行。
使用rsm代替了復雜的復制服務器sql命令,僅需用易于使用的填空方式便可建立復制系統定義,可用性非常好。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/