 |
eXtremeDBとはどんなものですか?
eXtremeDBは、組込み業界、特に産業制御および産業テスト設備ソフトウェア、テレコミュニケーション設備ソフトウェアなどのような組込みアプリケーション用のインメモリデータベースシステム(IMDS)です。 |
 |
eXtremeDBの"Standard Edition"と"Shared memory Edition"の違いは?
eXtremeDBのStandard版では、データベースはコンベンショナルメモリに保存します。これは、VxWorksのようなシングル・プロセスのマルチタスク・アーキテクチャーのオペレーティングシステムユーザーに推奨します。eXtremeDBのShared Memory版では、各プロセスを処理する時に、シェアードメモリに保存してあるデータベースを各のローカルのアドレス空間にマッピングして使用します。Shared Memoryは、Linux,Unix及びWindowsのようなマルチ・プロセス・アーキテクチャーユーザーに推奨します。 |
 |
eXtremeDBが管理できるデータベースのサイズ制限はどれくらいですか?
eXtremeDBは、ユーザーのデータベース構成によって、1つのデータベースにつき20億オブジェクトが管理できます(データベース接続個数に実際的な制限はありません)。32ビットのポインター(つまり2,147,483,647バイト)にアドレスすることができるメモリの量によって32ビットの操作環境が提供されます。実質的なデータベースのサイズ制限はeXtremeDBではなくオペレーティングシステムの制限によります。 |
 |
eXtremeDBを使用するとどれくらいの性能が期待できますか?
McObjectは社内で、そして顧客のために多くのベンチマークテストを実行しました。これらのテスト結果は環境によって変わります。例えば、206MhzStrongARMプロセッサーで、eXtremeDBは0.79秒で100,000のハッシュ・インデックス検索オペレーションを実現しました。eXtremeDBランタイムの性能は、使用されるプロセッサーおよびメモリ、データ・アクセス・パターンなどのような多くの変数に依存します。一般に、インメモリデータベースとしてeXtremeDBは従来のディスク・ベースのデータベース管理システムより数倍速く作動します。インメモリデータベース及びディスクベースデータベースの性能比較詳細はこちらの"MainMemory
vs. RAM-disk Databases: A Linux-based Benchmark"のWhite
Paperをご覧下さい。 McObjectは、顧客が採用を検討しているプラットフォーム上でのeXtremeDBのベンチマークテスト及び評価をサポートします。顧客のために、顧客の環境およびアプリケーションに対して合理的なテストを行います。 |
 |
eXtremeDBはトランザクションに対応していますか?
はい。eXtremeDB処理はACIDを対応しています。(ACIDの法則は、原子性、一貫性、アイソレイションおよび耐久性です)。インメモリデータベースとして、eXtremeDBはデータベースが廃棄されない限りトランザクションが継続するという意味で、eXtremeDBは耐久性を提示します。 |
 |
eXtremeDBはマルチスレッドによる同時アクセスをサポートしますか?
はい。eXtremeDBは完全にリエントラントでスレッド・セイフです。トランザクション・マネージャーは同時アクセスを実行しますので、アプリケーションはトランザクションの開始、確認、中断のためのeXtremeDBのプログラミング・インターフェースを使用する以外に何もする必要がありません。 |
 |
eXtremeDBはSQLをサポートしますか?
はい。eXtremeSQLオプションでSQLインターフェースに対応し可能です。また、eXtemeSQLには、eXQLと呼ばれるテスト・自動化ツールとオプチマイザも含まれています。パフォーマンスはeXtemeDB単体のほうが優れています。 |
 |
Duplicate/unique/compound/descendingのキー(インデックス)をサポートしますか?
はい。eXtremeDBは、ハッシュインデックス、ユーザー定義のオブジェクトID及びシステムが生成する自動IDと同様に上記のインデックス・タイプの全てをサポートします。 |
 |
eXtremeDBはデータ記述言語(DDL:Database Definition Language)がありますか?
はい。eXtremeDBはDDL及びData Dictionaryがあります。DDLはC++とにています。ユーザーは始めにテキストエディターでデータベースの定義を記述します。次にMcObjectのスキーマ・プロセッサーを用いて、そのファイルからプログラムに使用するインターフェースを含んでいる.hと.cのファイルを生成します。最後に、アプリケーションコードをコンパイル・リンクします。 |
 |
eXtremeDBは複雑なデータの構造をサポートしますか?
はい。eXtremeDBのDDLで定義できるデータを全てサポートしますので、データの複雑さの理論的な制限はありません。eXtremeDBは、C/C++、nested、固定値、可変長アレイといったデータタイプやBLOBをサポートします。 |
 |
eXtremeDBのメモリサイズはどれくらいでしょうか?
CPUとコンパイラによってメモリサイズが変わります。現時点では約60K から130K までの大きさです。 |
 |
eXtremeDBのデータ属性情報はどの程度のオーバーヘッドを導入しますか?
アプリケーションデータのレイアウトによってオーバーヘッドの程度も変わります。ほとんどの場合eXtremeDBは、インデックス管理やデータ参照に必要とされるポインター等でローデータサイズの約20%が増加します。 |
 |
インメモリデータベースを保存できますか?
はい。eXtremeDBはソケット、ファイルやパイプ等にデータベース・イメージを書き込んだり、保存されたイメージからデータベースをロードしたりする機能を持っています。これらの操作はデータベースのトランザクションで行われますので、データベースのトランザクションと一致したデータが書かれている(または読まれる)ことを保証します。 |
 |
どんな状況で、eXtremeDBランタイムはmallocを呼び出しますか?
eXtremeDBは最適化メモリーマネージャーを持っていますので、mallocを呼び出しません。 |
 |
eXtremeDBはソース・コードで提供することができますか?
はい、できます。 |
 |
eXtremeDBのバイナリー・ランタイム・ライブラリを提供することができますか?
McObjectは、いくつかのアーキテクチャー/コンパイラの組み合わせでeXtremeDBのバイナリー・ランタイム・ライブラリおよびDDLコンパイラを供給します。 |
 |
その他のオペレーティングシステムへeXtremeDBの移植作業は困難ですか?
eXtremeDBは移植作業が簡単に出来るように設計されました。現在、eXtremeDBは、全てのWin32プラットフォーム、多くのUnixプラットフォーム、およびVxWorksとQNXを含む、様々な組込みオペレーティングシステム上で動作しています。また、サポート・プラットフォームは現在も増え続けています。 |
 |
eXtremeDBが対応しているコンパイラは?
eXtremeDBランタイムは、Microsoft Visual C/C++,gcc及びすべてのANSI C準拠のコンパイラでビルト可能です。また、eXtremeDBのDDL(Data Definition Language)コンパイラはUnix/Linuxプラットフォームのg++3及Windows用のMicrosoft Visual C/C++6.0でビルトします。 |
 |
eXtremeDBはOSなしでも作動しますか?
はい。シングルスレッド・モードはOSなしでも実行可能です。eXtremeDBランタイムはシングルスレッド・モードではオペレーティングシステムサービスやCランタイム・ライブラリを利用しません。 |
 |
eXtremeDBはファイルシステムなしで作動できますか?
eXtremeDBはインメモリデータベースシステムですから、ファイルシステムがなくても動作します。もし、ファイルシステムがあればeXtremeDBはデータを保存・読込みが可能ですのでデータベースのバックアップ機能として応用することが出来ます。 |
 |
eXtremeDBはアプリケーションやデータベースのデバッグ機能がありますか?
eXtremeDBは"デバッグ"とまた"リリース"の2つのバージョンで提供されます。デバッグ・モードでは、開発者に卓越したデバッグ機能を提供します。eXtremeDBコード中にいくつかのトラップがあらかじめ存在していますので、アプリケーションのエラーを検知することができます。例えば、不正なポインターがeXtremeDBに渡される場合、eXtremeDBライブラリがエラーを事前に検出しますので、不正なポインターが実際に使用される前に不正なスタックやコードを見つけることができます。eXtremeDBが保存データにアクセスする時のチェック機能として、コンパイラがコンパイル時に行うタイプチェック機能を応用しています。この方法は、特定のオブジェクトタイプのものにアクセスすることを許すために、常に、そのデータタイプを一つのパラメータとして参照します。もし、間違いがあった場合、コンパイルエラーが発生します。これにより、異なるデータタイプでのデータアクセスがコンパイル時にはじかれます。リリース・モードでは、上記のトラップはすべてeXtremeDBランタイムコードから取り除かれます。また、ランタイムコードの多くの関数はインラインで記述されています。そのため、eXtremeDBベースアプリケーションの性能が著しく向上します。 |
 |
どのようにしてeXtremeDBを評価することができますか?
eXtremeDBランタイムはプラットフォームから独立しています。そのため、eXtremeDBの特徴や性能の評価、最終的なアプリケーションのためのベンチマークテスト、あるいはプロトタイプのために実際にハードウェア・プラットフォームを必要としません。評価パッケージをダウンロードしてください。評価パッケージは、すべての32ビットのWindows、WindowsCE、QNX、Linux、VxWorks、Quadros RTXC、LynxOS、HP-UXおよびSolarisに利用できます。これらのパッケージは、非常に多くのサンプル、様々なプログラミング技術を含むドキュメント、eXtremeDBランタイム、スキーマコンパイラが含まれています。このパッケージと一緒に提供されるインストールソフトウェアを用いてインストールしてください。そしてReadmeファイルに従ってサンプルをビルトしてみて下さい。非常に有効な情報が載っているユーザーズガイドを読んでみて下さい。適切なサンプルを参照し、必要であればメモリの使用状況やパフォーマンスを見るためにビルトしてみて下さい。 |
 |
ソフトウェアアップデートについては?
McObjectは年間サポート契約を提供します。これは、開発者に電話や電子メールでの技術サポート、無償マイナーソフトウェアアップデート(小数点の右へのバージョン・ナンバーの更新、例えば2.0から2.1に)を含みます。また、年間サポート契約に入っていればメジャーソフトウェアアップデート(小数点の左へのバージョン・ナンバーの更新、例えば2.0から3.0に)に対する割引もあります。初回の製品購入から30日間はサポートが受けられます。 |
 |
eXtremeDB XMLは何かの標準に対応していますか?
eXtremeDB XMLインターフェースは、W3C SOAPが推薦されたコードに従って開発されました。W3C
SOAPコードの詳細については、以下のWebページをご覧下さい。
http://www.w3.org/TR/soap12-part0/
http://www.w3.org/TR/soap12-part1/
http://www.w3.org/TR/soap12-part2/
また、eXtremeDB XMLのスキーマ・エンコーディングについては、次のW3Cの標準文書で記述されています。
http://www.w3.org/TR/soap12-part0/
http://www.w3.org/TR/soap12-part1/
http://www.w3.org/TR/soap12-part2/ |
 |
XML拡張とは何ですか?
XMLはデータの組み立て、記述及び交換を明確に定義された方法です。データは、すべての考えられる種類のデータ及びeXtremeDBをサポートしている複雑なデータを含みます。XML拡張により、eXtremeDBのデータベースへの実際のデータのインポート・エクスポートを実現します。XMLの詳細はこちらのホームページをご覧下さい。http://www.w3.org/XML/ |