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 Anywhere 11 - 紹介 » SQL Anywhere 11 の概要 » データ交換テクノロジの概要 » 同期テクノロジの比較 » 伝達方法

 

同期テクノロジの選択

SQL Anywhere の各同期テクノロジは、特定のアプリケーションに向いています。以下の説明によって各テクノロジの違いが理解できるので、自分が利用するのに最適なテクノロジを選択できます。

以下の要素のうち、どれが自分のアプリケーションに重要かを検討してください。

統合データベース・システム

通常の同期環境では、大規模なデータベースは情報の中央レポジトリとして働きます。ニーズに応じたデータベース・システムを選べる場合もありますが、すでに中央データベースがあり、それと連携するように同期システムを調整しなければならない場合もあります。

SQL Anywhere、Sybase Adaptive Server Enterprise、Oracle、Microsoft SQL Server、IBM DB2 など、一般的に使われている多くのデータベース・サーバで、Mobile Link を使用できます。.NET と Java 用の Mobile Link サーバ API を使用して、アプリケーション・サーバ、Web サーバ、テキスト・ファイル、その他のデータベース製品など、任意のデータ・ソースと同期できます。

SQL Remote システムでは、中央データベースは SQL Anywhere である必要があります。

リモート・データベース・システム

また、SQL Anywhere の同期テクノロジでは、サポート可能なリモート・データベースの種類が異なります。

Mobile Link では、SQL Anywhere データベースと Ultra Light データベースをリモート・データベースとして使用できます。

SQL Remote では SQL Anywhere リモート・データベースを使用できます。

ネットワークの特徴

Mobile Link と SQL Remote は両方とも随時接続を行う環境、つまり、リモート・サイトが独立して数時間または数日間稼働する必要がある環境に適しています。しかし、ネットワークに接続できればもっと頻繁に同期することもできます。

Mobile Link はセッション・ベースです。同期中は、リアルタイム接続が必要です。この接続が中断されて同期が完了しなかった場合は、次の同期までプロセスは完了しません。しかし、SQL Remote では、非同期で送受信できるメッセージを通じて情報をリレーします。メッセージは、ファイルとしてハード・ディスク上に残すことも、電子メール・メッセージとして処理することもできます。これらのメッセージは受信されるといつでも処理されるので、同期が頻繁に発生するようになります。

同期の頻度

状況によっては、情報を即座にレプリケートする必要があります。早急な処理が必要ない場合、同期は 1 日に 1 回か 2 回で十分です。実際、ネットワーク接続ができなければ、それ以上頻繁には同期はできません。

Mobile Link と SQL Remote はどちらも、数時間または数日に 1 回程度の頻度で同期が発生する状況を基本的に想定して設計されていますが、数秒に 1 度の頻度で同期するのに使用することもできます。

リモート・サイトの数

Mobile Link と SQL Remote は、どちらも多数のリモート・ユーザがいる環境でも問題なく動作します。Mobile Link のスケーラビリティは、統合データベース管理システムのスケーラビリティによる制限しか受けません。SQL Remote はメッセージベースで設計されているので、通常のインストール環境であれば数千人のリモート・ユーザを処理できます。

必ずしもこの数をすべてのシステムにおいて、リモート・サイトの最大数として制限する必要はありません。実際のサイト数は、レプリケートされる情報の量、同期の頻度、アプリケーションの設計内容によって異なります。

トランザクションの順序

デフォルトでは、Mobile Link は、リモート・データベースで行われた複数のトランザクションの結果を 1 セットの変更データにまとめて、それを統合データベースに適用します。トランザクションの順序を維持したり、個別にアップロードするように選択することもできます。どちらの場合も同期は常にトランザクション境界で発生するので、参照の整合性は保たれます。コミットされていないデータは絶対に同期されないので、データの整合性は保たれます。

SQL Remote は、トランザクション・ログのスキャンと、各トランザクションのために適切なメッセージを準備することによって、データをレプリケートします。それらのメッセージは順序付けされ、リモート・サイトまたは統合サイトに送信されます。SQL Remote が受信メッセージを処理する場合、別のデータベースに適用されたメッセージ順と常に同じ順序で処理します。必要な場合は、先に送信したメッセージがすべて適用されるまで、メッセージの処理を自動的に遅らせます。

特定時点におけるデータの一貫性の実現

Mobile Link の各同期セッションの直後、2 つのデータベースのデータは一貫性が保たれています。リモート・サイトの特定時点におけるデータの一貫性を保証する機能が、Mobile Link のセッションベースでの同期の長所です。特定の時点 (たとえば午前 10 時) において、リモート・サイトのデータが統合データベースのデータを正確に反映している必要がある場合は、10 時直前に同期するように設定することによって目的が達成されます。同期が正しく行われているかぎり、リモート・サイトにおけるデータの有効性は保証されます。

メッセージの交換によってデータへの変更がレプリケートされる場合、特定リモート・サイトのデータが統合サイトのデータと完全に一貫性を保っていることを任意の時点で保証するのは困難です。たとえば、送信中にメッセージが失われることがあります。SQL Remote は、この障害を自動的に認識してメッセージを再送しますが、このような割り込みによって予想外の遅延が生じます。