アットマーク・アイティ @IT@IT情報マネジメント@IT自分戦略研究所QA@ITイベントカレンダー  
 @IT > Master of IP Network > Mobile Connection > モバイルでデータベースを活用するレプリケーション技術
 

モバイルでデータベースを活用す

レプリケーション技術


株式会社グルージェント
森脇大悟
2002/3/16

おもな内容
モバイル機器とデータベースの接続
2つのレプリケーション技術
セッションベースのレプリケーション技術
Mobile Linkのアーキテクチャ

 ノートパソコンやPDA・携帯電話に代表されるモバイル機器が、ビジネスシーンに欠かせないツールとなってきました。それには2つの理由があります。1つは、モバイル機器の性能が高まりビジネス用途に堪え得るものとなったということ。もう1つは、企業内のIT化が進み、ほかのシステムと連携しながらスピーディに業務を行う必要が出てきたということです。

 業務システムを考える際に、データベースを欠くことはできません。多様で大量のデータのレポジトリとして、効率が高く柔軟で接続性に富むからです。そして、それはモバイル機器であっても同様です。センターデータベースに蓄えられている情報を直接モバイル機器で操作するのが効率の良いやり方です。

 本稿では、モバイル機器でデータベースを用いた業務アプリケーションを扱う技術について概説します。特に、この分野をリードする米国iAnywhereSolutionsの「Sybase Adaptive Server Anywhere」(以下ASA)を中心に説明を進めていきます。

■モバイル機器とデータベースの接続

 センターデータベースへの接続方法には2通りあります。モバイル機器が直接クライアントとなる方法と、モバイル機器内のローカルデータベースを利用する方法です。前者では、携帯電話などのようにHTTP通信を介して接続する方法が一般的ですが、レスポンスコスト(通信費用)がかかるのが欠点です。一方、後者では、ノートパソコンやPDAを用いて、必要な情報をローカルデータベースに蓄えます。このため、クライアントシステムはスタンドアロンとなり、柔軟なアプリケーションを開発・利用できるという大きな利点があります。しかし、複数のモバイル機器上のデータベースにデータが分散してしまうため、必然的に、それらを同期するテクノロジ、「レプリケーション技術」が必要になります。

 ここでは、レプリケーション技術について、iAnywhereSolutionsの「Mobile Link」を中心に説明していきます。iAnywhereSolutionsのデータベースには、モバイル機器用のデータベースとして優れているASAや「Ultra Lite」があります。そして、レプリケーション技術であるMobile Linkをそれらと組み合わせることで、多様で複雑なビジネスシーンの要望に簡単にこたえることができます。

 レプリケーションシステムを構成するデータベースの構成は、ヒエラルキカル(階層的)なものと非ヒエラルキカルなものとがあります。ヒエラルキカルな構成では、ツリー状の形態になります(図1)。親(root)となるデータベースを除き、あるデータベースは必ず1つの親データベースを持ちます。そのため、親が子どもを統括する権限構造となります。一方、非ヒエラルキカルな構成では、網の目状の構成となり、1つのデータベースは複数の親を持つことができます(図2)。そのため、絶対的な権限を持ったデータベースはなく、データベース同士は対等となります。

 モバイル機器での構成は、前者のヒエラルキカルなツリー状をなすことが一般的で、「葉」に当たる多数のリモートデータベースが、モバイルクライアントとなります。一方、親となるデータベースは統合データベースと呼ばれ、すべてのデータを担うマスターコピーとなります。

図1 ヒエラルキカルなデータベース構成
基本的にデータベースは1つの親データベースを持ち、ツリー上の構成となる。親により子のデータベースは統括される。

図2 非ヒエラルキカルなデータベース構成
1つのデータベースは、複数の親データベースを持つことが可能。そのため、網の目上の構成になり、すべてのデータベースは対等の関係にある。

 ASAには、このようなヒエラルキカルなレプリケーション技術として、「SQL Remote」とMobile Linkの2つを持っています。特に、Mobile Linkは最近注目されているレプリケーション技術ですので、こちらを中心に話を進めていきます。

■2つのレプリケーション技術

 SQL Remoteは、メッセージベースのレプリケーションです。すなわち、レプリケーションの際、通常の接続とは別に、レプリケーションに必要なデータをメッセージにまとめてやりとりします。メッセージの内容はトランザクションログです。そして、通常、メッセージはファイルですので、ファイルを交換することでレプリケーションを実現します。メッセージベースであるため、接続回線の状態により、レプリケーションには多少の遅延が発生します。何らかの原因で接続が切れた場合でも、メッセージの再送が促されますので結果的にレプリケーションは成功しますが、そのような場合は、予期しない遅延が起こる場合があります。そして、大きな制限として、統合データベースはASAまたは「Sybase Adaptive Server Enterprise」である必要があります。統合データベースは既存の情報システムを流用する場合が多いため、それが限られるのは、新規導入の足かせになるでしょう。SQL Remoteよりも新しい技術であるMobile Linkでは、この点が大きく改善されています。

■セッションベースのレプリケーション技術

 Mobile Linkは、セッションベースのレプリケーションです。すなわち、リモートデータベースは通常のユーザーとして統合データベースに接続し、その接続セッション上でレプリケーションを行います。そのため、多数のリモートサーバ間でレプリケーションを実現できますので、特に、モバイル機器での利用にその威力を発揮します。Mobile Linkのレプリケーションを、ASAでは、特に「シンクロナイゼーション」と呼びます。

 また、統合データベースとしてはASA以外のものも使えるのがメリットです。ASAはもちろん、Sybase Adaptive Server Enterprise、Oracle、Microsoft SQL Server、IBM DB2を利用できます。一方、リモートデータベースは、ASAのほかに、iAnywhereSolutionsの超小型データベースUltra Liteを利用できます。

 Mobile Linkでやりとりされるデータは、前回の接続で成功したシンクロナイゼーションから変更された結果です。最終結果のみがやりとりされるので、接続コストも少なく済みます。

 セッションベースであるため、シンクロナイゼーションが完了した時点で、統合データベースとリモートデータベースとは同一のデータを持つことが保証されます。ただし、シンクロナイゼーションを行っている間は、その接続が維持されなければなりません。

 このように、Mobile Linkはモバイル機器でのレプリケーションとして考えられた優れた技術です。何をどうレプリケーションするかはSQL文で書きます。データ全体を同期する単純なレプリケーションから、データの一部分だけを抽出して複雑なロジックを組み合わせることまで、おなじみのSQL文で実現できますので、習得も簡単です。

 ただし、Mobile Linkのアーキテクチャは多少独特ですので、具体的に説明しましょう。

■Mobile Linkのアーキテクチャ

 統合データベースサーバとリモートサーバ(モバイルクライアント)とは、実は、直接接続することはなく、Mobile Linkサーバを介してデータのやりとりを行います(図3)。そのおかげで、柔軟な構造となっています。

図3 Mobile Linkを使った統合データベースとモバイルの接続
リモートサーバ(モバイルクライアント)と統合データベースは、直接接続せず、Mobile Linkサーバを介して接続している。

 Mobile Linkサーバは、Mobile Linkのすべてのプロセスを管理します。Mobile Linkサーバが、統合データベースとリモートデータベースとのインターフェイスとなり、データのやりとりを仲介し、プロセスを制御します。Mobile Linkサーバと統合データベースサーバとは、ODBC接続で通信しますので、前述したように他社のデータベースであっても問題なく接続できます。Mobile Linkサーバとリモートサーバとは、さまざまなプロトコル(シリアル接続、TCP/IP、HTTP)で通信することができます。

 通信プロセスは、3段階からなります。アップロード・ダウンロード・確認の3つです。

 まず、リモートから通信が開始されます。リモートがMobile Linkサーバに対し、前回のレプリケーションから変更のあったデータをアップロードします。データを受け取ったMobile Linkサーバは、統合データベースにデータを渡します。その際、データのINSERT、UPDATE、DELETEなどさまざまなイベントが用意されていますので、必要に合わせてイベントハンドラをSQL文で書くことにより、ビジネスロジックを構築できます。

 次に、統合データベースが変更されると、データをダウンロードしてリモートデータベースを更新します。この際にも、さまざまなイベントが用意されていますので、必要に合わせてビジネスロジックを構築します。

 最後に、リモートがMobile Linkサーバに対して、終了の確認を行います。この3段階のプロセスがトランザクションとして仕切られますので、終了確認までに予期せぬエラーが発生すればロールバックされ、あらためて次回にレプリケーションを行います。

 いかがだったでしょうか。以上駆け足で、モバイル分野でのASA、およびMobile Linkによるレプリケーション技術を説明しました。この分野は今後期待される成長分野でもありますので、ビジネスシーンに役立てていただければと思います。



 


 
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

   
@ITトップMobile Connectionフォーラム トップ会議室利用規約プライバシーポリシーサイトマップ