マルチベンダRDBにつながる「DB2 Everyplace」:組み込みデータベースカタログ(5)(2/3 ページ)
組み込みデータベースカタログ第5回は、IBMの組み込みデータベースDB2 Everyplaceを取り上げる。お話を伺ったのは、ソフトウェア事業の中林紀彦氏と猿山悦子氏である。
DB2 Everyplaceの特徴的な機能
DB2 Everyplaceは、データベースとして長い歴史を持つDB2で培われたノウハウが生かされている。そのメリットはモバイル機器側よりも同期サーバ側にあるといってよい。
データの安全性と保護
有線のネットワークに比べて携帯電話などの無線ネットワークは、通信途中で切断されやすい。DB2 Everyplaceはそのような状況であってもデータベースの情報を安全に保存する機能を備えている。データベースに対する処理内容は逐次ディスクに記録され、何らかのトラブルで途中までしか実行できなかったトランザクション(分割してはいけない1組の操作)はトランザクション開始時の状態に復元される(ロールバック)。そして次回接続時に、実行できなかったトランザクションは再実行される。こういったリレーショナル・データベースと同様のメカニズムでデータベースの整合性が保証される。
ただしソフトウェアだけでの保護には限界があるので、必要に応じてハードウェア的な対策やバックアップは必要になる(例えば、ハードディスクの故障、ファイルシステム自身の破損など)。
同期処理での衝突回避
複数のクライアントが同期サーバを経由してソースデータベースに接続する環境では、同じレコードに対して更新要求を出してしまうことがある。そのような衝突が起こった場合、日付の新しい方のデータを優先する、サーバ側のデータを優先する、といった柔軟なルールの設定が可能である。またクライアントでの変更をサーバに反映、またはサーバでの変更をクライアントに反映と、双方向の同期が可能になっている。
大規模システムへの対応
一般に組み込みデータベースというとフットプリントの小ささや応答速度などが注目されがちだが、PDAなどを営業ツールとして活用するようなケースでは、数百〜数千のクライアントが、一斉にデータの同期を行うような場面も想定できる。このような場合、同期サーバのスケーラビリティは非常に重要な要素となってくる。
DB2 Everyplaceの同期サーバはWebSphereのコンポーネントを使用しているため、同期サーバを冗長化する分散サーバ構成を取ることが可能だ(図2)。
「社内でベンチマークを行ったところ、3000ユーザーが30分間に集中してデータ同期した場合、2〜4CPUのUNIXマシンで正常に同期できました。理論的にはもっと多数のクライアントにも対応可能ですので、大規模な運用でも問題ありません」(中林氏)。同期サーバを複数構成にすれば、理論的には数万〜数十万のクライアントまで対応できるという。
データの暗号化
DB2 Everyplaceのクライアント/同期サーバ間はHTTPプロトコルで通信が行われるため、データの盗聴や改ざんを防止する必要がある。DB2 Everyplaceでは「56-bit DES」または「128-bit DES」でデータを暗号化できる。また、HTTPの代わりにHTTPSを使用することも可能である。
日本語のサポート
海外のソフトウェアで日本語を使用するとエラーになってしまう、または文字化けを起こす場合がある。DB2 EveryplaceはWindows(WIN32)ではシフトJIS、UCS-2、Windows CEではUCS-2、JavaではUnicodeと国際化に対応した文字コードをサポートしている。ただし文字コード変換については、アプリケーションで行う形態となっている。
管理工数の削減
IBMでは「オートノミック」といって従来人間が行っていたアプリケーションの管理を自動化することにより経費、維持に関する工数を削減することを提案している。
DB2 Everyplaceに取り入れられたオートノミックの特徴の1つとして、自動再編成(デフラグ機能)がある。クライアントのデータベース・エンジンはAPIコールされた時点で稼働するのだが、この際に自動的に断片化を解消し、アクセス速度の高速化を図る。この処理はユーザーにストレスを感じさせないレベルで実行されるという。
読み出し専用メディアのサポート
本製品の意外な使用法として、データベースをCD-ROMやDVD-ROMで配布するという運用がある(Windows 32-bitおよびLinux版のみのサポート)。同期サーバを導入してリアルタイムでデータ更新するにはシステム構築にそれなりのコストを要する。社外に持ち出すデータが参照のみのケース(商品カタログの提示など)では、読み出し専用メディアでの運用により、より低コストでモバイルシステムを稼働させられるだろう。
Copyright © ITmedia, Inc. All Rights Reserved.