現在、組み込みデータベースは各社から多種多様な製品が出荷されています。それでは、実際にどの組み込みデータベースが開発する組み込みシステムに適しているのか――それを考える一つの方法として、機能とリソースのバランスの観点から「省リソース機能特化型」、「バランス型」および「高機能型」の3つのカテゴリに分類すると良いでしょう(図1)。

図1 組み込みデータベースの分類

省リソース機能特化型

FA機器、センサ機器、携帯電話など、リソース制約の極めて厳しい機器をターゲットとした組み込みデータベースです。
フットプリントやメモリ消費量を削減するために特定の機能に最適化した製品が多く、静的なSQL(SQLプリコンパイル)や専用のデータアクセスAPIを実装することで、厳しいリソース制約下での高速処理を実現しています。
また、特殊な組み込みOSをサポートする必要も多いため、ポータビリティに優れた製品が多いのもこのカテゴリの大きな特徴です。なお、筆者が携わっているオラクルの製品では、Oracle Berkeley DB(以下、Berkeley DB)がこのカテゴリの製品になります。
Berkeley DBは、マルチプロセスおよびマルチスレッド、トランザクション、柔軟なインデックスなど、トランザクショナルストレージエンジンとして必要な機能にフォーカスした製品です。専用のデータアクセスAPIによる高速アクセス、選択可能な機能モジュールによるフットプリントの削減、キャッシュ領域の制御によるランタイムメモリの削減などをサポートしています。

バランス型

高機能な携帯電話やカーナビゲーションシステム、デジタル家電など、「省リソース機能特化型」がターゲットとする機器に比べてリソースにそれほど制約のないシステムをターゲットとした組み込みデータベースです。
これらの機器では今後、高機能で高付加価値なサービスの提供がますます進み、最も組み込みデータベースの需要が見込まれるカテゴリであると考えられます。このカテゴリの製品は、組み込みシステムに必要なレベルの標準データベース機能をほぼ備えており、性能や省リソースなどの要件への対応と両立させるために、インデックスやキャッシュ、フェッチなどの実装にさまざまな工夫がなされています。
また、空間検索やインクリメンタルサーチといった特殊な検索機能や、エンタープライズ向けデータベースとのデータ同期機能など、高機能で高付加価値サービスに必要な機能を実装した製品が多く存在します。
なお、オラクルの製品では、Oracle Database Lite(以下、Oracle Lite)がこのカテゴリの製品になります。このOracle Liteは、標準SQL、ODBC、JDBCといった標準のアクセスインタフェースを2~3Mバイトという比較的小さなフットプリントで実現しています。そのほかOracle Databaseとの柔軟なデータ同期や統合開発環境を提供することで、高機能で高付加価値のサーバ連携アプリケーションの効率的な開発を実現します。

高機能型

ルータや交換機といった超高性能、高信頼性、高いスケーラビリティといった要件を満たす必要のある機器をターゲットとした組み込みデータベースです。
このような機器では、一般の組み込みシステムで想定されるレベルのリソース制約は存在せず、むしろエンタープライズ向けデータベースを採用する場合もあります。そのため、このカテゴリを組み込みデータベースに含めるべきかについては、議論の余地があるところでしょう。
しかし、長期無人運転を前提としたゼロアドミニストレーションや、エンタープライズ向けデータベースでは実現不可能なレベルの性能、省リソースといったことを実現しているため、筆者は広義の意味で組み込みデータベースに含まれると考えています。
このカテゴリの製品は、エンタープライズシステムにも適用可能なレベルの機能と超高速データアクセスを両立させる必要があります。そのため、例えば、すべてのデータ管理をメモリ上に展開するといった、従来のデータベースとは異なるアークテクチャで実装されています。また、高信頼性を実現するために柔軟なレプリケーション機能やエンタープライズ向けデータベースとの密連携機能などを実装した製品もあります。
オラクルの製品では、Oracle TimesTen In-Memory Database(以下、TimesTen)がこの分野の製品になります。TimesTenは、インメモリに最適化したロジックを実装することで、標準のSQLをサポートしながらμ秒オーダのレスポンスタイム、数十kTPSのスループットを実現します。また、ゼロアドミニストレーション、柔軟なレプリケーション、Oracle Databaseとの密連携機能(フロントのキャッシュとし動作)など、必要な機能を備えています。

表2に、各カテゴリに当てはまると想定されるおもな組み込みデータベースをまとめます。

表2 各カテゴリの組み込みデータベース

カテゴリ 製品 開発元 URL
省リソース機能特化型 Encirq DeviceSQL Framework Encirq http://www.encirq.co.jp/
Empress RDBMS Empress Software http://www.empress.com/
Linter Micro Relex/ブライセン http://www.linter.jp/
Oracle Berkeley DB Oracle http://www.oracle.co.jp/
バランス型 Entier 日立製作所 http://www.hitachi.co.jp/
Linter Embedded Relex/ブライセン http://www.linter.jp/
iAnyware Ultra Light iAnyware Solutions http://www.ianywhere.jp/
DB2 Everyplace IBM http://www.ibm.com/jp/
SQL Server Compact Edition Microsoft http://www.microsoft.co.jp/
Firebird オープンソース http://www.firebirdsql.org/
SQLite オープンソース http://www.sqlite.org/
Oracle Database Lite Oracle http://www.oracle.co.jp/
高機能型 SolidDB Solid Information Technology http://www.solidtech.com/
Oracle TimesTen In-Memory Database Oracle http://www.oracle.co.jp/