正如基於會話的客戶 / 服務器應用程序依賴網絡通信協議堆棧 (例如TCP/IP 或 Novell NetWare 的 SPX)一樣,基於消息的應用程序依賴消息服務 (例如,簡單郵件傳送協議 (SMTP), Microsoft 的消息傳遞 API(MAPI), Lotus 的與供應商無關的消息傳遞 (VIM) 或簡單的共享文件鏈接)。
消息服務使用存儲並存儲並轉發方法將每個消息傳遞到目的地:例如,電子郵件系統存儲消息,直至收件方打開其郵件文件夾閱讀郵件時為止,此時電子郵件系統轉發消息。
在消息系統之上建立復制系統,這意味著要將消息傳遞到目的地,基於消息的復制系統 (例如 SQL Remote)並不需要實施存儲並轉發系統。
與基於會話的客戶 / 服務器應用程序不實施自己的協議堆棧來在客戶和服務器間傳遞信息一樣, SQL Remote 使用現有的消息系統來傳遞消息。
有保證的收發
為了可靠地運行,基於消息的復制系統必須保證所有消息都能到達它們的目的地,並且按消息的發送順序應用消息。 SQL Remote 包含一個協議,用於保證按正確的順序應用復制更新。
基於連接的復制:Replication Server
某些復制技術依賴於數據庫之間的不間斷或至少接近不間斷的連接。兩個數據庫通過這種連接進行不間斷的對話。此類系統的優點是能夠快速復制更改。實際上,如果有充足的資源和通道容量,復制就能夠可靠地進行,而延遲時間不會超過幾秒。
復制服務器是接近實時的復制系統,主要用於少量數據庫之間的復制。它通常使用不間斷的和可靠的高速連接。它包含存儲並轉發技術,這種技術能夠在連接中斷又重建後自動繼續復制。
這類系統的主要缺點是,可靠的不間斷連接的維護費用很高。由於這種限制,基於連接的技術適用於兩個固定的大型數據庫之間的復制。如果環境中的遠程計算機是移動的或者只是不定時地進行連接,則基於消息或基於會話的技術可提供更靈活的解決方案。