組込みシステム用 高速データベース 製品情報

Ubiquitous DeviceSQL IoT / M2M 市場向けデータ分散処理・管理ソリューション

Ubiquitous DeviceSQL は、組込み機器向けに特化し、ストリームベースの世界最小クラスのデータベースエンジン(メモリフットプリント:50KB~ コンフィグレーション、コンパイラの種類に依存)をベースに、高速データベース機能とイベント処理機能 (データ処理機能) を兼ねそなえており、組込みシステムに最適化されたデータ管理機能を実現するフレームワーク製品です。


DeviceSQL=データベース機能+データ処理機能


DeviceSQL プログラミング言語 (PL / SQL ベース)、DeviceSQL コンパイラ、SQLProbe データベース操作ツール、サンプルアプリケーションが同梱されている DeviceSQL SDK、および、パフォーマンスをチューニングしたサービスライブラリで構成され、実質的にすべてのターゲット OS、CPU に対応できます。
そして、一般に普及しているほとんどの開発環境やツールに組込み可能で、既存のデバイスソフトウェア・アプリケーションと簡単に統合できます。
すでに世界中で携帯電話、IP セットトップボックス、カーオーディオ、複合機、液晶プロジェクタ、データロガー、計測器を始めとする各種機器で採用され、組込み製品として出荷されています。


製品の位置づけ


IoT / M2M 市場向けデータ分散処理・管理ソリューション

自動車、家電機器、日用品、建物、医療機器、農業関連機器などあらゆる「モノ」がセンサーを搭載し、通信機能をもつことでインターネットにつなが る "IoT (Internet of Things)" や、「モノとモノ」がつながり相互に情報をやりとりし、制御しあう "M2M(Machine to Machine)" が急速に拡大しつつあります。

その一方で、デバイスからの情報発信の急激な増加が引き起こす広域ネットワークのトラフィック増により、例えば、通信トラフィック増に対応するためのクラウド設備や通信帯域の増強にかかるコスト負担の増大などが大きな課題となり、センサーやデバイスなどのデータ発生源の近くにゲートウェイを設置し、データを蓄積・処理した結果のデータのみをクラウドに送信することで通信トラフィックを削減するなど、広域ネットワークにおけるデータの分散処理・管理技術が求められています。

ユビキタスは、デバイスとクラウドサービスの中間に DeviceSQL を導入した IoT ゲートウェイを配置することで

  • ・条件に合致するデータのみをクラウドサービスに送信するフィルタ機能
  • ・各種センサ、デバイスから上がってくる大量のデータを集約して、クラウドサービスに送信する
     データ集約機能
  • ・通信機能が切断されている間に各種センサ、デバイスから上がってくるデータを一時的に Device
     SQL に蓄えておき、通信機能が再開した際に、データをクラウドサービスに同期させるデータ
     キャッシュ機能
  • ・しきい値などを超えた場合のみ、クラウドへ通知/特定処理の実行/プログラム起動などのイベント
     ハンドリング機能

などを実現します。(関連プレスリリースは、こちら。)

クラウドサービスとしてユビキタスが提供する dalchymia、IoT ゲートウェイとしてアットマークテクノ社の Armadillo-IoT に DeviceSQL を導入した場合の適用例を次に示します。

DSQL_IOTGW.png

さらにデータをクラウド環境に加え、ローカル環境で SQL ベースのデータベース機能を併用してデータ管理することにより、広域 ネットワークの通信トラフィックを軽減するデータ分散処理・管理技術としての活用や、クラウド環境では対応できないリアルタイム処理など、多様なニーズに 応えることができます。

お問い合わせはこちら

開発環境

フレームワークとして提供

  • ・高速データベースとリアルタイムイベント処理を活用することで、組込みシステム毎に最適なデータ管理システム構築が可能

DeviceSQL → C の先進的なアプローチ

  • ・DeviceSQL 高級言語による生産性の高いプログラミングが可能
  • ・プログラム制御とテーブル/データ操作を完全に分離
  • ・ランタイムのコードサイズを低減

DeviceSQL では、C 言語の独自 API によるプログラミング、SQL の文字列を API に渡す、いわゆる Embedded SQL によるプログラム、そして Oracle PL / SQL に準拠した DeviceSQL 言語 (DeviceSQL Language) でのプログラミングが可能で、これらを自由に組み合わせて利用できます。
特に DeviceSQL 言語によるプログラミングでは、データロジックを記述し、コンパイラを用いてCコードに変換する方式を採用しています。これにより、他の組込み RDBMS が通常ランタイム環境で行う SQL 文の解釈、構文チェック、エラーチェック等の処理をプリコンパイル時に行うことで、メモリフットプリントの極小化とパフォーマンスの高速化を実現しています。
また DeviceSQL プログラム内で C の関数ならびに DeviceSQL 関数をインポート / エクスポートすることができるため、きめ細かなデータ操作を行うことができ、アプリケーションとデータ操作のコードを完全に分離することが可能です。

プログラム制御とテーブル/データ操作の分離


データ操作ツール SQLProbe の提供

  • ・データベースファイルに対してインタラクティブに SQL コマンドを発行可能
  • ・CSV ファイルへのインポート・エクスポート機能をサポート
プラットフォーム環境 (ランタイム環境)

超高速、超極小なデータベース

  • ・世界最小 DB エンジン (50KB~。コンフィグレーション、コンパイラの種類に依存します。)
  • ・マルチプロセス、マルチスレッド対応
  • ・他の一般的な組込み RDBMS に比べ、15倍から 50倍も高速に実行可能
  • ・データ数によらず安定した応答時間
  • ・ロールバック、クラッシュリカバリを備えた完全な ACID トランザクションをサポート
  • ・各種ストリームデータをレコードとしてデータ処理可能
     例:センサー、ネットワーク、ファイルなど
  • ・長時間処理のタイムアウト、インタラプト機能をサポート

データの最適配置

  • ・インメモリと各種永続ストレージ (FlashROM, HDD, MMC / SD) 双方を利用し、データを最適配置
  • ・パフォーマンスの最適化および消費電力の低減に貢献
  • ・リモートデータアクセス (共有) をサポート

他の組込み RDBMS は、インメモリあるいは、永続ストレージどちらか一方をサポートしているのに対して、DeviceSQL は、次の図に示すストリーム、インメモリ (In-Memory)、メモリマップドストレージ (Memory Mapped Storage)、デバイスダイレクトストレージ (Paged Storage) の 4つのデータ参照 (格納) 方式をサポートしています。

データの最適配置

これにより、データ属性、量に応じて、これらのストレージから組み合わせて使用することが可能です。パフォーマンスが要求されるデータ、一時的なテーブルは、インメモリに、そして、数GB を超える大量データの場合には、HDD 等の永続ストレージに格納するなど自由度が広がります。
ストレージは、アプリケーションから抽象化されており、格納先を変えるのも、パラメタを変更することで簡単に行えます。
また DeviceSQL が実装されたリモート機器と TCP / IP ネットワークを介したデータ共有もサポートしていますので、様々なシーンに応じて、幅広いデータアクセスが可能です。

あらゆる CPU、OS をサポートするポータビリティ

  • ・ローエンドからハイエンドまですべての製品ラインのサポートが可能
  • ・各種 OS をサポート
     例:μITRON (eForce 社 μC3 等)、Linux、Windows CE、VxWorks、Symbian、QNX、ThreadX 他 In-House OS、None-OS 環境にも対応

DeviceSQL は、ローエンドからハイエンドまでの全製品ラインのサポートを設計目標に置き、32bit、64bit の各種 CPU をサポートし、OS も選びません。In-House OS や、OS が載っていない None-OS 環境もサポートしています。
今までリソースの制限で使用をあきらめていたローエンドの組込みシステム環境下でも、データベースを使用したデータ管理を行うことが可能になります。これにより、RFID などのようなプリミティブなデバイスから、携帯電話、デジタル TV、DVD / HDD レコーダのような主要な組込みシステム、さらに複合機や医療機器、POS といったクロック 1GHz を超える CPU が搭載されたハイエンドのシステムすべてにおいて共通プラットフォームとして使用することが可能です。

IoT におけるリアルタイム・イベント処理に最適、データストリームのサポート

DeviceSQL は開発当初から、組込み RDBMS がテーブルに対して適用してきたデータ管理機能を、センサー出力、ネットワーク上のデータソース、関数の演算結果など、任意のデータソースに対しても適用できるように考慮して設計されました。これに対して、他の組込み RDBMS の演算子は、テーブル・データソースだけしか操作できません。
組込み RDBMS の場合、ストリームデータを取り扱う場合、入力されたすべてのストリームデータを一旦、テーブルに格納します。その後、テーブルを検索し、必要なデータを抽出し、アプリケーションに引き渡します。テーブルに一旦格納した後、検索をかけるため、リアルタイム性が失われるのと、データを格納するためのワークメモリが余分に必要になります。

リアルタイム処理に最適、データストリームのサポート

一方 DeviceSQL は、ストリームデータをサポートしているので、入力されたストリームデータをレコードとしてとらえ、直に SQL で検索をかけ、リアルタイムに必要なデータを抽出し、アプリケーションに引き渡したり、アラートやイベントとしてアプリケーションに通知し、プログラムを起動することが可能です。
また流れているデータに対して、そのまま検索をかけることができるため、余分なワークメモリも必要とせず、より少ないメモリで動作することが可能です。

お問い合わせはこちら

DeviceSQL は、開発ホスト上にインストールする DeviceSQL 開発環境 (SDK) とターゲット上で動作する DeviceSQL ランタイムサービス (DeviceSQL Runtime Services) から構成されています。

DeviceSQL 開発環境 (SDK) DeviceSQL ランタイムサービス DeviceSQL DataSync 構成図

■開発環境

DeviceSQL 開発環境 (SDK) には、次のコンポーネントが含まれています。 DeviceSQL コンパイラ (DeviceSQL Compiler) は、
DeviceSQL 言語 (DevcieSQL Language) で記述されたプログラムロジックとデータ定義を
自動的に解析し、最適化されたアプリケーションコードを ANSI C コードで生成します。
サンプルアプリケーション (Starter Samples) は、
DeviceSQL の各種機能を使用したサンプルプログラムが含まれています。
SQL Probe は、高度なデータベース操作ツールで、コンソールより、
インタラクティブにデータベースとやりとりが可能です。
また CSV ファイルとのインポート / エクスポート機能を備えています。

■ターゲット環境 (ランタイム)

DeviceSQL ランタイムサービスは、 組込みシステム向けに最適化された、
高性能のデータベースエンジンを含むサービスライブラリで、
次に示す各種サービスから構成されています。

DeviceSQL で提供されるサービス 概要
基本サービス DeviceSQL メモリサービス メモリ獲得 / 解放ルーチンの登録
DeviceSQL データベースハンドルサービス 複数の DB インスタンスをサポートし、同一メモリ空間内でも複数の独立した DB 環境を構築可能
DeviceSQL ストレージサービス メモリマップドストレージ (Memory Mapped Storage) 型サービスを提供
DeviceSQL ページサービス ページドストレージ (Paged Storage) 型サービスを提供
DeviceSQL インデックスサービス 各種インデックスサービスを提供
DeviceSQL Callback On Event サービス DML のキャンセル、エラーハンドリング等
DeviceSQL Dynamic C API サービス C 言語のみ、あるいは DevcieSQL 言語との組み合わせて動的な DB アプリケーションの構築が可能
DeviceSQL Interpreted SQL SQL 文字列を使用したプログラミングが可能
拡張サービス* DeviceSQL Shared Accessサービス 複数プロセス間でページドストレージ (Paged Storage) を共有
通信サービス (Data Streams API) BSD Socket I/F を介して、リモートノードとの DB 共有のためのフレームワークを提供
DeviceSQL スレッドセーフティサービス テーブル操作の排他制御、アクセス制御を提供
DeviceSQL 空間検索インデックスサービス 空間検索 (R-Tree) 機能を提供
DeviceSQL 全文検索インデックスサービス 全文検索 (N-Gram) 機能を提供

* 拡張サービスは、OS プラットフォームの提供する機能に依存しており、実装できない場合があります。

お問い合わせはこちら

開発環境

開発言語
  • DeviceSQL 言語 (業界標準 Oracle PL / SQL 準拠)
  • C/C++ (Embedded SQL API / Native API)
ツール
  • DeviceSQL コンパイラ (DeviceSQL Compiler)
  • サンプルアプリケーション (StarterSamples)
  • DeviceSQL SQLProbe
開発ホスト OS
  • Windows 7 / 8 / 10
  • Linux

ターゲット環境 (ランタイム)

フットプリント
  • 50KB~。 コンフィグレーション、コンパイラの種類に依存します。
実装方式
  • ライブラリ型
データモデル
  • リレーショナル
  • データストリーム
最大データベースサイズ
  • 4TB (4096GB)
最大テーブル数 / データベース
  • 2048
最大レコード / テーブル
  • 無制限 (メモリ等のリソース空きサイズに依存)
データフォーマット & エンコード
  • Unicode UTF-8, UTF-16, ASCII
  • "Instant-On" paged index / storage フォーマット
データタイプ INT, SHORT, LONG, FLOAT, DOUBLE, VARCHAR, NVARCHAR, TIMESTAMP, DATE, BINARY, BIT8, BIT16, BIT32, INT8, INT16, INT32, INT64, UINT8, UNIT16, UINT32, UINT64, FLOAT64, POINTER, PHONECHAR, RECORD, STREAM, VECTOR_*type*, TABLE, POINT_I, POINT_IZ, POINT_D, POINT_DZ
インデックスサービス
  • ハッシュ(Hash), AVL-Tree, B-Tree
  • R*-Tree (空間検索), N-gram (全文検索)
ストレージサポート
  • ストリーム
  • インメモリ (In-Memory)
  • メモリマップドストレージ (Memory Mapped Storage)
    FlashROM, HDD, SD / MMC etc.
  • デバイスダイレクトストレージ (Paged Storage)
    FlashROM, HDD, SD / MMC etc.
データ共有
  • マルチプロセス (Paged Storage)
  • マルチスレッド
リモートアクセス リモートの DeviceSQL DB ファイルへのアクセス
(*プラットフォームに依存)
RDBMS とのデータ同期 DeviceSQL DataSync によりサポート
  • Oralce Database
クラウド 連携 ユビキタス提供 IoT クラウドプラットフォーム "dalchymia" 通信ライブラリによりサポート
サポート CPU 32bits, 64bits 各種 CPU に対応
サポート OS μITRON (eForce 社 μC3 等), Linux, Windows CE, Symbian, VxWorks, QNX, ThreadX, In house OS 他、None-OS にも対応

お問い合わせはこちら

■採用製品 (一部抜粋)

年月 顧客名 製品分野 製品型番 (Link to Press Release)
2014.06 京セラドキュメントソリューションズ プリンター・複合機 ECOSYS M6526cidn シリーズ・TASKalfa 7551ci シリーズ
2009.10 アルパイン カーナビゲーションシステム リアビジョンナビ X08
2009.10 パイオニア DJ 機器 CDJ-2000 / CDJ-900
2010.02 オリンパスイメージング デジタルスチルカメラ μTOUGH-3000
2010.03 パナソニック デジタルスチルカメラ LUMIX DMC-TZ10
2011.02 パナソニック デジタルスチルカメラ LUMIX DMC-TZ20
2011.03 オリンパスイメージング デジタルスチルカメラ Tough TG-310 / TG-610 / TG-810
2012.03 パナソニック デジタルスチルカメラ LUMIX DMC-TZ30 / DMC-FT4
2012.04 オリンパスイメージング デジタルスチルカメラ Tough TG-320 / TG-620 / TG-820 / VH-510
2012.11 パイオニア ワイヤレスDJシステム XDJ-AERO
2015.10 TEAC ハイレゾ対応ポータブルヘッドホンアンプ/プレーヤー HA-P90SD

■適用例

携帯電話
  • 電話帳
  • 構成情報管理
  • デジカメコンテンツ、着メロ等のデータ管理
  • 楽曲メタデータ管理
携帯音楽プレーヤ
  • 楽曲メタデータ管理
ホーム AV 機器
  • ・デジタルテレビ
  • ・DVD / HDD レコーダー
  • ・ホームオーディオ
  • EPG 管理
  • コンテンツ管理
  • 楽曲メタデータ管理
  • データハンドラ
  • クラウド連携
車載機器
  • ・カーナビ
  • ・カーオディオ
  • ・ドライブレコーダ
  • 構成情報管理
  • 楽曲メタデータ管理
  • 各種センサデータ管理
  • 位置データ管理
  • クラウド連携
OA 機器
  • ・プリンタ
  • ・複合機
  • プリント情報管理
  • 構成情報管理
  • ログ管理
  • クラウド連携
アミューズメント
  • ・カラオケシステム、情報端末
  • ・ゲーム
  • ・パチンコ、パチスロ
  • カラオケ楽曲管理
  • 楽曲検索
  • 構成情報管理、キャラクタ管理
  • 玉管理、課金管理、ログ管理
  • クラウド連携
ネットワーク機器
  • ・ルータ
  • ・スイッチ
  • ・SIP サーバー
  • ・IP-PBX
  • ・ホームゲートウェイ
  • ・IoT ゲートウェイ
  • 構成情報管理
  • ルーティング情報管理
  • スイッチ情報管理
  • ログ管理
  • データハンドラ
  • クラウド連携
計測機器
  • 計測データ管理
  • 構成情報管理
  • ログ管理
  • クラウド連携
FA機器
  • 構成情報管理
  • 金型、工具管理
  • 生産計画管理、実績管理、課金管理
  • データハンドラ
  • ログ管理
  • クラウド連携
医療機器
  • 構成情報管理
  • 計測データ管理
  • ログ管理
  • クラウド連携

お問い合せ

お問い合せの内容に合わせて選択してください。

製品・セミナーについて IR・採用・その他について