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 语句打包成消息,并将消息发送到预订者数据库。

在统一数据库上,事务日志中所有属于发布的已提交事务都会被定期发送到远程数据库。

在远程数据库上,事务日志中所有属于发布的已提交事务都会被定期发送到统一数据库。

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

SQL Anywhere 数据库服务器是计算发布并将信息写入事务日志的组件。发布越多,数据库服务器要做的工作就越多。

SQL Anywhere 为每次对表(属于发布的表)的更新计算预订表达式。它向事务日志中添加更新前后表达式的值。对于属于多个发布的表,在更新前后为每个发布都计算预订表达式。

事务日志中的额外信息可能在下列情况下影响性能:

  • 计算费时的表达式   如果计算预订表达式十分费时,则它可能会影响性能。

  • 多个发布   当一个表属于多个发布时,必须计算多个表达式。相反,预订 的数量与数据库服务器无关。

  • 多值表达式   一些表达式是多值的,这会导致事务日志中额外增加信息。这样会影响性能。

预订由 SQL Remote 处理

SQL Remote 是执行语句复制的组件。

在发送阶段,SQL Remote 消息代理将当前预订映射到事务日志中的发布信息并为每个远程用户生成相应的消息。请参见消息代理 (dbremote)

另请参见

复制 INSERT 和 DELETE 语句
复制 UPDATE 语句
复制过程
复制触发器
数据定义语句
数据类型