JDBC メディエーター・パフォーマンスの考慮および制限
以下のヒントを使用して、JDBC データ・メディエーター・サービスがご使用のアプリケーション提供環境の要件に合っているかどうかを判別してください。
![[IBM i]](../images/iseries.gif)
SDO を使用して DB2 UDB for iSeries にアクセスするためのドライバー要件
SDO JDBC メディエーターは JDBC 2.0 で ResultSetMetaData インターフェースを利用するため、その仕様に完全に準拠する JDBC プロバイダーを使用する必要があります。 IBM® Developer Kit for Java™ JDBC ドライバー (DB2® UDB for iSeries Native ドライバーともいう) および IBM Toolbox for Java JDBC ドライバー はいずれも、DB2 UDB for iSeries への JDBC アクセスに関する基準を満たしています。 ただし、パフォーマンス上の理由により、これらのドライバーのいずれにも、 メディエーターが必要とするすべての情報を戻すようなデフォルト設定がありません。 完全な ResultSetMetaData データ・セットも戻すようにするには、各ドライバーに対応する JDBC プロバイダーやデータ・ソースで 接続プロパティーを設定する必要があります。使用するプロパティーは、ドライバー実装がデータベース接続を取得する方法に応じて異なります。
- ドライバーが DriverManager クラスを介して接続を取得する場合は、 JDBC プロバイダー URL プロパティーの拡張メタデータ を true に設定 (extended metadata=true) します。 このシナリオでは、IBM Developer Kit for Java JDBC ドライバーと IBM Toolbox for Java JDBC ドライバーの要件として、 JDBC プロバイダー・オブジェクトに同じ設定を行う必要があります。
- アプリケーションがデータ・ソースを介した接続を取得する場合は、使用するドライバーに応じて、データ・ソースに異なるカスタム・プロパティーを設定します。
- IBM Toolbox for Java JDBC ドライバーの場合は、 カスタム・プロパティー extendedMetaData を true に設定します。
- IBM Developer Kit for Java JDBC ドライバーの場合は、 カスタム・プロパティー returnExtendedMetaData を true に設定します。
その他のデータベースの制限
- バージョン 12.5.1 より前の Sybase は、「from」文節内のインライ ン照会をサポートしません。したがって、フィルターでの複数テーブル DataGraphs をサポートしません。 WebSphere® Application Server 内の サービス・データ・オブジェクト を使用する場合は、Sybase バージョン 12.5.1 を使用します。
- Informix® Dynamic Server は、複数のテーブル・グラフに必要とされる 2 次選択をサポートしません。 Informix Extended Parallel Server を使用します。
- Oracle 8i は ANSI 結合構文をサポートしません。 複数のテーブルの場合のメディエーターは、Oracle 10g 以降を必要とします。
一般的なパフォーマンスの推奨
- ターゲット・プロジェクトがこれらのテクノロジーにうまく適しているかどうかを評価します。 一般に、読み取り集中であり、切断データを必要とするプロジェクトは、良い 候補です。
- メタデータ内のテーブル数の制限 フィルターに関しては、グラフが多くのブランチ を持っている場合に関連があいまいになるので、1 つまたは 2 つが最適です。
- 可能な限り何度も小さなデータ・セットを使用して作業をすることにより、アプリケーション内のメモリーの過度な消費を回避します。 メタデータ・オブジェクト内でフィルターを指定するか、またはページングを使用して、SDO に戻されるデータの量を制限することができます。
- Web アプリケーションでは、DataGraph が大きすぎず、また後で再利用できる場合は、ユーザー・セッション内に保管します。