組み込みデータベースカタログ第5回は、IBMの組み込みデータベースDB2 Everyplaceを取り上げる。お話を伺ったのは、ソフトウェア事業の中林紀彦氏と猿山悦子氏である。
PDAやスマートホンといったモバイル機器は、場所を限定せずに自由にデータを持ち運びできる。しかし記憶容量に制限があって、デスクトップPCからデータベース・サーバにアクセスするように豊富な情報を閲覧することはできない。また、モバイル機器では情報が個別のローカルディスクに保存されるため、情報の一元管理は難しい。
モバイル機器によるデータ操作・管理に付きまとう、こういった問題を解決するために開発されたのが「DB2 Everyplace」である。企業の基幹データベースに蓄積された大容量のデータをモバイル機器から検索、更新することがDB2 Everyplaceの使命といえるだろう。組み込み機器用のデータベースであるが、OSが搭載されたPDAやスマートホンをターゲットにし、人間との対話処理を前提とした製品だ。
DB2 Everyplaceの前身である「DB2 Everywhere」の開発プロジェクトは1998年から始まった。1999年に無償のSQLインターフェイスとして公開され、2000年にDB2 Everyplaceに名称を変更し、有償版のDB2 Everyplace 7.1としてリリースされた。その後、ユーザーの要求を取り込みながら機能拡張を繰り返し、2006年7月に「DB2 Everyplace V9.1」がリリースされた(表1)。
DB2 Everyplaceは製品名に“DB2”を冠しているが、業務システム向けのリレーショナル・データベースであるDB2から派生したものではなく、ソースコードレベルから新規に開発された完全に別個の製品である。
DB2 Everyplaceには「Database Edition」と「Enterprise Edition」の2つのエディションがある。
これは構成されるコンポーネントの違いによる。両エディションに共通するのは「DB2 Everyplace データベース」であり、Enterprise Editionのみに「DB2 Everyplace 同期サーバ」が含まれる。それぞれの詳細を見ていこう。
データベース・エンジンをデバイスに組み込み、単体で使用する場合は、同期サーバを含まないDatabase Editionを選択することになる。データベース・エンジン自体のフットプリントは約350kbytesほどであるが、大部分のSQLと集計関数類がサポートされており、通常のリレーショナル・データベースからサーバ機能や同時接続制御などを削除したものと考えてよいだろう。表2の条件を満たせば、データベース自体のサイズ制限はなく、数万レコードに及ぶような大容量のデータを扱えるのが特徴だ。
Enterprise Editionは、Database Editionに同期サーバが加わった製品である。DB2 Everyplaceのデータベース・エンジンを組み込んだクライアント(モバイル機器など)は、この同期サーバを経由して社内のデータベースを参照、更新できる。社内のデータベースと組み込みデータベースの同期を特徴としている製品はほかにも存在するが、それらの構成はデータベース・サーバとモバイル機器が直接対話する2層構造が一般的だ。DB2 Everyplaceはアプリケーションサーバを経由してリレーショナル・データベースに接続するため、同期先のデータベースは以下のようにマルチベンダ製品への対応が可能となる(2006年9月現在:対応するデータベース製品は今後追加・変更される可能性もある。後述のWebサイトを参照)。
この特性は、既存のデータベース・システムにモバイル環境を追加するケースでは、有利に働くことになるだろう。同期サーバはIBMのアプリケーションサーバ「WebSphere」のコンポーネントを使用しており、一般的な3層構造のWebアプリケーションの構成となるが、クライアントと同期サーバ間、同期サーバとソースデータベース間の同期処理は個別に行われる。クライアントは同期サーバに配置されたミラーデータベースに対して処理を行い、それが完了すると直ちに接続を解放できる(図1)。
無線通信など、外出先の非力なネットワーク環境からでも、ストレスなしにデータを同期できることを考えた設計思想といえるだろう。また、同期サーバとソースデータベース間のAPIとしてJDBCを利用する。Javaの標準的なデータベースアクセス手段を用いることで、他社製のリレーショナル・データベースの利用を可能にしている。
Copyright © ITmedia, Inc. All Rights Reserved.