Netezza Performance Serverのシステム処理の概要

Netezza Performance ServerforCloud Pak for DataおよびNetezza Performance ServerforCloud Pak for Data Systemシステムを起動すると、多数のシステムプロセスが自動的に開始されます。 次の表では、Netezza Performance Serverのプロセスについて説明します。
表 1. Netezza Performance Serverプロセス
プロセス 説明
bnrmgr
  • nzbackup および nzrestore コマンドからの着信接続を処理します。
  • 各クライアント・インスタンスを処理する backupsvr または restoresvr のインスタンスを開始します。
bootsvr
  • TFTP クライアント (SPU) に対して、ホスト上の初期プログラムまたはダウンロード・イメージの所在を知らせます。
  • SPU がデバッグ目的でコア・イメージの作成を指示された場合は、コア・ファイルのアップロード先を SPU に通知します。
clientmgr
  • nz アプリケーションからの着信接続を処理します。
  • これは、nzsql、ODBC などからの着信接続を処理する postmaster とほぼ同様の機能です。
dbosDispatch
  • 1 つ以上の Postgres、backup、および restore プロセスから実行プランを受け入れます。
  • 照会を処理する C コードを動的に生成し、ホスト上で実行できるようにクロスコンパイルします。
  • コンパイルされたコードを、実行する SPU にブロードキャストします。
dbosEvent
  • SPU から応答と結果を受け取ります。 必要に応じて、照会の一環として SPU に追加手順を実行させます。
  • 個々の結果セットを取りまとめ (集約、ソート、結合など)、最終結果をクライアントの Postgres、backup、または restore プロセスに戻します。
eventmgr
  • イベントとイベント・ルールを処理します。 イベントが発生すると (例えば、システム状態の変化、ハードウェア・コンポーネントの故障または再起動など)、eventmgr は、そのイベントに応じたアクションを実行する必要があるかどうかチェックし、必要な場合はアクションを実行します。 アクションとしては、E メール・メッセージの送信や外部プログラムの実行が可能です。 イベント・ルールの詳細については、イベント・ルールを参照。
loadmgr
  • nzload コマンドからの着信接続を処理します。
  • nzload コマンドの各インスタンスを処理する loadsvr のインスタンスを開始します。
nzvacuumcat
  • ブート時には、システムが nzvacuumcat コマンドを起動し、これがシステム・カタログに対して内部 VACUUM コマンドを呼び出します。この内部コマンドは、システム表から不必要な行を削除してディスク容量を削減し、システム表を高速にスキャンできるようにします。
  • システム・オペレーション中、nzvacuumcat プログラムは、各データベース内でシステム表が使用するホスト・ディスク容量を監視します。 このチェックは 60 秒ごとに実行されます。 特定のデータベースにおけるシステム・カタログのディスク容量がしきい値 (128 KB) を超えると、nzvacuumcat プログラムはそのデータベースに対してシステム表のバキューム (VACUUM、領域回収) を開始します。
  • VACUUM コマンドがシステム表に対して機能するためには、すべてのシステム・カタログ表について排他ロックを取得しておく必要があります。 システム・カタログ表をロックできない場合は、コマンドの実行が終了し、再試行されます。 VACUUM コマンドの実行に成功した場合にのみ、nzvacuumcat プログラムはデータベースのサイズを変更します。
  • VACUUM コマンドの動作中は、新規 SQL またはシステム表アクティビティーの開始が一切禁止されます。 その所要時間は通常 1 ~ 2 秒ほどですが、最後の VACUUM オペレーション以降にシステム・カタログの更新または削除が大量に発生していた場合には、これより長時間を要することもあります。
postgres
  • アクセス権 (ユーザー名、パスワード、ACL) を検証します。
  • SQL を解析し、最適化実行プランを生成します。
  • 照会の実行が終了した時点で、結果セットをクライアント・アプリケーションに返します。

    2 つのデフォルトの postgres ジョブは、sysmgr および sessionmgr プロセスと関連付けられています。

postmaster
  • クライアント (nzsql、ODBC など) からの接続要求を受け入れます。
  • クライアントにサービスを提供する postgres プロセスを、1 接続につき 1 つ開始します。
sessionmgr
  • システムを実行している各種セッションの最新状態が反映されるようにセッション表を維持管理します。 詳しくはセッションマネージャーを参照。
startupsvr
  • 他のすべてのプロセスを起動し、監視します。 いずれかのシステム・プロセスが異常終了した場合、startupsvr は一連の定義済みルールに従って、中断したプロセスを再実行するか、システム全体を再始動します。
  • /nz/kit/sys/startup.cfg によって制御されます。
statsmgr
  • nzstats コマンドからの統計情報要求を処理します。 詳細は統計サーバーを参照。
statsSvr
  • nzstats コマンドと通信し、ホスト側のオペレーション統計情報を取得します。
  • nzstats コマンドは sysmgr と通信して、SPU 統計情報を取得します。
sysmgr
  • システム全体の状態を監視および管理します。
  • SPU を定期的にポーリングし、正常に機能していることを確認します。
  • ユーザーからの要求に基づいて、またはハードウェア状態の変化 (たとえば SPU の障害) に対応して、状態遷移を開始します。