在 Q 复制中将数据应用到目标

Q Apply 程序读取 Q 预订的包含已落实事务性数据的消息。 这些消息到达目标服务器的接收队列。 Q Apply 程序将这些消息转换为 SQL 并将事务应用到相关的目标表。

Q Apply 程序是一个多线程程序,它可以同时应用多个事务,只要那些事务不互相依赖。 如果事务互相依赖,那么 Q Apply 程序会以源服务器中落实这些事务的顺序应用这些事务。

Q Apply 程序可以在单个接收队列中接收大量 Q 预订的消息并以非常高的速率应用这些事务。 在大多数情况下,可以在一个源服务器和一个目标服务器之间使用单个复制队列映射,而不会有很长的等待时间。

可以为一对 Q Capture 和 Q Apply 程序配置多个复制队列映射。 如果源服务器中正在运行多个对独立表集进行更新的应用程序,那么您应该考虑定义多个复制队列映射,以允许并行传递并应用每个独立表集的数据。 Q Apply 程序将为每个接收队列创建一个多线程进程。

在大多数情况下,每个服务器上有一个 Q Apply 程序就足够了,即使对于要将大量事务复制到大量表的复制配置来说也是如此。 可以配置单个 Q Apply 程序来处理一个或多个接收队列。 如果有需要,那么您也可以在一个服务器上运行多个 Q Apply 程序,例如,您要求以不同于其他接收队列中处理数据的方式来处理一个或多个接收队列中的数据。

下图显示了 Q 复制中使用简单配置来应用数据的 Q Apply 程序。

图 1。 正在 Q 复制中应用数据。 Q Apply 程序从接收队列读取消息,将它们转换为 SQL,然后将数据应用到目标表。 Q Apply 程序会不断地用信息来更新其控制表,您可以使用此信息来监视其进度。
该图显示如何在 Q 复制中应用数据。