Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » SQL Remote » SQL Remote 复制设计 » SQL Remote 简介

 

了解 SQL Remote 复制过程

使用 SQL Remote,消息总是双向发送。统一数据库将包含发布更新的消息发送到远程数据库,远程数据库也将更新的数据和收到确认消息发送到统一数据库。

SQL Remote 发布和预订模型。远程数据库和统一数据库都可以分别预订对方的发布。

在远程数据库用户修改数据时,他们进行的更改也被复制到统一数据库。当在统一数据库上应用这些更改时,这些更改即成为统一数据库发布的一部分,并被包括在发送到所有远程数据库(更新内容所来自的远程数据库除外)的更新中。利用这种方法,通过统一数据库实现远程数据库之间的复制。

例如,如果统一数据库上发布中的数据进行了更新,这些更新会被发送到远程数据库。即使远程数据库上的数据从未更新过,确认消息仍被发送回统一数据库,以跟踪复制的状态。

SQL Remote 复制中所涉及的组件的示意图。
♦  SQL Remote 复制过程所涉及的步骤
  1. 在每个参与复制的统一数据库和远程数据库上,都有管理复制的消息代理和事务日志。所有已提交的更改都被记录下来,并保存在事务日志中。

  2. 统一数据库上的消息代理将定期地扫描事务日志,并将所有已提交的对每个发布(数据部分)进行的事务打包成消息。然后,统一数据库的消息代理将相关的更改发送到预订这些发布的远程用户。消息代理使用消息传递系统发送更改。SQL Remote 支持 SMTP 电子邮件系统、FTP 和 FILE。

  3. 远程数据库上的消息代理接收由统一数据库发来的消息,并向统一数据库发送一个消息已收到的确认。然后,消息代理将事务应用到远程数据库。

  4. 远程用户可随时运行消息代理,将在远程数据库上进行的事务打包成消息,然后发回统一数据库。

  5. 统一站点上的消息代理会处理发自远程数据库的消息,并将事务应用到统一数据库。