いまさら聞けない 組み込みデータベース入門:組み込みDB技術解説(2/2 ページ)
近年、組み込み分野でもデータベースの導入が本格化している。その中で特に規模の大きい携帯電話を例に組み込みDBの基礎を解説する
最適なDBの選択を
近年、日本国内ではさまざまな組み込みDB製品がリリースされています。どの製品も、主なターゲット分野を掲げ、その製品特性に応じた独自の特長を持っています。その特長の例を一部紹介します。
- 動作に必要なメモリサイズが小さい
- 検索処理が高速
- クライアントDBとしてサーバDBとデータ同期を行える
- 便利な検索機能を容易に実装できる
- 組み込み仕様でありながらエンタープライズ系RDBMSと同等の高機能である
- 開発方式(SQL、API)が標準準拠である
数々の製品の中から最適なDBを選択するには、組み込みシステムのリソース制約の中で、サイズ、性能、機能などの実現がそれぞれトレードオフであることを勘案し、どの部分を重要視するのか、必須機能・あれば良い機能・不要な機能を明確にして検討することが重要です。
携帯電話と組み込みDB
ここまでで組み込みDBの機能や特長、種類について紹介しましたが、今回の題材でもある携帯電話へのDB導入に際しては、“マルチアクセスにDB側で対応できること”が大きなポイントとなります。
それはなぜでしょうか? C/S型DBが有効な例を見てみましょう(図3)。
携帯電話には、アドレス帳・メール・カレンダー・画像や音楽のコンテンツデータ・Webの閲覧データ・アプリケーション・設定データなど、実に多様なデータがそれぞれのアプリケーションによって格納・管理されていますし、アプリケーション間でデータの参照が行われることもあります。
つまり、1つのデータに複数のアプリケーションからアクセスが行われる、C/Sモデルのシステムなのです。そのため、C/S型で、なおかつ携帯電話のプラットフォーム上でもなるべく負荷が掛からない小さなフットプリントであることが携帯電話向けDBの要件となるのです。
携帯電話にDBが搭載されてどう変わったのか?
スマートフォンと呼ばれるPDAタイプの高機能な携帯電話や業務用の携帯端末、さらには一般コンシューマ向けの携帯電話でも、組み込みDBが使用されています。
例えば、音声通話以外にさまざまなデータ処理機能を備えたスマートフォン端末では、Symbian OSやWindows CEなどのOSが多く使われていますが、情報処理端末としての必要性からOSベンダは自社OS向けのDBを提供しています。また、一般の組み込みDB製品もこれらのOSに対応し、端末にクライアントDBを組み込んで業務端末としてサーバDBと同期を取るといった使い方がされています。
ここが変わった携帯の開発
では、携帯電話にDBが使用されることでどのような点が変わったのでしょうか?
従来の携帯電話アプリケーション開発では、DBMSのように一括してデータを管理するのではなく、それぞれのアプリケーションが個別にファイルシステムへアクセスしてデータを管理していました。データの検索や表示、追加、削除などアクセス処理の開発効率と処理速度の向上を図るため、各端末メーカーは、独自にデータアクセスのノウハウといえる仕組みを開発し、再利用、工夫改善を重ねてきました。
一方、近年の技術向上と記録媒体の低価格化、大容量化に伴い、携帯電話の内部メモリサイズはGbytes単位に、CPUもより高速になり、マルチコア・プロセッサの搭載も始まっています。そのため電話帳やメール、コンテンツなどのレコードの最大登録件数は、数年前までは数百件程度でしたが、いまでは数千件にまで増大しました。これだけの件数となると、通常のフォルダ管理では管理が難しくなってきます。もし、探しているファイルがどこにあるのか分からなくなってしまったら、フォルダの上から順番に探していくだけでなく、クエリー1つでデータを簡単に検索できた方が便利でしょう。さらに、保存データ数の増加により、処理速度が劣化する問題がありました。皆さんも携帯電話の保存データが最大登録数に近づくにつれてファイルの一覧表示や追加、削除の処理が重たくなるのを感じたことはないでしょうか?
このような問題への対策として、携帯電話端末のメーカーは、ソフトウェア/ハードウェアの両面から可能な限りの工夫、チューニングを施してきました。それでもメモリの大容量化は今後ますます進むと思われ、それとともにデータ管理は複雑さを増していくことになります。また、データ量だけでなく、
- 内部メモリ − 外部メモリ − PC間のデータ移行
- 多様なデータフォーマット対応(音楽・画像データなど)
- データのセキュリティ・著作権問題
- 情報家電などとのデータ連携の可能性
など、より高度なアプリケーションソフトウェアの開発を必要とするこれからの携帯電話関連ソリューションを想定したときに、いままでのデータ管理で果たして間に合うのか、携帯電話向けソフトウェア開発現場にとってデータ管理の方法は1つの悩みどころだったのです。
そこで導入されたのが「組み込みDB」です。DBの導入によって、以下のような効果が得られました。
- データ管理手法を統一
- データの整合性を自動的に確保
- SQLの使用によるデータ定義・処理・制御の開発効率向上
- インデックスを使い、処理データ数増加時のパフォーマンス劣化防止
特に、SQLを使って開発を行うことで、それまでデータ管理に費やしていたプログラムは劇的に縮小されます。エンタープライズ系の開発でDBになじみのある人にとっては当たり前と思われるかもしれませんが、組み込み業界での作り込みを行ってきたソフトウェア開発者にとっては一考の価値があるのではないでしょうか?
以下に、具体的な効果の例を紹介します。
1.ソート処理の簡素化
データを複数の条件から意図した組み合わせでソートするなど、複雑なソート処理も、SQL句を使用することで容易に対応できるようになる。また、扱うデータの型はDB側で判断・処理されるため、アプリケーションは格納データの型を考慮する必要がなくなる
2.開発中の仕様変更・追加に柔軟に対応可能
開発途中のアプリケーション仕様の変更が発生したときに、手戻り作業を少なく、スムーズに正確に行えるようになる
携帯電話向けDBの今後
今後、国内外の企業が入り乱れ、携帯電話の販売競争のさらなる激化が予想されます。そして、これに伴い、各端末メーカーは短い開発期間・省コストでより付加価値の高い製品を開発することが命題となっています。
これを背景に、携帯電話におけるDBの利用が本格化し始めています。携帯電話キャリアをはじめ、端末メーカー、ハードウェアベンダ、ソフトウェアベンダが協力して共通プラットフォームを開発する動きがあり、DBによるデータ管理が携帯電話開発におけるベース技術の1つと見なされつつあります。そして、携帯電話の将来的な可能性としてデータをため、保護、活用、連携していく新しい使い方を検討するうえでも、データ管理の要として期待されているのです。
組み込みDBは携帯電話だけでなく情報家電、カーナビゲーション、FA機器など幅広い組み込みシステムですでに使用されています。エンドユーザーからは見えないところで頑張っている縁の下の力持ち、組み込みDBについて、この記事が少しでも理解の手助けになれば幸いです。
ブライセン Linter事業部 Linter営業部 所属
Copyright © ITmedia, Inc. All Rights Reserved.