複雑なデータ管理のための手法

データベースの組み込みシステムへの適用

章
2
第Njai Kornatowski/David Zhang
本稿では，組み込みシステムにおいて大容量かつ複雑なデータ管理を行うために，データベースを適用する手法について解説する．一方，組み込みシステムにおいては CPU 性能やメモリ容量といった資源の制約やリアルタイム性の確保など，難しい問題が存在する．それらの条件を克服し，組み込みシステムにデータベースを導入する手法について解説する．（編集部）

1

大容量化に伴って，ファイル・システム以上に重要な位置づけ組み込みデータベースが必要にになると注目されています．というのは，組み込みシステムがハードディスク装置などの大容量記憶媒体を扱うようになると，● すでに普及している組み込み OSデータ管理の問題が出てくるからです．

組み込みシステムは，ハードウェアとソフトウェアから構成

組み込みシステムにおいて大量のデータをいかに効率良く管されています．そのうちのソフトウェアを大きく分けると，OS理して検索・更新できるようにするかという問題が重要になるとミドルウェアとアプリケーション（アプリケーション・ソフと，組み込みデータベースの出番がやってきます．今後，組みトウェア）に分類されます．CPU 性能やメモリ容量などの資源込みデータベースは情報家電や携帯電話，携帯型の AV 機器なが限られている分野では OS なしの組み込みシステムも存在しどで導入が進むと考えられています．

ますが，現在では OS を使ったシステムが一般化してきています．OS としては，たとえば ITRON，組み込み Linux，VxWorks，WindowsCE などが定着しています．
組み込み OS はすでに定着していますが，これから導入件数が増えると考えられているのが，組み込みシステム向けのミドル2 データベースの基本
まず，データベースの概要を解説します．

● データベースの基本概念と構成ウェアであり，その一つが組み込みデータベースです．本稿でアプリケーション開発者は，対象とするアプリケーションには，現在，なぜ組み込みデータベースが必要とされており，組対してデータの処理，およびデータを格納するストレージ（メみ込みシステムへの導入が進んでいるのかについて解説します．

モリやハードディスクなど）と論理データの関係を定義し，プ● 情報家電や携帯電話，AV 機器のシステムの要にログラムを開発します．アプリケーション開発では，データがミドルウェア製品としての組み込みデータベースは，現在はまだ，市場が立ち上がる途上にあります．しかし，記憶媒体の変わるたびに再設計を行ったり，プログラムを作り直したりすることがよくあります．

アプリケーション・プログラム

アプリケーション・プログラム

データベース・プログラム

int main(){int main(){insert_data()⁝⁝

insert_data()

insert_data()
データ⁝データベース⁝

データ
データ
自分ですべてのデータを管理していた

データベース・プログラムがデータを統一的な「データベース」によって一括管理してくれる（a）データベースを使わずにデータを管理する場合（b）データベースを使ってデータを管理する場合

図 1 データベース使用前と使用後

Dec. 2006

KEYWORD ―― 組み込みデータベース，クライアント-サーバ方式，エンタープライズ系，ミドルウェア，メンテナンス・フリー，タイムアウト，コンピュータ資源，可予測性

59データベースは，データの関連付けやデータの保存などのエンタープライズ系データベースには，IBM 社の DB2，Micro

データ処理を，プログラム本体とうまく分離するためのしくみ

soft 社の SQL Server，Oracle 社の Oracle Database などがありです．データベースは「データ」と「さまざまなデータ処理プロます．

グラム」から構成されます（図 1）．

これらのデータベースは専用サーバの上で動いており，コンここでいうデータ処理プログラムとは，データ・ファイルのピュータ資源である CPU 性能やメモリ容量，ディスク容量を作成やレコード構造の定義，データの検索，データの挿入，非常に多く消費します．たいていは，専用の管理ツールや管理データの更新，データの削除の機能を提供します．このほかに者（DBA ： Database Administrator）が必要になります．エンもデータの整合性を保証するためのプログラムやデータのロッ

タープライズ系データベースは，数百，数千のユーザによる同ク処理を行うプログラム，データのバックアップやリカバリを時アクセスを可能にするしくみをもっています．

行うプログラムなどがあります．これらを総称してデータベー● アプリケーションに内蔵するデータベース

ス管理システム（DBMS ： Database Management System）とアプリケーションに内蔵するデータベースとは，クライアン呼びます．DBMS はデータの保存や検索など，いろいろな機能

ト-サーバ形式データベースのように独立したサーバを用意せをもつソフトウェアの集合体です．

ず，アプリケーションにデータベース機能を埋め込んで使う形

データベースには，以下の三つの種類があります．

式のものです（図 3）．
データベースを使いたいアプリケーションに，内蔵データ

1）エンタープライズ系データベース
2）アプリケーションに内蔵する（埋め込む）データベースベースをプラグインし，アプリケーションと同じプロセス空間

3）組み込みシステム向けの高性能な組み込みデータベース上で実行します．

以下では，これら三つのデータベースについて説明していきこの内蔵データベースは，アプリケーション開発者が必要とます．

する機能を提供します．このとき，コンピュータ資源をそれほ● エンタープライズ系データベース

ど消費しません．

エンタープライズ系データベースの多くは，会社の IP 環境

形態としては，アプリケーションの中で結合されていること（ネットワークに接続された環境）で動くデータベースです（図になるので，エンド・ユーザはシステムの中のデータベースの2）．これは，専用のマシンや専用のサーバで動かし，会社の IP存在を意識することはありません．

ネットワークの中で複数のアプリケーションが共有して使う資● 組み込みシステム向けの高性能な組み込みデータベース源として利用されます．

さまざまな組み込み機器が生まれ，その組み込み機器によっアプリケーション開発者は特殊な API（Application Programて処理されるデータの量が増えています．そのため，大量のming Interface）を使って，このような共通のデータ資源へアクデータを高速に処理できる高性能な組み込みデータベースが必セスします．

要になりました．

アプリケーションの実行環境とデータベースのサーバが別々単純な組み込みシステムなら，アプリケーションに内蔵するになる，いわゆるクライアント-サーバ形式であり，アプリケーデータベースと変わりませんが，近年の複雑化した組み込みシションはリモート・サーバ（離れた場所にあるサーバ）のデータ

ステムでは，複数のクライアントからアクセスできるデータベースへアクセスすることになります．

ベースが必要となるケースがあります（図 4）．

クライアントクライアントエンタープライズ系
データベースクライアント

データベース・サーバ

クライアントメイン・プログラム

データベース・サブシステムサブシステムxxx

サブシステム
yyy

組み込み
DBMS
データベースクライアント図 2 エンタープライズ系データベース

60

データベースクライアント図 3 アプリケーションに内蔵するデータベース

New Products ―― セイコーエプソン，0.7 インチ型高温ポリシリコン TFT 液晶パネルの量産を開始
セイコーエプソンは，3LCD 方式プロジェクタや大型液晶テレビ向けの高温ポリシリコン TFT 液晶パネル「D6 シリーズ」を開発した．まず，0.7 インチ型パネル「L3C07U シリーズ」の量産を開始した．

Dec. 2006