メニューボタン
IBMi海外記事2023.01.11

TRのデータベースおよびSQLアップデートは、どのIBM iユーザーにも有用

Alex Woodie 著

SQLサービスおよびデータベースのアップデートに関して言えば、7.5 TR1および7.4 TR7を使用しているほぼすべてのIBM i ユーザーにとって、何かしら有用なものがあるようです。IBMのDb2 for iアーキテクトのScott Forstie氏によれば、新たに追加および機能強化された何十ものデータベース関数およびSQLサービスがあることから、今回のTRは、実はこれまでで最大のリリースであるかもしれないということです。

Forstie氏は、彼のチームがこのデータベースに提供した、新たなWatson地理空間機能についての先日の『 IT Jungle 』のインタビュー( こちらの記事を参照)の際に、彼のチームが辿ってきた開発作業の道程や、どのようにしてこのIBM i 7.5 TR1および7.6 TR7(来月リリースのPTF)まで辿り着いたのかについて思いを巡らせていました。

「今回のテクノロジー リフレッシュ サイクルに向けて行ってきた私たちのチームの作業について振り返ってみると(とは言っても、発表日に向けてすべてのドキュメンテーションの準備を整えるのに忙しかったせいで、じっくり振り返る時間はなかったのですが)、今回のTRは、全般的に見て、1つのTRとしては過去最大のデリバリーと見てよいのではないかと思いました。デリバリーは多岐にわたる方法で行われ、またデータベースからのものも多数ありました」とForstie氏は述べています。

数という点だけで見ても、今回のTRサイクルでは、かなりの数の新たなSQLサービスがこのプラットフォームにもたらされることになります。Forstie氏が数えたところによれば、新たに追加されたSQLサービスは30種類、機能強化されたサービスは15種類以上あるそうです。

「すべてのユーザーにとって何かがあります」とForstie氏は述べます。「つまり、プログラマーにとっても、管理者にとっても、セキュリティ担当者にとっても、それぞれに何か有意義なものがあるということです。もちろん、データベース エンジニア向けにも、多少、地味ながらいくつかの機能強化があり、それらは同じように彼らにとって有意義なものです。」

新たなIBM i サービスだけでなく、もちろん、コアとなるデータベースの機能強化もあります。まずは、コアとなるデータベースの機能強化から見て行きましょう。

新たなコアとなるデータベースの機能強化の1つは、新たなSQL Error Logging Facility(SELF)機能であり、これは7.5と7.4の両方で利用できます。SELFは、SQLステートメントでどのエラーまたは警告が発生しているかに関する詳細情報を捕捉するのに使用できるデータベース メカニズムを提供します。

IBMのドキュメンテーションによれば、SELFは、実行が容易で、本番環境で安全に使用でき、問題を特定するのに十分な、状況情報を含めた詳細情報(QSYS2.SQL_ERROR_LOGへダンプされる)を提供するということです。これは、従来のSQL Performance Monitorの代わりとして使用できるものであり、特定のジョブに対して、またはシステム全体に対して使用できるとIBMは述べています。

また、データベース エンジニアの皆さんには、データベースに対する手動の変更を行いやすくする、7.4および7.5の別の新たなデータベース関数も有用かもしれません。顧客は、生成された列が使用されるときに、データに対して加えられた変更を追跡するのに苦労していました(たとえば、データ モデル変更のステージングなど)。 IBMのドキュメンテーションによれば、新たなQSYS2.REPLICATION_OVERRIDE関数によってユーザーは、SQLで生成された列向けに新たな値を生成することをDb2 for iに要求することなく、SQLを使用してデータベースで行を移動できるようになります。

並列処理が無効化されているときに手動で設定する、照会最適化プログラムの新たなオプションによって生み出されるより大きなサーバー ヘッドルームは、エンジニアには喜ばしいものと言えるでしょう。デフォルトでは、CPU使用率が80%に達するとオフになります。これは、たとえば実行時間の長いOLAP照会によって他のジョブが影響を受けないようにするのに有用です。しかし、7.5での新たなPARALLEL_MAX_SYSTEM_CPU QAQQINIオプションを使用することで、ユーザーはその制限値を高くまたは低く設定することができます。

同様に、エンジニアは、対称型マルチプロセッシング(SMP)が開始されるまでに、ジョブが実行される必要がある最短の時間を設定するための新たなコントロールも使用できるようになります。デフォルトでは60秒に設定されています。これは、SQL Query Engine(SQE)が、その秒数より少ない秒数しか掛からないことが予想されるジョブではSMPを使用しないことを意味しています。新たなPARALLEL_MIN_TIME QAQQINI(7.5および7.4で利用可能)により、エンジニアは、その値を高くまたは低く調整することで、実際にパフォーマンスの調節を行うことができます。

また、Db2 for iの開発チームのメンバーたちも、彼らがIBM i でSQLに追加した新たな REMOTE TABLE サポートについては、ワクワクするものがあるでしょう。この機能は、ユーザーが、リモートIBM i サーバーで実行されているユーザー定義表関数(UDTF)を照会しやすくします。

JSONドキュメントとして格納されているWebおよびモバイル データで作業する開発者には、7.4および7.5に追加される新たな JSON_UPDATE組み込みスカラー関数 が有用でしょう。このスカラー関数によってユーザーは、適切なキーを指定してJSONドキュメントから値を更新または除去することができます。

また、月の最初の日を日付またはタイムスタンプ フォーマットで導き出すのに使用することができる、新たな FIRST-DAY 組み込みスカラー関数もあります。また、時間を大切にしている方には、新たなTIMESTAMPDIFF_BIG組み込みスカラー関数も有用でしょう。これは、 ドキュメンテーションによれば、タイムスタンプ比較で任意の細分度およびスケールを処理できるということです。

Forstie氏とデータベース開発チームは、IBM i の広範囲にわたるタスクを処理する様々なSQLサービス(IBM i サービスとも呼ばれる)を作成するべく、過去数年間にわたって尽力してきました。それらのサービスはSQLで書かれ、データベースで実行されますが、データベース自体はあまり対象になっていません。むしろ、パフォーマンス、アナリティクス、アプリケーション開発、そしてもちろんセキュリティなど、システム管理の多くの面を対象としています。

セキュリティに関しては、IBMは、NVMeドライブをロックするための新たなIBM i サービスを追加しています。すべてのNVMeドライブは自己暗号化ドライブですが、パスワードは暗号化されていません。 IBMのドキュメンテーションによれば、TCG(Trusted Computer Group) Opal SSC(Security Subsystem Class)仕様を使用して、電源喪失時またはPCIeの「コールド リセット」発生時に、NVMeドライブがロックされるようにすることができる新たなサービスを導入しました。これにより、データ損失に対する保護が強化されます。

まず、システム上のすべてのCLコマンドについての情報を返す、新たなCOMMAND_INFOサービスがあります。このサービスは、コマンド表示(DSPCMD)CLコマンドおよびコマンド情報の検索(QCDRCMDI)APIを介して取得されるのと同じ情報を提供するとIBMは述べています。

また、Forstie氏のチームは、HARDWARE_RESOURCE_INFOも提供しています。これは、構成されているハードウェア資源についての情報を返すQSYS.2のビューおよび表関数です。このIBM i サービスは、システム保守ツール開始(STRSST)の「ハードウェア保守管理機能」インターフェース、ハードウェア資源リストの検索(QGYRHRL、QgyRtvHdwRscList)API、およびハードウェア資源情報の検索(QGYRHRI、QgyRtvHdwRscInfo)APIなど、他の方法によって以前に提供されていたデータを複製します。

IBMは、ObjectConnect over IPサーバーの詳細情報をユーザーが表示および変更できるようにする、新たな2つのサービスを導入しました。CHANGE_OBJECTCONNECTおよびOBJECTCONNECT_INFOサービスの詳細については、 こちらを参照してください。

Job Queue List(JQL: ジョブ待ち行列リスト)へ投入されたジョブの追跡は、新たなSubmitted Job Tracker(投入ジョブ トラッカー)サービスのおかげで行いやすくなります。 IBMのドキュメンテーションによれば、ユーザーがジョブ待ち行列トラッカー リストにジョブ待ち行列を追加すると、その後にそのジョブ待ち行列に投入されたジョブは、ジョブ トラッキング ファイルで追跡されます。ユーザーは、ジョブ トラッキング ファイルの情報を使用して、メンテナンスの支援や、ノード障害からの回復、またはワークロードのバランスを取るのに役立てることができるとIBMは述べています。ADD_TRACKED_JOB_QUEUEサービスの他にも、いくつかの関連するサービスがあります。

7.4および7.5に追加されるCHANGE_DISK_PATHSプロシージャーのおかげで、管理者は、IBM i サーバーが外部ディスクにアクセスするのに使用するパスをよりきめ細かくコントロールできるようになります。指定されたパラメーターと一致するパスのみが無効化され、また、一部の外部SCSIディスクのみサポートするとIBMは述べています。

セキュリティ管理者向けには、サーバーで重要なシステム制限の高レベルでの消費が検知されたときにQSYSOPRメッセージ待ち行列にメッセージを送信するサービスなど、その他の新たなサービスにも有用なものがありそうです。最後に、IBMは、監査ジャーナル(いつもIBM i サービスのターゲットとなっています)からデータを取り出すことを目的とする数多くの新たなサービスを追加しています。今回のリリースでIBMは、AD、DS、IM、PG、SK、SM、ZC、およびZRの監査ジャーナル項目タイプのサポートを追加しています。

IBMは、数多くの既存のIBM i サービスを機能強化しています(すべてQSYS2)。また、2つのDb2 for iサービスも機能強化されています。それらの詳細については、IBM i 7.5 TR1では こちらのページ 、IBM i 7.4 TR7では こちらのページ を参照してください。

これらの機能強化の多くは、新たな「IBM Ideas」 Webサイトを通じてIBM i ユーザーから要望されたものです。RFE(機能拡張の要望)プロセスは、 今年初めに「IBM Ideas」に置き換えられました(ただし、すべてではありません)。

「おそらく、より重要なのは、取り入れられたアイデアの件数です(すなわち、それらは機能拡張の要望です)。20件ありました」とForstie氏は述べています。「もちろん、イノベーションもあります。もっとも、それらがデータベースから出てくるとは、おそらく誰も思わなかったでしょう。」

あわせて読みたい記事

PAGE TOP