ユビキタスは11月24日、都内で会見を開き、自社の組み込みデータベースソフトウェア製品「Ubiquitous DeviceSQL」の第5世代バージョン「Ubiquitous DeviceSQL Release 5.0(R5.0)」を発表した。

同データベースソフトは、組込機器向けに特化したデータベース機能とデータ処理機能を提供するもので、最小メモリフットプリント24KBの軽量さに加え、組み込みシステムに最適化したデータ管理機能を実現するフレームワークを提供している。

組込機器におけるデータ管理ニーズの増大に対応することを目的としたのがDeviceSQL

ユビキタス代表取締役社長の家高朋之氏

同社が組込機器向けにデータベースを提供することについて、同社代表取締役社長の家高朋之氏は、「フラッシュメモリなどのストレージの低価格化と大容量化により、携帯機器などでも手軽に大容量のデータを扱う必要が出てきた。また、高機能化に伴い、データの種類が増加。メタデータを付加する場合も増えてきた。その一方で、機能の増加に伴うプログラムサイズの肥大化が組込機器で問題となってきている。そうした状況の中、ユビキタスとして何ができるかを考えた結果が、そうしたデータの取り回しの効率化だった」と説明する。

編集注:家高氏の高の字は正式には"くちだか"ではなく"はしごだか"となります

同社初のメジャーバージョンアップとなったR5.0では、最大メモリフットプリント20KBの空間検索機能を追加。これにより、携帯電話やデジタルカメラ、カーナビゲーションシステム、PNDなどのGPSを搭載した機器向けに、地図情報や地点情報などの2次元(x,y)データおよび3次元(x,y,z)のデータ型のサポート、空間インデックスに一般的に用いられるR-Treeを発展させた「R*-Treeインデックス」の活用による目的ポイントの高速検索が可能となった。

DeviceSQLは元々Oracleに所属していたエンジニアが組み込み向けに最適なものを作ろうとしたのが誕生のきっかけ。ユビキタスは同事業を2008年9月に買収し、以降、日本での開発を行ってきた

ユビキタス 執行役員 事業本部長の佐野勝大氏

従来のDeviceSQLでは、一般的な組み込み検索で用いられるB-Tree型が用いられ、インデックスの関連性があるところから検索が行われていた。「これはpoint-to-pointの検索には向くが、多次元情報を基にした空間検索は不得手であり、x、y、zの座標軸をそれぞれ高速に検索することを目的にR*-Treeインデックスを採用した」(同社執行役員 事業本部長の佐野勝大氏)という。

R*-Treeインデックスでは、「Point型」「Polygon型」「Circle型」の3つのデータ系をサポート。Point型は空間中の1点、緯度や経度、x、y、zなどのデータをインデックスで引っ張ってくるのに用いられる。Polygon型は、例えば地図検索では、県境などは直線ではなく、複雑な線の組み合わせであり、そうしたポリゴンの変形領域を導き出す必要がある場合に用いられる。そしてCircle型は、中心点からの半径で、どこに何があるのかを検索したり、一定方向のみ、例えば進行方向のみの周辺検索などを効率的に行うために用いられる。

空間検索機能の概要。x、y、z軸のほか、時間軸なども対象にできる

空間検索のデモ。左側にコンソールを用意。東京・新宿や池袋などの郵便局やホテルなど公共施設系の建物のデータ78719件から、新宿駅から半径500mでのホテルを検索した結果をGoogleMapsに表示したもの。空間検索にかかった時間は21.44msで、表示は8件。つまり1件あたりは2.68msとなった

同じく空間検索のデモ。検索範囲を4kmに拡大して検索した結果。今後は48件表示で、74.79ms、1件あたりは1.56msで、件数が多いほうがR*-Treeの有効性が効いてくることが示された(使用したPCはLet's noteで、CPUは1.2GHzのCore Duo)

また、最大メモリフットプリント165KBながら効率よく高速に検索する全文検索機能をサポート。機器の中に保存されている複数の文書などの中から目的の文字列を高速に検索することを可能とした。こちらは、N-gramアルゴリズムを採用した全文検索エンジンをサポートすることで、複数の文書などの中から高速に目的の文字列を検索することが可能となった。加えて、各種表記のゆれを統一する機能や文字列マッピング機能(MAPTABLE)をサポートしたことで、「マクド」や「マック」を「マクドナルド」、「TDL」を「東京ディズニーランド」、「スタバ」を「スターバックス」などのように取り扱う検索を行うことが可能となる。

全文検索機能の概要

全文検索のデモ。飲食店10万件のデータから、フリーキーワードで検索を行った。今回はパスタで検索。結果は、データベース内のPR文章から、パスタを見つけて表示された

こちらも全文検索のデモ。こちらはうろ覚えの店名「バイオリン」で検索。結果はMAPTABLEにより日本語の曖昧さをカバーし「ヴァイオリン」という店名を導き出した

加えて、これまでDeviceSQLのメモリ管理はカスタマが内作したものやOSに付属しているものが活用されていたほか、個別対応でユビキタスが提供していたが、R5.0からは標準でメモリ管理をサポート。OSからメモリアドレスを固定で割り振り、データベース用に領域を確保することで、メモリのフラグメンテーションによる性能劣化を抑えることが可能となった。

ちなみに、R5.0が扱えるデータ件数について同社では「1000万件オーダーまでは行ける」との見方を示すほか、パフォーマンスのボトルネックとなるのはCPU性能以上にフィルのI/O部分であり、「どのデータベースもファイルI/Oがボトルネックになるのは同様で、同じ土俵上であれば、競合よりも高い性能を発揮する自信はある」(佐野氏)とする。

ハイエンドのカーナビゲーションのデータ件数は3000万件程度とされており、そうした分野についてはバージョンアップでの対応を含めて、さまざまな側面から検討を進めていく方針。当面の間はデジタルスチルカメラやオーディオ関連機器などでの需要拡大を目指すほか、すでに米国のEPGには採用されているとのことで、そうした仮想的な分野での活用も目指すとする。

なお、今後の展開としては、「デバイスそのものの付加価値を向上させることを目指していく」(同)としており、クラウドとの連携なども目指し、「組込機器の価値を高めるソリューションとしての展開を図っていきたい」(同)とする。具体的には、あくまで軽量、小型、高速ということにこだわり、「汎用的なデータベースである必要はない」(同)という考えの下、どういったマーケットにどのようなニーズがソリューションとして必用なのかを見極め、機能強化とターンキーソリューションとしての周辺拡充まで含めた展開を行っていくことを計画している。

DeviceSQLのロードマップ。細かい方向性などについて、どういったものにしていくかは、現在検討を進めている状態とするが、基本的な考え方としては、カスタマからのリクエストなどを重要性に応じて、必要な時に速やかに搭載していき、カスタマが求めるものを求めるスケジュールで提供していくとしている

また、家高氏も、「ユビキタスのDeviceSQLとしては2.0だが、認知度的にDeviceSQLが高いため、今後も継続していく予定。将来に向けては、機能強化を図っていくが、決して自己満足のものを増やすつもりはない。R5.0までは性能のブラッシュアップであり、機能の拡充であったが、今後はどうやったら多くのデバイスに活用してもらえるかといったことを検討していきたい」としており、ユビキタスの名のとおり、複数のネットワークをまたいだデータベースの検索などの得意技術な部分を、どうやってビジネスに結び付けていくかを推進していくという。

佐野氏も、「ユビキタスという会社は、オフラインだけでなく、ネットワークに関しても、その内部を理解しており、プラットフォームに近いところも持っている。そうした技術を背景に何を実現していくかが我々の役目だと思っている。カスタマ、ユーザーともども期待していてもらいたい」と抱負を語ってくれた。