|
 |
| 【組み込みデータベースUbiquitous(ユビキタス)】DeviceSQL Framework |
|
| Ubiquitous(ユビキタス)DeviceSQL Frameworkの製品概要 |

近年、急速なデータ量の増加とアプリケーションの多様化に伴う、ソフトウェア開発工数の増加が問題視されており、その解決策として組み込み向けデータベース導入が検討され始めています。
Ubiquitous DeviceSQL Frameworkは、組み込みシステムに特化し、ストリーム・ベースド・データ管理技術に基づく、まったく新しいカテゴリーのデータ管理ソフトウェアとして2002年に登場しました。携帯電話、車載機器、IP-STB、通信機器などでの採用実績を重ね、第3世代バージョンがリリースされています。
Ubiquitous DeviceSQL技術は、他の組み込みRDBではカバーできない、ローエンドからハイエンドまでの製品ラインをカバーし、データを革新的に取り扱う(制御、処理、管理)ことにより、新たな付加価値を創造、開発の生産性、品質の向上をもたらします。
|
|
| Ubiquitous(ユビキタス)DeviceSQL Framework 開発ツール導入のメリット |
(1) 簡単な作業性で拡張性があるツールのため、製品開発工数が軽減できる
(2) データベースとアプリケーション部が完全分離のため、作業分担による開発期間短縮
(3) 標準ツール使用により開発者が変更になっても、継続的な作業と高い品質を保てる
(4) 一度開発したデータベースは継続的な商品開発に転用できる。しかも世界標準に準拠
|
|
| Ubiquitous(ユビキタス)DeviceSQL Frameworkの技術的な特長 |
(1) 超高速、超極小なDBエンジン
・ 世界最小DBエンジン (Foot print : 24KB-50KB)
・ 各種ストリームデータをレコードとして処理可能
(2)DeviceSQL
・ DeviceSQL高級言語による生産性の高いプログラミングが可能
・ プログラム制御とテーブル/データ操作の分離
・ ランタイムのコードサイズを低減
・ SQL文を使用して機器内のデータを簡単にしかも高速に問い合わせ
・ データベース機能、その前後でフィルタリング、フォーマット変換等のデータ処理機能を組み合わせ、データを制御、処理、管理できる
(3) データの最適配置
・ インメモリと各種永続ストレージ(FlashROM, HDD, MMC/SD)双方を利用し、データを最適配置
・ パフォーマンスの最適化および消費電力の低減に貢献
(4)カスタマイズ可能な柔軟なフレームワーク
・ アプリケーション一体型、データサーバ型など柔軟なアーキテクチャ
・ 独自のストレージ・デバイスへの対応
・ ユーザによるインデックス追加が可能
(5)各種CPU、OSをサポートするポータビリティ
・ ローエンドからハイエンドまですべての製品ラインのサポートが可能
・ 16/32/64bitsの各種CPUをサポート
・ 各種OSをサポート、さらにNone-OS環境にも対応 |
|
| Ubiquitous(ユビキタス)DeviceSQL Frameworkの開発ツールの機能 |
DeviceSQLは、アプリケーションからのリクエストに応じて、データを出力、追加、修正するデータベース機能だけではなく、データ処理機能と組み合わせて、制御(プログラミング)することが可能です。次に代表的なパターンについて記述します。
(1)用途パターン1
| 機 能: |
アプリケーションから指定された条件にあったデータだけを前処理したり、XMLフォーマットで入力されたデータをデコード処理してデータベースにデータを格納する。 |
| メリット: |
データのクラスタリングによる機能化と収納スペースの効率化。 |

(2)用途パターン2
| 機 能: |
データベースに格納されているデータについて、SQL文を使用して、条件に合うものだけを 検索する。アドレス検索や楽曲検索などのようにデータベースに格納されているデータの中から、アプリケーションから指定された条件のものだけを検索し、その結果をアプリケーションに返す。
■ 全一致検索、前方一致検索、後方一致検索、インクリメンタルサーチ等の各種検索 |
| メリット: |
検索の高速化 |
(3)用途パターン3
| 機 能: |
データベースに格納されているデータについて、SQL文を使用して、条件に合うものを検
索し、その結果に対して、データ処理を加え、XML形式などのフォーマットに後処理し、その結果をアプリケーションに返す。 |
| メリット: |
DeviceSQLでは、これらの処理を自由に組み合わせて、制御(プログラミング)することが
可能です。 |
(4)Ubiquitous DeviceSQLのユニークな機能
■ DeviceSQL→Cの先進的なアプローチ
Ubiquitous DeviceSQLでは、DeviceSQL言語でデータロジックを記述し、コンパイラを用いてCコードに変換する方式を採用しています。これにより、他の組込みRDBが通常ランタイム環境で行うSQL文の解釈、構文チェック、エラーチェック等の処理をプリコンパイル時に行うことで、ランタイムコードに余分なコードが含まないようにし、メモリフットプリントの極小化とパフォーマンスの高速化を実現しています。またDeviceSQLプログラム内でCの関数ならびにDeviceSQL関数をインポート/エクスポートすることができるため、きめ細かなデータ操作を行うことができ、アプリケーションとデータ操作のコードを完全に分離することが可能です。
■ リアルタイム処理に最適、データストリームのサポート
Ubiquitous DeviceSQLは開発当初から、組込みRDBがテーブルに対して適用してきたデータ管理機能を、センサー出力、ネットワーク上のデータソース、関数の演算結果など、任意のデータソースに対しても適用できるように考慮して設計されました。これに対して、他の組込みRDBの演算子は、テーブル・データソースだけしか操作できません。
組込みRDBの場合、ストリームデータを取り扱う場合、入力されたすべてのストリームデータを一旦、テーブルに格納します。その後、テーブルを検索し、必要なデータを抽出し、アプリケーションに引き渡します。テーブルに一旦格納した後、検索をかけるため、リアルタイム性が失われるのと、データを格納するためのワークメモリが余分に必要になります。
一方DeviceSQLは、ストリームデータをサポートしているので、入力されたストリームデータをレコードとしてとらえ、直にSQLで検索をかけ、リアルタイムに必要なデータを抽出し、アプリケーションに引き渡すことが可能です。また流れているデータに対して、そのまま検索をかけることができるため、余分なワークメモリも必要とせず、より少ないメモリで動作することが可能です。
■ 幅広いデータ参照(格納)方式
他の組込みRDBは、インメモリあるいは、永続ストレージどちらか一方をサポートしているのに対して、Ubiquitous DeviceSQLは、次の図に示すストリーム、インメモリ、メモリマップドストレージ、デバイスダイレクトストレージ(ページストレージ)の4つのデータ参照(格納)方式をサポートしています。
これにより、データ属性、量に応じて、これらのストレージから組み合わせて使用することが可能です。パフォーマンスが要求されるデータ、一時的なテーブルは、インメモリに、そして、数GBを超える大量データの場合には、HDD等の永続ストレージに格納するなど自由度が広がります。ストレージは、アプリケーションから抽象化されており、格納先を変えるのも、パラメタを変更することで簡単に行えます。
■ 各種CPU、OSをサポートするポータビリティ
Ubiquitous DeviceSQLは、ローエンドからハイエンドまでの全製品ラインのサポートを設計目標に置き、16bit、32bit、64bitの主要なCPUをサポートし、OSも選びません。In-House OSや、OSが載っていないNone-OS環境もサポートしています。
今までリソースの制限で使用をあきらめていたローエンドの組込みシステム環境下でも、データベースを使用したデータ管理を行うことが可能になります。これにより、RFID等のようなプリミティブなデバイスから、携帯電話、デジタルTV、DVD/HDDレコーダのような主要な組込みシステム、さらにその上位に位置するエンタープライズ系のRDBMSが動作しているハイエンドのサーバがネットワークを介して、シームレスにデータをやりとりするパラダイムへの移行を加速します。 |
|
| Ubiquitous(ユビキタス)DeviceSQL Frameworkの製品仕様 |
■ 開発環境
開発言語 |
・ DeviceSQL(業界標準Oracle PL/SQL準拠)
・ C/C++ (Dynamic SQL API)
・ C/C++ (Native API) |
ツール |
・ DeviceSQL Builder
・ DeviceSQL Compiler
・ DeviceSQL Prototyper
・ DeviceSQL Sarter Applications |
開発ホストOS |
・ Windows 2000/XP/Vista
・ Linux
・ Solaris/Sparc |
■ ターゲット環境(ランタイム)
フットプリント |
24-50KB |
実装方式 |
ライブラリ型 |
データモデル |
・ リレーショナル ・ データストリーム |
最大データベースサイズ |
4TB (4096GB) |
最大テーブル数/
データベース |
2048 |
最大レコード/テーブル |
無制限 (メモリ等のリソース空きサイズに依存) |
データフォーマット&
エンコード |
・ Unicode UTF-8, UTF-16, ASCII ・ “Instant-On” paged index/storageフォーマット |
データタイプ |
INT, INTEGER, CINT, CLONG, LONG, SHORT, CSHORT,DOUBLE, CDOUBLE, VARCHAR, VARCHAR2 ,NVARCHAR, TIMESTAMP, DATE, BOOLEAN, BINARY, BIT8, BIT16, BIT32, POINTER, PHONECHAR, RECORD, STREAM, TABLE |
インデックスサービス |
・ Hash ・ Double Hash ・ B-Tree |
ストレージサポート |
・ ストレージサポート ? ストリーム
・ インメモリ
・ マップドストレージ
・ FlashROM, HDD, SD/MMC etc.
・ デバイスダイレクトストレージ |
サポートCPU |
FlashROM, HDD, SD/MMC etc.
16bits, 32bits, 64bits各種CPUに対応 |
サポートOS |
Linux, uITRON, Windows CE, VxWorks, QNX,
In house OS他、None-OS |
|
|
| Ubiquitous(ユビキタス)DeviceSQL Frameworkの想定アプリケーション事例 |
| 携帯電話 |
電話帳 |
| 構成情報管理 |
| デジカメコンテンツ、着メロ等のデータ管理 |
| 楽曲メタデータ管理 |
| 携帯音楽プレーヤ |
楽曲メタデータ管理 |
| ホームAV機器 |
EPG管理 |
| ・デジタルテレビ |
コンテンツ管理 |
| ・DVD/HDDレコーダ |
楽曲メタデータ管理 |
| ・ホームオーディオ |
|
| 車載機器 |
地図データ管理(POI) |
| ・カーナビ |
構成情報管理 |
| ・カーオディオ |
楽曲メタデータ管理 |
| ・ドライブレコーダ |
各種センサデータ管理 |
| OA機器 |
プリント情報管理 |
| ・プリンタ |
構成情報管理 |
| ・複合機 |
ログ管理 |
| ネットワーク機器 |
構成情報管理 |
| ・ルータ |
ルーティング情報管理 |
| ・スイッチ |
スイッチ情報管理 |
| ・SIPサーバ |
ログ管理 |
| ・IP-PBX |
|
| 計測機器 |
計測データ管理 |
| 構成情報管理 |
| ログ管理 |
| FA機器 |
構成情報管理 |
| 金型、工具管理 |
| 生産計画管理 |
| 実績管理 |
| ログ管理 |
| 医療機器 |
構成情報管理 |
| 計測データ管理 |
| ログ管理 |
|
|
|
|
|