2024年春のIBM i TRにはデータベースの機能強化が盛りだくさん
IBM i サーバーというのは、結局のところデータベース マシンであるので、最新のテクノロジー リフレッシュ(TR)で、Db2 for iに対する機能強化にかなり重点が置かれているのも当たり前のことだと言えるでしょう。照会オプティマイザー向けの新たな集約関数から、新規追加および改善されたSQLベースのIBM i サービスまで、これらのリリースには、注目してみるべきデータベース機能がたくさんあります。
IBMは5月7日に、IBM i 7.5 TR4および7.4 TR10を発表しました。これら2つのリリースの発表レターは、それぞれ こちら および こちらでご覧になれます。これら2つのリリース(6月14日に一般利用可能)の機能は同じであるため、両者を区別する必要はありません。リリースの詳細については、 「IBM Support」のこちらのページ でも参照できます(そのページに掲載されているのは7.5 TR4向けの機能強化ですが、両TRの内容は同じであるので、7.4 TR10にも適用可能です)。
まずは、データベースそのものに対する機能強化から見てみましょう。Db2 for iへ追加された新機能は2つあります。すなわち、新たなANY_VALUE集約関数と、CREATE ALIASでの*LASTキーワードのサポートです。
新たなANY_VALUE集約関数は、グループ内の値のセットから任意の値を返します。これにより、一定のタイプの照会をより容易に書けるようになり、また、索引の使い方もより適切になります。
IBMのDb2 for iビジネス アーキテクト、Scott Forstie氏によって提供された例では、ANY_VALUE集約関数を使用することで、郵便番号ごとの顧客数を表示する照会がより容易に書けるようになっています。開発者は、都市名、州名、および郵便番号の列をSELECT COUNT (*)照会に追加するだけです。都市名、州名、および郵便番号にわたって索引を構築するようにオプティマイザーに指示する必要はありません。
一方、CREATE ALIASステートメントは、現行またはリモート サーバーにあるデータベース ファイルの表、表のパーティション、ビュー、またはメンバーの別名を定義するものですが、メンバー名として*LAST(最後に作成されたメンバー)を指定できるようになりました。データベースは、別名作成時ではなく使用時に、どのメンバーを使用するかを選択します。
IBM i サービスの領域では、新たなTRで、15の新たなSQLサービスが導入され、さらに9つに対して機能強化が行われました。また、1つの新たなDBE(データベース エンジニア)サービスと呼ばれるサービスが追加され、他の2つのDBEサービスが機能強化されています。
QSYS2ライブラリーには、6つの新たなIBM i サービスが加わります。そのうち2つは、セキュリティ データを保存および照会しやすくするべくIBMが作成している、新たな監査ジャーナル データ マートに関連するサービスです。管理者は、QSYS2.MANAGE_AUDIT_JOURNAL_DATA_MARTプロシージャーを使用して、新たな監査ジャーナル データ マートを作成することができ、QSYS2.AUDIT_JOURNAL_DATA_MART_INFOビューを使用して、データ マートに保存されているデータを確認することができます。データ マートにおける10種類の列がトラッキングされています。詳細については、 IBMサポート ページを参照してください。
IFSは多少取り扱いづらいことがありますが、新たなQSYS2.COMPARE_IFS表関数を使用することで、状況の改善に着手できるようになります。管理者はこの関数を使用して、単一のIFSオブジェクトまたは特定のディレクトリー内のオブジェクトのサブツリーを比較することができます。
IBMは、コミットメント制御下にあるデータベース ファイルおよび他のオブジェクトのレコード レベルの状況を追跡するために、一対の新たな表関数を導入しています。QSYS2.DB_TRANSACTION_OBJECT_INFO()およびQSYS2.DB_TRANSACTION_RECORD_INFO()は、コミットメント定義の処理(WRKCMTDFN)CLコマンドで提供される機能を複製するものです。
最後に、新たなQSYS2.SYSTEM_OBJECT_TYPES表は、IFSおよびネイティブ ライブラリーを含めて、IBM i で検出された外部オブジェクト タイプのリストを返します。
SYSTOOLSの領域では、IBMは、9つの新たなIBM i サービスを提供し、2つの既存のサービスを機能強化しています。IBMでは、SYSTOOLSに対する取り組みを、コミュニティから最も注目を集めているツールに重点を置いて進めているとForstie氏は述べています。
「SYSTOOLSは、セキュリティ管理、パフォーマンス管理、システム管理といった作業にとって重要なものになりつつある」と彼は述べます。「そうした様々な重要課題に取り組む担当者にとって、使いやすさ、オートメーション、そして適切な時に適切な人物がデータを取得できることから得られるメリットは大きいと言えるでしょう。」
新たなSYSTOOLSベースのIBM i サービスには、以下のものがあります。
- 監査ジャーナル項目タイプのNA(ネットワーク属性の変更)およびPS(プロファイル スワップ)向けの新たな2つの表関数。
- インストールされているすべてのソフトウェア製品の正しい構成と実際の構成の違いを報告する、新たなCHECK_PRODUCT_OPTIONS()表関数。
- 新たなERRNO_INFO()スカラー関数は、「errno値」に対応する説明テキストを返します。
- 現行ジョブの環境変数の値を取得する新たなGETENVスカラー関数(環境変数の処理(WRKENVVAR)CLコマンドと同様)。
- IFSストリーム ファイルを削除する新たなIFS_UNLINKスカラー関数。
- IBM i プリンター ファイルの多くの属性を返す新たなPRINTER_FILE_INFOビュー(ファイル記述の表示(DSPFD)CLコマンドと同様)。
- 新たなPUTENVスカラー関数は、現行ジョブの環境変数の値を変更します(環境変数の追加(ADDENVVAR)または環境変数の変更(CHGENVVAR)CLコマンドと同様)。
- 最後に、新たなSPECIAL_AUTHORITY_DATA_MART表は、ユーザーの特殊権限に関する情報が含まれているデータ マートです。これらの権限は、ユーザー プロファイルから直接取得することも、グループ プロファイルのメンバーシップを介して取得することもできるとIBMは述べています。
IBMは、最新のTRで、5つのIBM i サービスを機能強化しています。IBM i のSubmitted Job Tracker実行管理機能に対する機能強化、SYSDISKSTATディスク トラッキング システムの新機能、SEND_EMAILおよびGENERATE_SPREADSHEETスカラー関数に対する機能強化、および一部の監査ジャーナル ヘルパー関数のパフォーマンス向上、の5つです。
最後に、IBMは、新たなQSYS2.SYSMEMBERSTATビュー(表パーティションまたは表メンバーごとに1つの行(プログラム記述ファイルの行を含む)を表示)によって、DBEサービス ラインに肉付けを行っています。また、IBMは、2つの既存のDBEサービス(SYS2.DUMP_PLAN_CACHEプロシージャーと、アクティブなSQL Query Engine(SQE)照会に関する情報を返すQSYS2.ACTIVE_QUERY_INFO表関数)の機能強化も行なっています。
さらに、IBMは、VS Code向けのIBM i ベースのプラグイン、Code for iのデータベース拡張機能についても機能強化を行なっています。それらについては、別の記事で取り上げる予定です。