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

SQL Anywhere 12.0.1 » SQL Remote » SQL Remote システム

 

SQL Remote レプリケーションプロセス

SQL Remote では、メッセージは常に双方向に送信されます。統合データベースは、パブリケーションの更新を含むメッセージをリモートデータベースに送信します。リモートデータベースは、更新されたデータと受信確認メッセージを統合データベースに送信します。

SQL Remote はモデルをパブリッシュし、サブスクライブします。リモートデータベースと統合データベースは、相手のパブリケーションに対してそれぞれサブスクライブします。

リモートデータベースユーザーがデータを修正すると、その変更内容が統合データベースにレプリケートされます。この変更が統合データベースで適用されると、変更は統合データベースのパブリケーションに取り込まれ、(更新元のデータベースを除く) すべてのリモートデータベースに送信される更新内容に追加されます。このように、リモートデータベース間でのレプリケーションは、統合データベースを経由して行われます。

たとえば、統合データベースのパブリケーション内でデータが更新されると、更新内容がリモートデータベースに送信されます。リモートデータベースでデータが更新されていない場合でも、レプリケーションのステータスを把握するために、確認メッセージが統合データベースに送信されます。

SQL Remote レプリケーションに含まれるコンポーネントの説明図。
 ♦ SQL Remote レプリケーションプロセスに関連する手順
  1. レプリケーションに関係する統合データベースとリモートデータベースごとに、Message Agent とレプリケーションを管理するトランザクションログが存在します。コミットされたすべての変更は、トランザクションログに記録されて保存されます。

  2. 統合データベースの SQL Remote Message Agent では、トランザクションログを定期的にスキャンして、各パブリケーション (データのセクション) に対して行われたすべてのコミット済みトランザクションをメッセージにパッケージします。次に、統合データベースの SQL Remote Message Agent は、そのパブリケーションに対してサブスクライブされているリモートユーザーに、関連する変更を送信します。SQL Remote Message Agent が変更内容を送信するときは、メッセージングシステムを使用します。SQL Remote では、SMTP 電子メールシステム、FTP、FILE をサポートしています。

  3. リモートデータベースの SQL Remote Message Agent は、統合データベースから送信されたメッセージを受信し、メッセージの送信元である統合データベースに確認メッセージを送信します。次に、SQL Remote Message Agent はトランザクションをリモートデータベースに適用します。

  4. リモートユーザーは、いつでも SQL Remote Message Agent を実行して、リモートデータベースで行われたトランザクションをメッセージにパッケージし、統合データベースにそのメッセージを送信できます。

  5. 統合サイトの SQL Remote Message Agent は、リモートデータベースからのメッセージを処理し、そのトランザクションを統合データベースに適用します。

 参照