新たにリリースされた Data Studio Developer には、次のような利点があります。
- SQLのチューニングに役立つ情報が得られます。
- OpenJPAおよび.NETアプリケーションのサービス品質が向上します。
- SQLを使用するJavaアプリケーションに関する洞察力が高まります。
- 生産性の向上、および開発者とDBAの間のコラボレーションの強化を実現できます。
- Javaデータベース アプリケーションのSQLインジェクション攻撃を受けるリスクを低減するか、ゼロにすることができます。
後述のシナリオを実行するには、次のものがインストールされている必要があります。
- Data Studio Developer 2.1 (トライアル コードを近日公開予定)
- DB2® for Linux®, UNIX®, and Windows® - DB2 Express-C 推奨
- 製品に付属の DB2 サンプル データベース
既存のプロファイル作成ツールでは、最も実行に時間がかかるアプリケーションのJavaメソッドを特定できました。Data Studio Developer 2.1では、データベースの呼出しが含まれるJavaメソッドのパフォーマンス メトリックを調べて、さらに詳細までドリル ダウンできます。pureQuery、JDBC、または別のフレームワークのうちのどれを使用しているかに関係なく、アプリケーション内のSQL1つあたりに費やされた時間、SQLの実行回数、およびSQLの実行にかかった最小、最大、および平均時間を特定できます。
Data Studio Developerがインストールされている環境で、次の簡単な手順を実行してみましょう。
- ビューで、「Data Management」→「Data Source Explorer (以前の Database Explorer)」の順に選択します。サンプル データベースへの接続を確立し、接続SAMPLEを呼び出します。
- Javaプロジェクトを作成し、myDSDPrjと名前を付けます。
- TutMod.javaファイルとUtil.javaファイルをダウンロードして、db2jcc.exampleパッケージにコピーします。このファイルは、さまざまなシナリオを実行するために使用する既存の簡単なJDBCアプリケーションを表します。
- pureQueryをプロジェクトに追加するには、次の手順を実行します。
- プロジェクトを右クリックして、pureQuery → Add pureQuery supportの順に選択します。
- 接続先のデータベースとして「SAMPLE」を選択し、「STAFF」テーブルを特定するためにデフォルト・スキーマを入力します。
- 以下の画像では、スキーマがSSURANGEになっています。
- 「Enable SQL capturing and binding for JDBC applications」ボックスを選択します。
図1. pureQuery サポートの追加
- パフォーマンス・メトリックを収集するには、pureQuery構成を使用するアプリケーションを実行します。
- アプリケーションを実行する前に、スキーマを正しく設定し、適切な「STAFF」テーブルを選択するようにします。TutMod.Javaファイルを開き、66行目に移動したら、SSURANGEという箇所を適切なスキーマ名で置き換えてください。ファイルを保存します。
- TutMod.javaを開き、ファイルを右クリックして、「Run」→「Run Configurations」の順に選択し、pureQuery構成を使用するアプリケーションを実行します。
- 「pureQuery」を選択し、データベース名、サーバ、ポート、ユーザID、およびパスワードの引数を指定して (図2参照)、「Run」をクリックします。
- パフォーマンス情報に従って実行されたSQLが収集されます。
- The SQL executed along with the performance information is collected.
図2. SQL メトリックを収集するアプリケーションの実行
- パフォーマンス情報を表示するには、次の手順を実行します。
- 「myDSDPrj」を右クリックして、「Show pureQuery outline」を選択します。
- pureQuery Outline で、「Toggle Profile」ボタンをクリックします。
- myDSDPrjプロジェクトを展開します。これにより、各SQL文のパフォーマンス情報が表示されます。
例えば、以下の画像は、SELECT文が2回実行され、所要時間合計が270ミリ秒であることを示しています。
図3. SQL 実行メトリック
問題のあるSQLを特定したら、それを最適化する必要があります。稼働アプリケーションやパッケージされたアプリケーションでは、アプリケーションのソース・コードを変更できない代わりに、生成されたSQLを変更できる場合があります。例えば、SQLを変更して、新たに追加されたインデックスを活用したり、返される行数を制限したり、必要とされているORDER BY節を追加したりできます。
Data Studio Developer 2.1が提供する制御付きエディターでは、アプリケーションから生成された既存のSQL文を等価以上のSQL文に置き換えることができます。このエディターは、文の等価性を自動的に検証し、等価でない文を不許可にします。
Data Studio Developerがインストールされている環境で、次の簡単な手順を実行してみましょう。
- 「myDSDPrj」の「pureQueryFolder」を展開します。「capture.pdqxml」をダブルクリックします。
- SELECT文 (SELECT id, name, dept, job, years, salary, comm FROM staff WHERE id = ?) を右クリックして、「Edit」を選択します。これは、前出の図3に示されているSELECT文です。デフォルト スキーマを選択して、テーブルを修飾します。
図4. 返される行数の削減を目的とした既存のSQLの編集
- これで、次のSQLを使用して、文を編集できるようになりました。このSQLは既存のSQLと等価ですが、返される行数は少なくなります。
SELECT id, name, dept, job, years, salary, comm FROM staff WHERE id = ? fetch first 2 rows only - 「Save」をクリックします。
図5. 最適な SQL での置き換え
返される行数が少なくなるようにSQLが変更されました。再度SQLを実行して、パフォーマンス・メトリックに差異が発生しているかどうかを確認します。
- 再度アプリケーションを実行するには、次の手順を実行します。
- pdq.propertiesを開き、captureModeをOFFに設定し、さらにenableDynamicSQLReplacementをTRUEとして追加します。
pdq.captureMode=OFF pdq.executionMode=DYNAMIC pdq.enableDynamicSQLReplacement=TRUE - pureQuery構成を使用するアプリケーションを実行します。
- pdq.propertiesを開き、captureModeをOFFに設定し、さらにenableDynamicSQLReplacementをTRUEとして追加します。
- 再度パフォーマンス・メトリックを表示するには、「myDSDPrj」を右クリックして、「Show pureQuery outline」を選択します。
- 以下の画像は、SELECT文が以前と同様2回実行されたことを示していますが、所要時間の合計は519ミリ秒となっています。SQL文の実行にかかった時間が以前よりも短縮されています。
図6. 最適なSQLでの置き換えによって改善されたSQLパフォーマンス
OpenJPAおよび.NETアプリケーションのサービス品質を改善する
今回のリリースでは、DB2のデータにアクセスする既存または新規のJPAアプリケーションによって提示されるSQ およびJPAQLに関する知識を得ることができるようになりました。さらに、アプリケーション コードを変更せずに、静的SQLをシームレスに使用することもできます。アプリケーションがDB2を使用している場合は、WebSphere® Application Version 7の静的生成プログラム (wsdb2gen) を使用してSQLを収集します。アプリケーションを実行しなくても、ほとんどの機能は利用できます。利用できない機能は、クライアントの最適化と組み合せます。Data Studio Developer 2.1にはツール サポートが提供されているため、静的な生成プロセスがより簡単になります。ただし、WebSphere 7フィックスパック3が適用されていることが前提条件です。
Data Studio Developerがインストールされている環境で、次の簡単な手順を実行してみましょう。
- JPAプロジェクトにpureQueryサポートを追加します。
- WebSphereがインストールされた環境から取得したcom.ibm.ws.jpa.jarをビルド・パスに追加します。
- 「persistence.xml」を右クリックし、「pureQuery」 → 「Generate pureQueryXml file」の順に選択します。
- プロジェクトを右クリックして、「pureQuery」→「Show pureQuery outline」の順に選択します。
- 使用中のエンティティー、namedQueries、およびエンティティーのnamedNativeQueriesから生成された使用可能なすべてのCRUDのみでなく、マッピング ファイルも表示されます。
- 任意のSQLをダブルクリックして、SQL問合せをトリガしたJPAソースにドリルします。
- オプションの手順ですが、クライアントの最適化を使用すると、実行時にのみ使用可能なSQL (動的JPAQL文など) をキャプチャーできます。pdq.Properties captureModeをONにしてアプリケーションを実行し、アプリケーションから残りのJPAQLおよびSQLを収集します。
アプリケーションがDB2を使用しているかどうかに関係なく、既存の非DB2 JPAアプリケーションを、コード行を変更せずに最適化します。既存のSQLを最適な SQLに置き換えるには、「コードを変更せずにアプリケーションを調整および最適化する」セクションを参照してください。Data Studio Developer 2.1のJPAサポートに関する詳細な実践チュートリアルは、随時提供する予定です。
静的SQLを使用する.Netアプリケーションのサービス品質を改善する
Data Studio pureQuery Runtime 2.1には、.Netアプリケーションの安定度、セキュリティー、および管理の容易性を高めるためのサポート (C# や VB.Net などの.Netベースの言語で記述されたものを含む) が提供されています。このSQLアウトラインを使用して、既存の.Netアプリケーションをアップグレードしてください。
- .Net 接続文字列で、captureModeをONに設定します。
captureMode = on;pureQueryXML=path/filename:collection=collName;rootpackage=pkgName - すべてのテストを実行します。
- DB2capユーティリティーを使用して、キャプチャーしたSQLから静的パッケージをバインドして作成します。
- 実行権限を付与します。
- 接続文字列で、captureModeをOFFに、executionModeをSTATICに設定します。
executionMode=STATIC:captureMode=OFF - すべてのテストを実行して、正しい結果を検証します。
これで、既存のC#またはVB.NETプログラムが静的SQLで実行されるようになりました。
SQLを使用するJavaアプリケーションに関する洞察力を高める
pureQuery Outlineに表示される既存のアプリケーションに対してData Studio Developer 1.2を使用するには、アプリケーションを実行して発行されたSQLを確認し、さらにソース内のSQLの場所を確認する必要がありました。Data Studio Developer 2.1を使用すると、アプリケーションを実行しなくても、アプリケーション内のSQLが自動的に検証されます。アプリケーションに含まれるすべてのハードコーディングされたSQLを確認できます。アプリケーションを実行して、残りのSQLを収集できます。
Data Studio Developerがインストールされている環境で、次の簡単な手順を実行してみましょう。
- 「myDSDPrj」をクリックして、「Show pureQuery outline」を選択します。
- プロジェクトを右クリックして、「pureQuery」→「Show pureQuery outline」の順に選択します。
- 「Database」タブを選択します。まだ実行されていないUPDATE文およびDELETE文がアウトラインに表示されます。DELETE文をダブルクリックして、Javaファイル内の格納場所に移動します。以下の画像を見ると、発行されているJavaソースがexecuteUpdate文だったことがわかります。
図7. SQLの自動検証 ― 「Database」タブ
- 「Java」タブをクリックします。「myDSDPrj」を展開し、次にdb2jcc.exampleという名前のパッケージを展開します。まだ実行されていないDELETE文およびUPDATE文がアウトラインに表示されます。今度はUPDATE文をダブルクリックして、Java ファイル内の格納場所に移動します (この場合は、JDBCのPREPARE文で処理された文に移動します)。JDBCのexecuteUpdateには、PREPARE文で処理された文の実行場所も表示されます。
図8. SQLの自動検証 ― 「Java」タブ
実際にアプリケーションを実行すると、SQL位置の精度が改善されます。さらに、動的に構築されたSQLも含まれます。Data Studio Developerで、次の簡単な手順を実行してみます。
- TutMod.javaを開き、mainメソッドでbasicUpdate呼出しのコメントを外します。
- アプリケーションを実行します。
- pdq.propertiesを開き、captureModeをONに設定し、さらにenableDynamicSQLReplacementをFALSEとして追加します。
pdq.captureMode=ON pdq.executionMode=DYNAMIC pdq.enableDynamicSQLReplacement=FALSE - アプリケーションを実行します。
- pdq.propertiesを開き、captureModeをONに設定し、さらにenableDynamicSQLReplacementをFALSEとして追加します。
- 「myDSDPrj」を右クリックして、「Show pureQuery outline」を選択します。
- 「Java」タブをクリックします。「myDSDPrj」を展開し、次にdb2jcc.exampleという名前のパッケージを展開します。前出のexecuteUpdateヒントが、実際のSQL UPDATE文に置き換えられています。
図9. 精度の改善を目的とするアプリケーションの実行 ― 「Java」タブ
以前は、pureQuery Outlineが個々のプロジェクトに制限されていたため、アプリケーションから発行されるSQLの情報は、プロジェクト・ベースでしか確認できませんでした。複数のプロジェクトにまたがるアプリケーションの場合、全体像を簡単には把握できませんでした。
アプリケーションに属していないワークスペース内のプロジェクトをすべて閉じてください。Data Studio Developer 2.1では、アプリケーションがデータベースに発行するSQLについて、必要な情報がすべて提供されます。
続行する前に、いくつかのプロジェクトをアプリケーションに追加してみましょう。Data Studio Developerを使用すると、複数のテーブルのpureQueryコードを一括生成できます。
ボトムアップ コードの一括生成
Data Studio Developer 1.2では、テーブルごとのコード生成のみが可能でした。バージョン 2.1では、複数のテーブルについて、ボトムアップ コード生成をより迅速に実行できます。
- pdqBulkBottomUpという名前のJavaプロジェクトを作成します。
- DEPARTMENTテーブルおよびEMPLOYEEテーブルを選択し、右クリックして、「Generate pureQuery code」を選択します。
- パッケージ名を指定し、「Generate annotated style」コードを選択します。「Next」をクリックします。
図10. 2つのテーブルからのpureQueryコードの生成
- DEPARTMENTテーブルの「SQL Statements」タブを選択します。以下に示すように、「Select all rows」、「Create row by parameters」、および「Create row by object」を選択します。「Finish」をクリックします。
図11. pureQueryコード生成 ― SQL文の選択
- これで、複数のテーブルのデータ アクセスを即時に生成できるようになりました。SQL CRUD文はテーブルごとに生成されます。つまり、テーブル間の関係は考慮されません。
- プロジェクトを右クリックし、「Show pureQuery outline」を選択すると、データベースへのドリル ダウンと、各SQLのアプリケーションへのドリル・アップが可能になります。次のような質問に対する答えを導き出してください。DEPARTMENTテーブルを使用しているのはどのSQLですか。また、そのSQLはJavaコードのどの部分で使用されていますか。
図12. 特定のスキーマまたはテーブルを使用するSQL、およびそのSQLが使用されているJavaコード内の場所 ― 「Database」タブ
- 「Java」タブをクリックします。考えられるすべてのプロジェクトがpureQuery Outlineに表示されます。JavaクラスをSQLにドリルダウンすると、アプリケーションのデータベース照合を実行できます。次のような質問に対する答えを導き出してください。JavaクラスDepartmentDataによって発行されるのはどのSQLですか。また、そのSQLはどこに発行されますか。
図13. Javaクラスが発行するSQLとその場所 ― 「Java」タブ
アプリケーションが使用するSELECT文および絶対値 (abs) 関数を使用するSQL文を検索する
以前は、pureQuery Outlineのフィルタを使用して、データベース列またはテーブルを使用するSQL文の情報を取得できました。Data Studio Developer 2.1では、pureQuery APIを使用しているのか、JDBCまたはフレームワークを使用した既存のアプリケーションを使用しているのかに関係なく、拡張フィルタ処理を利用して対象のSQLを絞ることができます。この機能を使用して、特定の列を使用するSQL文を検索したり、そのSQL文の中からSELECT文であるものを検索したりできます。さらに、特定の関数を使用するSQL文も確認できます。
次の簡単な手順を実行してみましょう。
- 以下に示すように、pureQuery Outlineの「Filter」ボタンをクリックします。
- SQL テキストフィルター・パターンとして、フィルター情報 (.*SELECT.*) を指定します。「OK」を選択します。(.*SELECT.*)
- これにより、フィルター処理されたpureQuery OutlineビューにアプリケーションからのSELECT文がすべて表示されます。
図14. アプリケーションが実行するSELECT文を検索する
- フィルターを列名別に追加するには、フィルター値<SCHEMA>.STAFF.IDを入力します。これにより、ID列を使用するすべてのSELECT文がSTAFFテーブルに表示されます。これは、影響分析を実行する場合にたいへん役に立ちます。データベース オブジェクト名として、値<schema>.STAFF.ID を入力します。これにより、STAFFテーブルのID列を使用するすべてのSELECT文が表示されます。
図15. 列 ID を使用する SELECT 文の検索
アプリケーションに存在するSQL、およびデータベースに送信されるSQLを見つける
pureQuery Outline を表示して、アプリケーションに含まれている SQL と実際にデータベースに送信される SQL を照合します。先ほど置き換えた SQL を確認してください。
Data Studio で、次の簡単な手順を実行してみましょう。
- pureQuery Outlineの「Database」タブで、SELECT文を展開します。データベースに送信されたSQLは、前述の手順で置き換えたSQLです。
図16. アプリケーションに存在する SQL とデータベースに送信される SQL の表示
Data Studio Developer 1.2では、スタック・トレースに基づいて、ソース・コードでのSQLのおおよその位置が示されました。Data Studio Developer 2.1では、アプリケーション内でのSQLの場所をより正確に把握できます。SQLはどこで定義され、どこで実行されているのでしょうか。同じSQLを呼び出すコード・パスにはどのようなものがあるでしょうか。
Data Studio Developerがインストールされている環境で、次の簡単な手順を実行してみましょう。
- pureQuery Outlineの「Java」タブをクリックして、SELECT文を展開します。SQLが定義された場所 (preparedStatement) と、SQLが実行された場所 (executeQuery) を確認できます。
- DELETE文は、SQLが準備され、実行された特定の行を示しています。
図17. SQLが定義および実行された場所の表示
結果セットの値がどのようにJavaアプリケーションを流れるかを確認する
JavaアプリケーションがSQLを消費する方法についての詳細情報を入手しましょう。取得された列値はどこで使用されるのでしょうか。データベースに送り返されるのでしょうか。出力されるのでしょうか。ソース・コードがある場合は、結果セットに値が返された後、その値がどのようにアプリケーションを流れるのかを追跡できます。
- DepartmentData.javaを開き、「DEPTNO」を右クリックして、「Source Code Analysis, Analyze column value Dependency」を選択します。
- 「pureQuery Analysis」ビューに、アプリケーション介した値の流れが示されます。データベースから値が取得される場所、およびデータベースに値が更新される場所を示すデータベース アイコンが強調表示されます。
図18. Javaアプリケーションを介したDEPTNO列値の流れの表示
生産性を改善し、開発者とDBAの間のコラボレーションを強化する
以前はコマンド行の展開に使用するバインド・プロパティーを手動で作成する必要がありました。エントリーが無効だった場合にそれを示す方法がなかったため、展開時にエラーがレポートされるまで待つ必要がありました。そのため、開発者はjarファイル、earファイル、またはwarファイルによる展開テストを簡単に実行できませんでした。
すぐに展開が可能ですか。Data Studio Developer 2.1では、展開にかかる時間が大幅に短縮されました。集中管理できる展開可能なbindProps (ただし、組織とは未共有) を作成します。Data Studio Developer 2.1を使用すると、開発者は、次の手順を試してアプリケーションが展開可能であることを確認できます。
- 「Default.bindProps」を右クリックして、「Add remove entries」を選択します。「com.pdqdemo.EmployeeData」と「com.pdqdemo.DepartmentData」を選択します。
図19. 静的SQLプロパティー管理の簡易化
- バインドをテストするには、「Default.bindProps」を右クリックして「bind」を選択します。
bindPropsの準備が整ったことを確認したら、展開対象のアプリケーションにjarを展開します。
アプリケーションを開発してテストすると、そのアプリケーションを展開するためにjarが展開されます。jarは、その後コマンド行でバインドされます。Data Studio Developer 2.1を使用すると、開発者は、次の手順を試してアプリケーションが展開可能であることを確認できます。これにより、必要なときにのみバインドが実行されるというインテリジェントな機能を活用できます。含まれているアプリケーションのサブセットのみを変更した場合、jarを再展開するときに不要なバインドが実行されないようにします。
- プロジェクトpdqBulkBottomUpのsrcフォルダのファイルおよびpureQueryフォルダのbindpropsにjarを展開します。
- jarファイルをバインドするには、jarファイルを右クリックして、「pureQuery」→「Bind」の順に選択します。bindPropsにリストされたエントリがバインドされます。
Data Studio 1.xでは、バインドできなかった場合に提供されるバインド・エラー情報が限られていたため、バインド・エラーの原因となったパッケージを特定できませんでした。そうした不十分な情報が理由で、バインド・エラーの修正が困難でした。また、一般的に、展開時には多数のSQL文を含む多くのパッケージがバインドされるため、問題がより複雑になっていました。
Data Studio Developer 2.1では、バインド・エラーが発生したときに提供される情報が大幅に増えました。バージョン 2.1では、バインド時にエラーとなったパッケージに関するフィードバックが提供されるほか、Data Studio DeveloperのツールとpureQuery Runtimeのコマンド行ツールを使用してエラーの原因を特定できます。
含まれているアプリケーションのサブセットのみを変更した場合、jarを再展開するときに不要なバインドが実行されないようになりました。
SQL文を作成する際に、SQLビルダーなどのツールやSQLエディターを使っているDBAの方は、簡単にpureQueryのコードを作成することができます。SQLビルダーを使用して、SQL文を.sqlファイルとして保存してください。その上で、.sqlファイルを右クリックするか、別のSQLエディターから該当のファイルを右クリックし、Generate pureQuery codeを選択します。これによりウィザードが起動され、ファイル内の全てのSQL文に対するpureQueryデータ・アクセス・レイヤーを効率よく作成することができます。
一方、DBAから.sqlファイルを受け取ったJava開発者の方も、pureQueryプロジェクトを使用して容易にこれらのSQL文のためのコードを生成することができます。また、同様に、既存のJDBCアプリケーション(群)もpureQuery APIフレームワークを使用して簡単に移行可能です。pureQuery outlineからSQLを選択してプロジェクト内の.sqlファイルにエクスポートするか、SQLエディターからSQLを開きます。そして、.sqlファイルを右クリックするか、SQLエディターから該当のファイルを右クリックし、Generate pureQuery codeを選択します。
Data Studio Developerで使用するpureQuery Runtimeの場所を選択する
Data Studio Developer 1.2以前では、インストールされたpureQuery Runtimeを簡単には使用できず、手動による多数の手順を踏む必要がありました。以下に示す手順を使用して、Data Studio Developer 2.1がpureQuery Runtimeのインストール先を指すようにします。
- 最上位レベルの「Window」→「Preferences」から、「Data Management」→「SQL Development」→「pureQuery category」の順に選択します。
- 「pureQuery Runtime Location」セクションで、pureQuery Runtimeのjarが格納されている場所を指定します。
以前のData Studio Developer 1.2では、Data Studio Eclipseベースのすべてのツールで個別にデータベース接続を作成する必要がありました。今回のリリースでは、データベース定義を1つのツールで定義して、それを他のツールと共有できるようになりました。共有接続をインポートして、再利用の機能を活用してください。
Data Studio Developer 1.xまたはData Studio Developer 2.1からpureQueryプロジェクトを簡単に移行する
Data Studio Developer 2.1でワークスペースを開くと、古いData Studioのワークスペースから既存の接続が自動的に移行されます。「Window」→「Reset perspective」の順に選択して、Data Studio Developer 2.1のパースペクティブにリセットします。既存のプロジェクトからpureQuery Runtimeを移行するには、プロジェクトの「Upgrade project」メニューを使用します。このプロセスの詳細については、技術情報<note pointer>を参照してください。
Javaデータベース・アプリケーションのSQLインジェクション攻撃を受けるリスクを低減するかゼロにする
データベースに発行されるSQLを、キャプチャーされたpdqxmlに基づく特定の承認済みSQLに制限する。
- pdq.propertiesで、次のプロパティーを使用して、アプリケーションを実行します。実行されたSQLはすべて、pureQueryFolderのcapture.pdqxmlにキャプチャーされます。captureMode=ON executeMode=DYNAMIC pureQueryXML=pureQueryFolder/capture.pdqxml capturedOnly=false
- さまざまなアプリケーションを実行してすべてのSQLを収集したら、SQLを制限できるようになります。
pdq.properties を開いて、次のプロパティを設定します。captureMode=OFF capturedOnly=true - これで、キャプチャーされたSQLのみを、動的にも静的にも実行できるようになりました。
エンタープライズ対応のアプリケーションを構築する開発者の生産性が大幅に向上します。優れたアプリケーションを作成し、DBAと共同作業する権限を開発者に付与することにより、重要なパフォーマンスの問題が実稼働環境で発生する可能性が低減されます。静的SQLの使用により、DB2サーバーでのCPU/トランザクションの削減が可能となり、既存のハードウェアおよびソフトウェア投資の増加が実現します。
Data Studio DeveloperおよびData Studio pureQuery Runtime 2.1をぜひお試しください。トライアル・コードを随時公開していますので、ダウンロードしてご利用ください。
表1. データベース毎のフィーチャー・サポート状況
| 機能 | DB2 for LUW | IDS | DB2 for z/OS | DB2 for iSeries |
SQLのチューニングに必要な、より詳細な情報を開発者に提供できる
| あり | あり | あり | あり |
SQLのチューニングに必要な、より詳細な情報を開発者に提供できる
| あり | なし | あり | あり |
| 静的SQLによって、OpenJPAへのサービスの質を向上する | あり | なし | あり | あり |
SQLを使用したJavaアプリケーションに関して詳細な分析結果を取得できる
| あり | あり | あり | あり |
開発者とDBAの生産性とコラボレーションを改善できる(静的SQLに基づいて提供される機能)
| あり | なし | あり | あり |
開発者とDBAの生産性とコラボレーションを改善できる(静的でないSQLに基づいて提供される機能)
| あり | あり | あり | あり |
| Javaデータベース・アプリケーションに関してSQLインジェクション・リスクを削減または廃除できる | あり | あり | あり | あり |
| 内容 | ファイル名 | サイズ | ダウンロード形式 |
|---|---|---|---|
| この記事のサンプル コード | TutMod.java | 11KB | HTTP |
| この記事のサンプル コード | Util.java | 11KB | HTTP |
学ぶために
- developerWorksのData Studioエリア(US): Data Studioスキルの向上に必要な参考資料を入手できます。
- 「What's new in Data Studio 2.1」ビデオシリーズ:2.1の最新機能の詳細について紹介されています。
- "「What’s new and exciting in IBM Data Studio Developer 1.2」"(developerWorks, 2008年8月): 作業を高速化、簡素化するための新機能(V1.2)について紹介しています。
製品や技術を入手するために
-
IBM Data Studio Developer 2.1をダウンロードし、この記事にある内容を試してみてください。
- DB2 は無料でご利用いただけます。DB2 Express-C(US) (DB2 Express Edition と同じコア データ機能を搭載し、アプリケーションを構築および展開するための確かな基盤を提供するコミュニティ向けの DB2 Express Edition の無料版) をダウンロードしてください。
- IBM 製品の評価版(US)をダウンロードして、IBM Information Management、Lotus®、Rational®、Tivoli®、および WebSphere® の実践的なアプリケーション開発ツールおよびミドルウェア製品をお試しください。
議論するために
- developerWorksのData Studioコミュニティー・スペース(US)
- developerWorksのData Studioチーム・ブログ(US)

