エンタープライズデータの統合

概要

このホワイトペーパーでは、メッセージ・ベースの同期とセッション・ベースの同期の違いと、これらの方法がSQL RemoteおよびMobiLinkテクノロジでどのように採用されているかを説明します。SQL RemoteおよびMobiLinkは、SQL Anywhere Studioに含まれています。SQL Anywhere Studioは代表的なモバイル・データベース・テクノロジで、重要な情報をワークグループ、モバイル、埋め込みデータベース・システムに配信することができます。SQL RemoteとMobiLinkのいずれのテクノロジでもデータベース間での双方向のデータ更新が可能ですが、それぞれに特定の状況に適した固有の機能があります。このホワイトペーパーでは、環境に最適な同期方法を選択できるように、SQL RemoteとMobiLinkがどのようなソリューションに適しているかを説明します。

内容

企業のデータを配信する理由
メッセージ・ベースの同期およびセッション・ベースの同期の概要
同期製品
SQL Remote の同期の概要
Mobile Link の同期の概要
SQL Remote の利点
Mobile Link の利点
表: SQL Remote およびMobile Link の機能

企業のデータを配信する理由

ここでは、具体的な例で説明します。

数百の拠点を持つ大規模な小売業者が、財務情報をエンタープライズ全体でレポートするシステムを効率的に管理する方法を必要としています。この業者は、煩雑で時間のかかる紙の書類での作業の代わりに、在庫、受注、精算、価格の情報を更新し、すべての拠点でこの情報を共有できる、双方向の自動電子レポート処理の開発を計画しています。これを実現するため、双方向の同期機能を持つデータベース・システムをインストールします。このテクノロジにより、離れた場所にいる従業員が、本社の統合データベース内の関連データにアクセスすることができます。従業員は、財務情報を必要に応じて変更し、変更したデータをエンタープライズ全体で同期します。本社で行われた変更も、すべての拠点で1日に数回同期されるため、正確で効率的な財務レポート統計が実現されます。

この同期テクノロジを使用することで、正確な最新の情報をエンタープライズ全体に配信することができ、最も離れた拠点でも他のすべての拠点と同一のデータを利用することができます。

この例から、データ配信および同期には以下のような利点があることがわかります。

  • 企業データにアクセスしやすくなる
  • ローカルでアクセスできるため、従業員の生産性が向上する
  • データにローカルでアクセスできるため、ネットワークの使用時間が減少し、システムの応答時間が短縮され接続コストを削減できる

メッセージ・ベースの同期およびセッション・ベースの同期の概要

同期は、複数のデータベースでの変更を記録し、すべてのデータベースに最新の情報が格納されるように調整するトランザクション・ベースのプロセスです。同期は、複数のデータベースを一致させ、両方のデータベースに同一の最新情報が含まれるようにするときに行います。以下では、メッセージ・ベースとセッション・ベースの2 種類の同期方法について説明します。

メッセージ・ベースの同期

メッセージ・ベース(” ストア・フォアード” とも呼びます) のテクノロジでは、リモート・コンピュータと統合データベースの間の直接接続が不要です。この同期では、電子メールなどのメッセージング・システムを使用して、変更されたデータを相手に転送します。メッセージ・ベースのテクノロジでは、接続可能な場所であればどこからでもデータを変更し、電子メール等を使用してその変更をメイン・データベースに適用することができます。

メッセージ・ベース(” ストア・フォアード” とも呼びます) のテクノロジでは、リモート・コンピュータと統合データベースの間の直接接続が不要です。この同期では、電子メールなどのメッセージング・システムを使用して、変更されたデータを相手に転送します。メッセージ・ベースのテクノロジでは、接続可能な場所であればどこからでもデータを変更し、電子メール等を使用してその変更をメイン・データベースに適用することができます。

メッセージ・ベースの同期の主な利点としては、ユーザはネットワークに接続しなくてもデータをレプリケートできるということがあげられます。データの更新時に作成したメッセージは、リモート・コンピュータのハード・ドライブやフロッピー・ディスクに保存しておき、メッセージ・システムに接続できるときに使用することができます。データの変更を含むメッセージをメッセージ・システムを介しアップロードおよびダウンロードすることで、同期が実行されます。このメッセージ・ベースの同期方法を使用することで、ユーザは随時メッセージング・システムに接続するだけで、どこでも業務を行うことができます。したがって、この方法は通信システムが常時利用できない環境に最適です。メッセージ・ベースの同期を使用すれば、接続を利用できない離れた場所にいるユーザがメッセージをディスクに保存し、接続可能な場所に宅配便などで送付することができます。メッセージ・ベースの同期は、ネットワークへの直接接続を必要としないため、外部からの直接接続を許可していない企業にも適しています。

セッション・ベースの同期

セッション・ベースの同期は、メッセージ・ベースの同期とは異なり、リモート・データベースがTCP/IP などで直接統合データベースに接続します。リモート・データベースは、接続のプールを作成し、同期セッションがクローズされるまでそのプールを保持します。セッション・ベースの同期では、リモート・ユーザがリモート・サイトでデータの操作および変更を行い、随時企業のネットワークに接続して、データをネットワーク全体で一致させます。

リモート・データベースは統合データベースに接続されるため、同期セッションの終了時には、統合データベース、リモート・データベースの情報が共に最新のものになります。このため、セッション・ベースの同期は、同期した際にリモート・データベースの情報を最新のものにする必要がある企業に適しています。

同期製品

SQL Anywhere 製品には、メッセージ・ベースのシステムである SQL Remote と、セッション・ベースのシステムであるMobile Link の2 種類の同期テクノロジが含まれています。これらの2 つのテクノロジにより、環境に最適なソリューションを柔軟に選択することができます。

SQL Remote の概要

SQL Remote は、メッセージ・ベースの同期を使用してデータベースを更新します。SQL Remote は、SQL Anywhere のリモート・データベースおよびSQL Anywhere またはAdaptive Server Enterprise (ASE) の統合データベースに接続し、同期を実行します。SQL Remote の同期テクノロジは、簡単に管理作業を実行できるように設計されていて、すべての保守および管理機能を統合データベースで実行します。これにより、さまざまなデータベースを使用する多数のモバイル・データベースを管理することができます。各リモート・データベースを個別に管理する必要はありません。また、エンド・ユーザがSQL Remote の処理を考慮する必要はありません。

SQL Remote では、同期を効率的に実行するために、メモリを有効に使用します。このため、新しいハードウェアを大量に追加する必要がなく、SQL Remote を既存のリモート・コンピュータで使用することができます。したがって、メモリ容量の少ないリモート・コンピュータとも同期を行うことが可能です。統合データベースとリモート・ユーザの間では、直接関連するデータだけがレプリケートされます。

ユーザは、” 出版(パブリッシュ) および購読(サブスクライブ) ” プロセスを使用して企業のデータにアクセスします。すべてのデータは、統合データベースのサイトでパブリケーションとして整理されます。パブリケーションは、アーティクル( データ・テーブルのコンテンツまたはコンテンツのサブセット) で構成されます。統合データベースの管理者は、リモート・ユーザが業務で必要とするパブリケーションのサブスクリプションを作成します。

データの同一のロー、カラムが複数のサイトで更新されると、競合が発生することがあります。SQL Remote は、競合解決用のトリガを使用してこれを解決し、企業全体でのデータの整合性を確保します。データの” マスタ” コピーは統合データベースに格納されるため、すべての競合の解決は統合データベースのサイトで実行されます。

SQL Remote の同期プロセス

SQL Remote の同期プロセスの概要は、以下のとおりです。

  1. 統合データベースとリモート・データベースのいずれでも、同期を行うデータベースごとに、同期を管理するメッセージ・エージェントおよびトランザクション・ログがあります。トランザクション・ログは、コミットされたすべてのデータ変更を記録および保存します。
  2. 統合データベース側のメッセージ・エージェントは、定期的にトランザクション・ログをスキャンし、コミットされた各パブリケーション( データのセクション) のトランザクションをすべてメッセージにパッケージ化し、関係する変更をそのパブリケーションを購読しているリモート・ユーザに送信します。メッセージ・エージェントは、メッセージング・システムを使用して、これらの変更を送信します。SQL Remote は、FTP、MAPI、VIM、SMTP、ファイル共有をサポートしています。
  3. リモート・サイト側のメッセージ・エージェントは、統合データベースから送信されたメッセージを受信し、トランザクションをリモート・データベースに適用します。
  4. リモート・ユーザは、いつでもメッセージ・エージェントを実行して、リモート・サイトでのトランザクションをメッセージにパッケージ化し、統合データベースに返送することができます。
  5. 統合データベースのサイト側のメッセージ・エージェントは、リモート・サイトからのメッセージを処理し、トランザクションを統合データベースに適用します。

Mobile Link の概要

Mobile Link は、 セッション・ベースの同期テクノロジです。これを使用して、リモート・ユーザはシームレスにデータをエンタープライズの主要データベースと同期させることができます。Mobile Link の同期ロジックは、リモートおよびハンドヘルドのアプリケーションに組み込まれており、データベースの変更を記録します。

Mobile Link の同期では、ODBC(Open Database Connectivity) を使用して、統合データベースの更新およびクエリを実行します。これにより、ユーザはリモート・データベースをSybase 、Oracle、Microsoft、IBM などの統合データベースと同期させることができます。リモート・データベースとの同期を実行するため、Mobile Link はUltraLite リモート・データベースに接続します。Mobile Link は、リモート・データベースとの同期のため、最後に同期を実行したときからの変更を自動的に記録してアップロードします。統合データベースでは、Mobile Link は統合データベースのネイティブSQL で記述されたSQL スクリプトを使用し、統合データベースからダウンロードするデータを特定します。

データベース内の情報の変更頻度に応じて、さまざまな同期手法を使用することができます。タイムスタンプ・ベースの手法は、最後の同期以降に変更されたレコードだけを同期します。この手法は、データがほとんど変更されない場合に使用します。スナップショット手法は、データベースの同期ごとにすべてのデータを同期します。この手法は、データが毎日変更される企業に最適です。データベース内のテーブルごとに、異なる手法を使用して同期を実行することができます。

データの競合を解決するため、Mobile Link は変更されたすべてのデータを既存の情報と比較することができます。競合が発生した場合は、”resolve conflict” スクリプトを実行して、定義済みのビジネス・ルールを使用し、どの情報が正しいかを決定し、そのデータをデータベースに更新します。

Mobile Link の同期プロセス

1009526_sr_ml2

Mobile Link を使用したセッション・ベースの同期は、大まかに分けて4 つの手順で実行されます。

  1. リモート・アプリケーションは、最後のデータベース同期以降に更新、挿入、削除されたすべてのデータ・ローのリストを含むアップロード・ストリームを作成して、同期サーバに送信します。
  2. 同期サーバは、データ変更を含むダウンロード・ストリームを作成して、統合データベースからリモート・アプリケーションに送信します。
  3. リモート・アプリケーションは、データが変更されたことを確認するメッセージを同期サーバに送信します。このトランザクションは、統合データベースに記録されます。
  4. 同期サーバは、同期が完了したことを示すメッセージをリモート・アプリケーションに送信します。アプリケーションは、このメッセージを受信し、サーバへの接続を切断します。

SQL Remote の同期の利点

ネットワーク・セキュリティ

SQL Remote では、メッセージを暗号化し、サポートするさまざまなメッセージ・システム( ファイル共有、FTP、MAPI、VIM、SMTP) 上で転送することができます。また、カスタムの暗号化システムを使用することもできます。これにより、自社でのみ処理できるメッセージをSQL Remote で使用し、セキュリティを確保することができます。

要求されるセキュリティ・レベルによっては、外部から自社ネットワークへのリモート・アクセス( つまりTCP/IP による直接接続) を禁止している企業もあります。SQL Remote では、メッセージ・ベースの同期システムを使用することで、このようなセキュリティ問題を解決します。SQL Remote では、メイン・ネットワークの外部の” 準備” エリアでメッセージを作成することができます。企業のネットワーク管理者は、メッセージをメイン・ネットワークにいつ移動するかを完全に管理することができます。このため、企業のネットワークのセキュリティを確保しながら、双方向のデータ同期も可能になっています。

トランザクション順序の保持

SQL Remote テクノロジでは、統合データベースでの変更のレプリケート順序が保持されます。一部のデータベース・アプリケーションでは、データの整合性を保持するため、変更のレプリケート順序が重要です。この順序を保持するために、SQL Remote はデータベースのトランザクション・ログをスキャンし、変更を完全に同一の順序でデータベースにレプリケートします。たとえば、リモートのノートPC のユーザが、レコードに対してUPDATE、INSERT、DELETE の順で文を実行した場合は、SQL Remote は、最初の2 つの文による変更を行わずに単にレコードを削除するのではなく、同一の順序でこれらの3 つの文を統合データベースにレプリケートします。

使いやすさ

SQL Remote は、データベース管理者とエンド・ユーザの両方にとって使いやすいように設計されています。データベース管理者は、SQL Remote を使用して、多数のリモート・ユーザの設定および管理を簡単に行うことができます。データベース管理者は、Windows 環境でファイルをドラッグ・アンド・ドロップするだけで、基本的なパブリケーションを作成することができます。SQL Remote を使用することで、リモート・ユーザはオフィス外で企業データを利用し、必要に応じて同期することができます。リモート・ユーザは、電子メールの受信を行うだけで、データベースの同期メッセージを取得することができます。電子メールおよびデータベースの同期メッセージの両方を、同一の簡単な操作で受信することができます。

多数のリモート・データベースのサポート

SQL Remote は、多数のリモート・データベースを持つ企業に最適です。SQL Remote のトランザクション・ログには、リモート・ユーザが行ったすべてのデータベースの変更が保存されます。トランザクションのスキャン時に、ログに変更をアップロードしたすべてのリモート・ユーザに対して一度にメッセージが生成されます。したがって、多数のリモート・ユーザからの変更をトランザクション・ログのスキャン1 回で同期することができます。ユーザは、中央データベースに直接接続するのではなく、メッセージング・システムを使用して同期メッセージを送信するため、企業は電子メール・システムだけで多数のデータベースをサポートすることができます。また、統合データベースに対するリモートからの多数の直接接続をサポートする必要がなくなるため、統合データベースのハードウェアのサイズおよび費用も削減されます。

Mobile Link の同期の利点

異機種間の相互運用性

Mobile Link の同期は、ODBC (Open Database Connectivity) を使用して統合データベースの更新およびクエリを実行するように設計されています。このため、ユーザはSybase、Oracle、Microsoft、IBM などの主要データベースとの同期を実行することができます。したがって、Mobile Link を使用すれば、既存のバックエンド・データベースを統合データベースとして活用することができます。

リカバリ性

同期中に通信障害が発生した場合は、Mobile Link は次の試行時に同期を続行します。これにより、障害が発生して中断されたトランザクションも完全に処理されます。

柔軟性

Mobile Link の同期は、非常に柔軟なソリューションを提供します。Mobile Link の同期サーバは、イベントを使用して、同期中にスクリプトを起動します。同期中の複数の時点でスクリプトを実行できるため、より柔軟にシステムを設計することができます。スクリプトは、既存のリモート・ユーザに影響することなく、いつでも変更することができます。また、競合の解決の設定も柔軟に行うことができます(Mobile Link では競合時の挿入、更新、削除が可能ですが、他のデータベース・テクノロジでは競合時の更新以外は処理できません)。

同期のカスタマイズ

Mobile Link の同期では、スクリプトを作成し、同期させるデータを指定することができます。これらのスクリプトは、バックエンド・データベースのネイティブ言語で作成します。ほとんどの同期スクリプトでは共通のフォームを使用するため、バックエンド・システムの言語を習得してしまえば、スクリプトのカスタマイズを簡単に行うことができます。データの変更を統合データベースやリモート・サイトに再送信する必要がある場合は、同期スクリプトを使用し、トランザクションを再入力せずに、同期するローを正確に指定することができます。また、Mobile Link では、特定のユーザ用に同期をカスタマイズすることもできます。そのため、リモート・ユーザによって、送信する同期データのローを変更することができます。この機能を使用すれば、ほとんど使用されない情報をリモート・ユーザのデータベースに格納することなく、最も必要としているデータだけを送信することができます。

SQL Remote およびMobile Link の機能

SQL Remote Mobile Link
メッセージ・ベース
セッション・ベース
双方向の同期
ODBC データベースへの接続 ミドルウェアが必要
直接接続が必要
リモート・データベースのサポート
簡単な使用および管理
カスタマイズ可能
トランザクション順序の保持

法的注意

Copyright(C) 2000-2010 iAnywhere Solutions K.K. All rights reserved. Adaptive Server、iAnywhere、iAnywhere Solutions、SQL Anywhereは、米国法人iAnywhere Solutions, Inc.または米国法人Sybase,Inc.とその系列会社の米国または日本における登録商標または商標です。その他の商標はすべて各社に帰属します。Mobile Linkの技術には、Certicom,Inc.より供給を受けたコンポーネントが含まれています。これらのコンポーネントは特許によって保護されています。本書に記載された情報、助言、推奨、ソフトウェア、文書、データ、サービス、ロゴ、商標、図版、テキスト、写真、およびその他の資料(これらすべてを”資料”と総称する)は、iAnywhere Solutions,Inc.とその供給元に帰属し、著作権や商標の法律および国際条約によって保護されています。また、これらの資料はいずれも、iAnywhere Solutions, Inc.とその供給元の知的所有権の対象となるものであり、iAnywhere Soluttions, Inc.とその供給元がこれらの権利のすべてを保有するものとします。資料のいかなる部分も、iAnywhere Solutionsの知的所有権のライセンスを付与したり、既存のライセンス契約に修正を加えることを認めるものではないものとします。資料は無保証で提供されるものであり、いかなる保証も行われません。iAnywhere Solutionsは、資料に関するすべての陳述と保証を明示的に拒否します。これには、商業性、特定の目的への整合性、非侵害性の黙示的な保証を無制限に含みます。iAnywhere Solutionsは、資料自体の、または資料が依拠していると思われる内容、結果、正確性、適時性、完全性に関して、いかなる理由であろうと保証や陳述を行いません。iAnywhere Solutionsは、資料が途切れていないこと、誤りがないこと、いかなる欠陥も修正されていることに関して保証や陳述を行いません。ここでは、「iAnywhere Solutions」とは、iAnywhere Solutions, Inc.とSybase, Inc.またはその部門、子会社、継承者、および親会社と、その従業員、パートナー、社長、代理人、および代表者と、さらに資料を提供した第三者の情報元や提供者を表します。* 本書は、米国iAnywhere Solutions, Inc.が作成・テストしたものを日本語に翻訳したものです。