プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

ジョブコントロールのサービスとは?データウェアハウス運用に不可欠な6つの機能を解説

データウェアハウスの安定した運用を実現するためには、ジョブコントロールの機能が欠かせません。ジョブコントロールには、運用を支えるためのさまざまなサービスが含まれています。ここでは、代表的な6つの機能について詳しく見ていきましょう。

1. ジョブ定義

運用プロセスを構築する最初のステップは、一連の手順を「ジョブ」として定義し、ジョブ同士の関係性を指定できる仕組みを用意することです。この段階で、データウェアハウスの構造が記述されます。

また、特定のテーブルへのロードに問題が発生すると、そのテーブルに依存する他のテーブルのロードにも影響が及ぶ点に注意が必要です。例えば、顧客テーブルが正しく更新されていない状態で、そこに登録されていない新規顧客の売上ファクトをロードするのは危険です。

2. ジョブスケジューリング

運用環境には、時間ベース・イベントベースのスケジューリングといった標準的な機能が求められます。ウェアハウスへのロードは、総勘定元帳の締め処理の完了や、前日の売上データに対する売上調整の適用完了など、上流システムのイベントを起点として行われることが多いためです。

さらに、データベースフラグの監視、ファイルの存在確認、作成日時の比較などといった機能も含まれます。

3. モニタリング

経験を積んだシステム担当者ほど、内部が見えないブラックボックス型のスケジューリングシステムを受け入れません。ロード作業を担当するメンバーは、現在何が起きているのかを可能な限り把握できる必要があります。そのため、システム側は「ロードがどのステップまで進んでいるか」「開始時刻」「所要時間」などの情報を提供できなければなりません。

自社開発のウェアハウスであれば、各ステップがログレコードやログテーブルに書き込む方式で対応できます。一方、市販製品を利用する場合は、状況を視覚的に確認できる手段がサポートされていることが重要です。また、計算資源を共有している環境では、より高度なシステムであれば、データステージング中に他にどのプロセスが稼働していたかを通知したり、各プロセスの平均所要時間との比較レポートを提供したりする機能も備えています。

4. ログ記録

ログ記録とは、現時点で発生している出来事だけでなく、ロードプロセス全体に関する情報を収集することを指します。蓄積されたログ情報は、ジョブ実行中にエラーが発生した際のリカバリーや、プロセスの再構築に活用されます。

5. 通知

通知機能の重要性は、ユーザー数とウェアハウスへの依存度に密接に関係します。利用者が少なく、必要なタイミングでウェアハウスが使えることを前提とした業務を行っていない段階であれば、ロードの失敗に翌朝気づいて再実行しても大きな支障はないかもしれません。しかし、多くのユーザーがウェアハウスに依存するようになれば、障害を即座に検知して通知できる体制が不可欠になります。

6. エラーハンドリング

ロード処理中に回復不能なエラーが発生することは避けられないため、あらかじめ対策を計画しておく必要があります。システムはこうした事態を想定し、クラッシュリカバリー、停止、再起動の各機能を備えているべきです。

まずはツールを選定し、クラッシュ時の影響を最小限に抑えられるよう抽出処理を設計することが大切です。例えば、ロードプロセスでは比較的小さな単位でレコードセットをコミットし、コミット済みの内容を記録しておくのが有効です。トランザクションサイズはDBMSによってパフォーマンスへの影響が異なるため、コミット単位のサイズは調整可能にしておくことが望ましいでしょう。

  1. C言語のトークンとは?種類と基本構成要素をサンプルコード付きで解説

    C言語のプログラムは命令文(ステートメント)の集まりであり、さらにその命令文一つひとつは、より小さな単位の集合によって構成されています。このように、Cプログラムを構成する個々の小さな単位のことを「トークン(token)」と呼びます。つまり、Cプログラム内のすべての命令文は、複数のトークンが集まってできているということです。トークンはCプログラムを作り上げるための材料であり、「プログラムの基本的な構成要素(ビルディングブロック)」とも表現されます。Cプログラムにおけるトークンの種類Cプログラムの中で扱われるトークンには、主に以下の7種類があります。キーワード(予約語):int、if、for、re

  2. C#のコメントとは?複数行・単一行コメントの書き方を解説

    コメントは、コードの内容や意図を説明するために記述する注釈です。コンパイラはコメント部分を完全に無視するため、プログラムの動作には一切影響しません。C#では、複数行にわたるコメントは「/*」で始まり、「*/」で終わります。 複数行コメント /* 以下はC#における 複数行コメントの例です */ 「/* ... */」で囲まれた範囲はすべてコンパイラによって無視されます。処理の概要や注意点など、複数行にわたる説明を残したい場合に使用します。 単一行コメント // 変数の宣言 int a = 10; 単一行コメントは「//」から行末までがコメントとして扱われます。変数の意味や処理の意図を手軽にメモ