Empressの主な特長とは?

Empressの組込みデータベースは以下のような特長があります。

1.高速データベースエンジン

Empressはインプロセス・タスク方式の組込みデータベースのため、アプリケーションと同一のメモリ領域で稼働します。クライアントアンドサーバ型の組込みデータベースとは異なり、サーバとのプロセス間通信が必要ないため高速性が保証されます。同時に、Empressは長年のチューンアップノウハウ、多くの導入実績、多岐のチューナップポイントを提供することにより高速の組込みデータベースエンジンの提供が可能です。

2.小さなフットプリント

Empressの組込みデータベースは、小さなフットプリントのデータベースエンジンで大量データの高速処理機能を提供します。小さなフットプリントでも無制限のマルチタスク、ANSI準拠の2相トランザクション、3つの粒度のロック機能、断電回復機能、非断片化構造、C及びC++インターフェース、ANSI SQL 92に準拠した組込みSQLなどををサポートします。機能分けされたコンポーネントフレームワークで提供されるため、最小のフットプリントでユーザに最適な機能を提供することが可能です。 Empressの組込みデータベースは制限されたメモリのスペース領域内でも最適なアルゴリズムで稼働します。

3.断電回復機能

Empressを採用頂いた100%のユーザが使用している機能です。組込みデータベースは、電源断の発生後、再度電源が入ったときに、データベースをいかに早く、安全に復旧するかが大きな課題です。Empressは、トランザクション中に断電が発生した場合、起動時に高速でロールバックし、トランザクションを解放することが出来ます。また、トランザクションがかかっていない状態で電源断になった場合でも、1つの関数をコールするだけで、データベースの不整合は瞬時に判断し、不整合が発生した場合、データをレコードごとに検証し、データベース全体の整合性を修正後、高速で回復します。Empressの断電回復機能は非常に高速で、20万曲程度のデータを格納したカラオケデータベースを1秒程度で回復することが可能です。

4.組込み用トランザクション

最近、組込みデータベースは色々な方法でデータアクセスされます。このため、組込みデバイス内のデータの一致性を保証するために、EmpressはANSIの2相トランザクションと3つの粒度を持つロック機能をサポートします。ロック機能だけではなくダーティーリード、リードコミット、シリアライゼーション等のアイソレーションレベルを実装し、万が一アクセスが衝突した場合でも、アイソレーションレベルを変更することでアクセスの不具合を解消することができます。ロック粒度はプロファイルで設定が可能で、テーブル、ページ、レコードロックを場面に応じて使い分けすることも可能です。

5.CRUDのリアルタイム性

CRUDとはcreate、read、update、deleteの操作のことで、定時性はデータベースに対してある操作を何回行っても、ほぼ同じ時間で結果が返ってくることを意味します。定時性はリアルタイムシステムでは非常に重要な特性で、EmpressはCRUDの定時性を保証します。1秒ごとに5000件のデータのインサートとデリートを繰り返しても最初のインサートと2年後のインサート時間の誤差は1%以内です。

6.断片化防止処理

組込みデータベースに対する書き込みと削除操作を繰り返し行うと、操作を実行したテーブルのファイル領域の連続データが分割され、データへの読み書き速度が低下します。これを断片化といい、解消するためにデフラグが必要です。デフラグはメモリとディスクの両方が必要で、特にディスクは使用しているファイルサイズの3倍が必要です。また、デフラグはシステム稼働中に使用はできませんし、デフラグ中、断電が発生した場合、ファイルシステムは壊れてしまいます。Empressの組込みデータベースは断片化が発生しにくい構造を持ち、デフラグやバキュームを必要としない高可用性とメンテナンスフリー機能を実現します。

7.マルチプロセス・タスク機能

Empressは、ロック機能によりEmpressはインプロセス型のデータベースでありながら、ハードウエアリソースとOSがサポートする限り、マルチプロセス・タスク機能を無制限でサポートします。多くのインプロセス型の組込みデータベースは同時アクセス数に制限があります。

8.タイムアウト機能

タイムアウト機能は実行時間が長いクエリを実行し、設定時間内で処理が終了出来ない場合、中断し、アプリケーションの制御に返す機能です。この機能はアプリケーションに幅広く使用され、例えば、カーナビや携帯等である検索を行う場合、時間がかかり過ぎ、事前に設定されたタイムアウトの時間を越えた場合に、タイムアウト機能を起動して処理を中断させることが可能になります。タイムアウト機能はプロファイルで設定が可能です。

9.リソース使用量の可予測性

Empressデータベースはオーバヘッドが少ないために、システム設計時に使用するリソースの正確な予測が可能です。プロファイルで最大メモリ使用サイズを制限したり、ディスクの使用量のシステム設計に計算することを容易にします。