はじめに
Caché eXTreme は、XTP (Extreme Transaction Processing) アプリケーション用に最適化された高パフォーマンス永続ストレージ・エンジンとして Caché を活用できるようにする一連のテクノロジです。
概要
Caché eXTreme のコンポーネントには以下のものが含まれます。
-
eXTreme Event Persistence (XEP) — 単純な Java オブジェクトを永続イベントとして投影できるようにして、高速なストレージと処理を実現します。これは、低遅延のオブジェクトおよびイベント・ストリーム・データ・アクセスのための軽量 API です (“eXTreme Event Persistence の使用法” を参照)。
eXTreme API は、次に示すような Java アプリケーションとの統合のために設計されています。
-
イベント SOA および動的モジュール用の OSGi。
-
Esper などの CEP (複雑なイベント処理 (Complex Event Processing)) エンジン。
-
メッセージング 統合 (JMS、AMQP、他)。
インストールと構成
このセクションでは、要件を示し、Caché をインストールして eXTreme API を使用できるようにご使用の環境を構成する手順を示します。
要件
-
このリリースの Caché がサポートしている Java JDK (DOCBOOKMACRO(isp) の “サポート対象 Java テクノロジ” を参照)。
-
Caché 2010.2 以降
-
アプリケーションで XEP を使用する場合、Caché User ネームスペースが存在し、かつ書き込み可能であることが必要です (“eXTreme Event Persistence の使用法” を参照)。
インストール
-
Caché をインストールするときに、以下のように開発環境を選択します。
-
Windows では、インストール中に Setup Type: Development オプションを選択します。
-
UNIX® および関連オペレーティング・システムでは、インストール中に 1) Development - Install Cache server and all language bindings オプションを選択します ("Caché インストール・ガイド" の "UNIX® および Linux" のセクションにある “インストール・スクリプトの実行” を参照)。
-
-
Caché をセキュリティ・レベル 2 でインストールした場合、管理ポータルを開いて、システム管理, セキュリティ, サービス に移動し、%Service_CallIn を選択して、[サービス有効] ボックスにチェックが付いていることを確認します。
Caché をセキュリティ・レベル 1 (最小) でインストールした場合、これには既にチェックが付いているはずです。
必須環境変数
eXTreme アプリケーションを実行するために、以下の環境変数をすべてのプラットフォーム上で適切に設定する必要があります。
-
ご使用のパスに動的なライブラリ・ロード・パス <install-dir>/bin が含まれている必要があります。
-
Windows では、このパスを PATH 環境変数に追加します。
-
UNIX® および関連オペレーティング・システムでは、このパスを LD_LIBRARY_PATH 環境変数に追加します。
-
Mac OS X では、このパスを LD_LIBRARY_PATH 環境変数に追加します。
ご使用のパス変数に複数の <install-dir>/bin パスが含まれている場合 (例えば、Caché のインスタンスを複数インストールした場合)、最初のパスのみが使用され、その他のパスは無視されます。
-
必須ファイル
すべての eXTreme アプリケーションで JAR ファイル cache-jdbc-2.0.0.jar、cache-db-2.0.0.jar、および cache-extreme-2.0.0.jar が必須です。Java のサポートされている各バージョンに対してこれらのファイルの個別のバージョンがあります。個別のバージョンは、<install-dir>/dev/java/lib のサブディレクトリにあります (例えば、<install-dir>/dev/java/lib/JDK18 には Java 1.8 用のファイルが含まれています)。
CLASSPATH 環境変数には、これらのファイルへのフル・パスが含まれている必要があります。または、これらは Java コマンド行の classpath 引数で指定できます。
Windows の構成
-
Windows 上の Java 仮想マシンの既定のスタック・サイズは、eXTreme アプリケーションを実行するには小さすぎます (eXTreme アプリケーションを既定のスタック・サイズで実行すると、Java が EXCEPTION_STACK_OVERFLOW をレポートします)。パフォーマンスを最適化するために、ヒープ・サイズも増やす必要があります。eXTreme アプリケーションを実行するときにスタック・サイズとヒープ・サイズを一時的に変更するには、以下のコマンド行引数を追加します。
-Xss1024k -Xms2500m -Xmx2500m
UNIX® および関連オペレーティング・システムの構成
-
Cache バイナリでの許可を有していることを確認します (ユーザを cacheusr グループに追加)。
-
環境変数 LD_PRELOAD を Java インストール環境内の libjsig.so (Java によるシグナル処理の変則性の解決を可能にするライブラリ) のパスに設定します。以下に例を示します (使用しているシェルによって異なります)。
setenv LD_PRELOAD /my_jdk_path/jre/lib/amd64/libjsig.so
または
set LD_PRELOAD=/my_jdk_path/jre/lib/amd64/libjsig.so
Java インストール環境のルートの下の libjsig.so のパスは、プラットフォーム間、または Java リリース間で異なる場合があります。以下のコマンドを使用して、ご使用のシステムでこのパスを検索できます。
find $JAVA_HOME -name libjsig.so -print
ここで、JAVA_HOME は、Java インストール環境のルート・ディレクトリに設定されます。
Note:LD_PRELOAD 変数の設定は、eXTreme アプリケーションがシグナル・ハンドラの設定を行う他のサード・パーティのコンポーネントも使用する場合に重要です。この変数により、Java は、Caché によって設定されるシグナル・ハンドラを Java 独自のシグナル・ハンドラと結合でき、その結果 2 つのハンドラは相互に干渉しなくなります。この変数の設定に失敗するとシステム・クラッシュを引き起こす可能性があります。
Mac OS X の構成
-
Cache バイナリでの許可を有していることを確認します (ユーザを cacheusr グループに追加)。
eXTreme アプリケーションのサンプル
アプリケーションのサンプルは、すべての XTreme API で使用可能です。使用可能なコマンド行オプションのリストを表示するには、コマンド行引数 -h を指定してサンプルを実行します。以下の各セクションでは、<install-dir> は、ご使用の Caché インストール・ディレクトリのフル・パスです (ご使用のシステムの <install-dir> の場所は、“Caché 既定のインストール・ディレクトリ” を参照してください)。
XEP のサンプル
XEP のサンプル・ファイルは、<install-dir>/dev/java/samples/extreme/xep/test/ にあります。便宜上、これらのファイルは、コンパイル先も <install-dir>/dev/java/samples にある extremesamples.jar です。用意されているサンプル・プログラムは以下のとおりです。
-
RunAll.java — 他のサンプル・プログラムのすべてを順番に実行するプログラムです。
-
Coverage.java — 接続、スキーマのインポート、XEP イベントの格納、照会、更新および削除などの基本機能をテストします。また、サポート対象のデータ型のほとんどを制御します。
-
SingleString.java — 最も基本的な XEP テスト・プログラムです。これは、データベースに接続し、文字列フィールドを 1 つだけ含む単純なクラスをインポートし、このクラスに対応する複数のイベントの格納およびロードを行います。
-
FlightLog.java — XEP 完全継承モデルを示す例です。これは、時刻、場所、職員、乗客などの航空会社フライト情報を追跡します。
-
Benchmark.java — XEP API のパフォーマンス・テストを行います。
-
IdKeys.java — 複合 IdKey 機能を追加することで Benchmark テストを拡張します。
-
Threads.java — マルチスレッド XEP テスト・プログラムです。これは、Java スレッド・クラスを拡張し、Basic.java テストを使用して、複数のスレッドを使用する XEP をテストします。
これらのプログラムの詳細ドキュメントは、"Caché JavaDoc (<install-dir>/dev/java/samples/doc/index.html) を参照してください。<install-dir>/dev/java/samples/extreme/xep/samples/ にあるサポート・ファイルは、サンプル・プログラムのテスト・データを提供します。