程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase綜合文章 >> Sybase系統的數據同步與復制問題

Sybase系統的數據同步與復制問題

編輯:SyBase綜合文章

sybase復制服務器(Sybase replication server)用來滿足日益發展的企業客戶/服務器計算機環境的需要。自從復制服務器被廣泛應用以來,已成為企業范圍內客戶/服務器應用模式的基礎。

一個實用的復制系統必須考慮到以下的業務要求。

數據的高可靠性: 復制系統將使應用系統更加可靠,減少了計算機系統失敗給業務處理造成的影響。

信息傳遞的一致性: 分布系統各節點內保護數據的一致性。

高的系統性能: 復制系統必須在不增加數據源節點的負擔、有效使用網絡的前提下,允許每個節點優化本地數據的存取方式。

方便數據集中管理: 系統管理員能夠方便容易地管理分布與各節點的數據。

異構數據源訪問: 復制系統有能力在不同廠商提供的數據源之間移動傳遞數據,如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進程與服務器進程是如何協同工作的,將事務從主節點數據庫送過網絡到達目標節點。現在來看復制過程最後處理程序,復制服務器怎樣把數據送到目標數據庫。

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命令,僅需用易於使用的填空方式便可建立復制系統定義,可用性非常好。

穩定隊列:

Sybase復制系統的設計模式,允許復制系統中的網絡或者任意部分在短暫失敗之後,能快速而簡便地重新達到數據同步,這種配置能保護復制系統不受環境失敗的影響,在其中擔當主要任務的是穩定磁盤隊列。

在復制環境中,事務從復制系統的一個部分傳送到另一部分(例如,從ltm傳送到Sybase復制服務器,或者從某一復制服務器傳送到另外一個復制服務器),在傳輸的中間環節,事務均可以被暫時存放在磁盤上,避免某一部分失敗引發的數據丟失。當復制環境恢復到正常狀態時,復制服務器能自動將磁盤隊列中數據傳送到目標節點。存放數據隊列的磁盤分區的大小則可以動態調整。

修改復制數據(分布修改)

一般情況下,復制節點數據跟隨主節點而變化。如果用戶希望直接修改復制節點數據又會怎樣呢?Sybase復制服務器如何來保證協同環境下的數據一致性?

在Sybase復制服務器環境中,修改復制節點數據有以下兩種方法:

異步復制:節點之間傳輸存貯過程調用;

同步復制:直接連接到各節點,修改每一個節點數據。

在任何系統中,任何時刻,每個數據項都必須有一個明確的主節點來控制它。也就是說,每個數據項在分布式環境中在某一節點是唯一標准的,其它網絡節點只存放主節點數據的拷貝。update操作可以發生在任何節點上,但在系統環境中只有主節點唯一能真正完成update。

數據項之間的關系是相當重要的,在任意一個update節點,其數據也屬於其他節點,一個成功的系統,其生命周期的很多時間花費在解決這樣的數據沖突問題上。另外,還有系統備份與恢復,在復雜的數據關系下也不是件容易的事情。設計一個良好的系統環境,在應用系統中變得十分重要。

Sybase復制服務器是數據復制與同步可以采用的最佳解決方案

在上部分我們介紹過數據復制的概念,並介紹過sybase復制服務器是如何工作的及復制環境的幾個實例。現在我們來探討Sybase復制服務器究竟有哪些優點,使它在同類產品市場上占居絕對的主導地位。

Sybase復制服務器的優點——高性能

高性能主要體現在數據復制過程的三個方面

高效的事務捕俘;

高效事務傳輸;

高效的數據訪問。

高效事務捕俘——不依賴於觸發器和規則

構成sybase復制服務器的每個部分並未采用數據庫系統的特性及功能。復制服務器的工作模式是專門為復制而設計的技術。sybase復制服務器的組件ltm是完全獨立於源數據庫而工作的。Sybase復制服務並設有使用數據庫觸發器及規則,因此也不增加源數據庫的負擔。

在一個基於觸發的過程中,如果改變了源數據將觸發一個數據庫中的警報,這個警報將激活一段源數據庫中定義的一段指定的復制代碼,從而開始一個復制過程。一個基於觸發或規則的復制系統是與源數據庫中操作密切相關的。代碼段必須在源數據庫中執行,以便觸發一個復制處理過程。因此,觸發或規則給源數據節點增加了不必要的負擔,造成性能下降。而且觸發和規則必須嚴密監控,當源數據被修改之後,管理員必須跟蹤每個警報以免遺漏。當然,觸發和規則用於在源數據庫中維護數據一致性,或加強業務規則,其給性能和管理帶來的開銷是可以理解的,也是有價值的。

相反,Sybase復制服務器提供一種機制,復制系統是獨立的,不會給主數據源造成負擔,也不會給主數據庫管理員增加過多的責任。

高性能事務傳遞

Sybase復制服務器允許管理員選擇網上傳送數據的路由,從而更加有效地使用網絡。路由可以是直接的,也可以是間接的。直接路由線路較短,數據可以較快地到達目的地,而間接路由則提供給管理員更大的靈活性。帶有中間節點的路由給系統提供很大優越性:

縮減網絡大小。

信息傳送到中轉節點後,可以蔓延到所有下級節點。間接路由減少了網絡連接數量。

復制服務器環境中靈活地分布處理過程

利用間接路由,一些相關的復制定義共享Sybase復制服務器。

正是因為間接路由的存在,允許系統管理員在網絡失敗的特殊情況下,轉換其它途徑傳遞信息。

高效數據存取

sybase復制系統將數據傳送給sybase服務器或其它非sybase服務器。每個節點配備怎樣的數據源只需與本地需求一致。Sybase復制系統不限制每個遠程節點對本地應用的設計與規劃,也不會干涉本地數據存取方式的優化選擇,數據庫索引設計或者數據在磁盤上分布。

Sybase復制服務器優點——一致信息傳送

sybase復制服務器在環境中傳遞事務,而不是傳遞數據行,因此在復制系統內數據的事務性一致得到保障。sybase復制服務器采用的事務性一致技術不同於早期的復制技術,例如表快照。此外,它也不象基於觸發器和規則的復制系統,sybase復制服務器傳遞事務本身,而不是傳送數據行的改變。由於Sybase復制服務器傳遞事務,它也能夠傳遞存貯過程,因而提供了一個有效的方法復制異步遠程存貯過程完成復制節點對數據的修改。

Sybase復制服務器簡單的集中管理

Sybase復制服務器產品中包括一個強有力的系統管理工具replication server manager(rsm)。rsm圖形化的用戶界面使系統管理員從一個簡單的桌面系統便能管理復制系統中的每一個對象,或者幾個對象的集合。rsm幫助系統管理員檢查復制系統中各組件的狀態,監控它們的性能,rsm基於對象界面的特性使系統管理員避開網絡配置細節,不用考慮資源的實際位置,僅在一個桌面平台上便可以管理所有的系統資源。

復制服務器管理還有一些屏幕可以監控網絡聯接的狀態及性能、空間分配、穩定隊列使用情況和復制定義配置。

在市場上沒有其他的復制產品包含象復制服務器管理這樣的功能強大而且高效的系統管理工具,這個產品證實了Sybase讓企業范圍客戶/服務器環境下分布系統管理簡單高效的承諾。

Sybase復制服務器優點——高效數據可用性

以上所述Sybase復制產品的優點簡化了日復一日的復制系統操作,使之易於管理,確保整個企業范圍內協調數據的高度可用性。

系統失敗之後,數據重新自動同步,當復制環境失敗之後,正處於向復制節點傳送的事務被臨時存放在磁盤的穩定隊列。在系統恢復之後,隊列中的數據重新恢復原來路徑傳送到復制節點。復制數據也因此能夠重新同步。

協調數據庫備份,易於系統恢復,在分布環境中備份和重新裝載數據庫是麻煩的,而且難免疏忽造成的信息不一致。為簡化備份過程,在復制環境下,Sybase提供一種機制,即用復制系統來達到數據庫備份。

通過批量拷貝重建復制節點,當第一次建立復制節點或者重建復制節點時,有可能沒有初始化跨越網絡的數據庫的復制數據,即主節點與復制節點沒有達到完全一致。Sybase復制服務器允許系統管理員輸出主節點數據到磁帶然後再從磁帶裝載到復制節點。當數據從磁帶裝載到復制節點之後,基於網絡的復制系統恢復正常復制而不丟失數據。

數據鏡像,Sybase在復制環境下,有另外一個優點-數據鏡像。在復制服務器最良可用程度下,包含主數據節點能被鏡像到磁盤上。

Sybase復制服務器優點——異構一致

sybase復制服務器允許非Sybase數據源加入復制環境。在其中,異構數據源不僅能充當目標節點,接受復制的數據及存貯過程,而且能充當主節點。

用戶能夠使用open server/open clIEnt技術定制特殊的事務傳送管理(ltm)從非sybase數據源復制數據。sybase提供訪問和復制非sybase數據所必需的工具。訪問非Sybase數據庫尤其對那些有遺留系統的用戶非常重要。利用Sybase復制服務器提供的開放系統技術能復制以前遺留系統的數據,不會因為采納了新的軟件系統而使以前成功的應用系統受到威脅。

Sybase復制服務器優點——本地自治

sybase復制系統傳遞事務到sybase或非Sybase數據源。總之,每個節點保留完全自治決定怎樣去訪問,怎樣去使用復制節點的數據,每個節點有權力做以下選擇:

選擇接受或訪問某個主數據集合(或完全集合);

設置在本地的表名和列名;

優化本地數據訪問方式;

修改數據,使用異步遠程存貯過程,或同步地直接聯接到主節點,使主節點與復制節點保持一致。

總之,Sybase復制服務器奠定了企業客戶/服務器應用中數據分布的基礎,解決了分布操作和分布數據中高效數據可用性 、一致信息傳遞、高性能 、簡單集中管理 、異構數據存取 、本地自治等問題。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved