バッチ ワークロード処理とは
バッチ ワークロード処理とは、同時に処理するようにスケジュールされたジョブのグループ (バッチ) のことです。 伝統的に、バッチ ワークロードは、バッチ ウィンドウ、つまり、全体的な CPU 使用率が低い期間 (通常、夜間) に処理されます。 その理由は2つある。
- バッチ ワークロードは高い CPU を必要とし、ビジネス日中の他の運用プロセスに必要なリソースを占有する可能性がある
- バッチ ワークロードは通常、トランザクションを処理し、たとえば、ビジネス日の間に作成されたすべての販売記録を集めてレポートを作成するために使用します
現在、バッチ処理はジョブ スケジューラ、バッチ処理システム、ワークロード自動化ソリューションおよび OS のネイティブ アプリケーションによって実行されています。 バッチ処理ツールは、入力データを受け取り、システム要件を考慮し、大量処理のためのスケジューリングを調整します。 バッチ処理がストリーム処理と異なるのは、バッチ処理には非連続的な情報が必要な点である
バッチ処理の歴史
バッチ処理は、コンピュータの前史に根ざしている。 古くは1890年、米国国勢調査局は電気機械式の集計機を使って、米国の国勢調査の情報を記録していた。 927>
20世紀半ばには、カードにパンチしたデータを使ってバッチジョブが実行されていました。
メインフレームが進化し、より強力になるにつれ、より多くのバッチジョブが実行されるようになり、遅延を防ぐために十分なリソースがあるときだけバッチジョブを実行するようなアプリケーションが開発されました。 927>
バッチ処理の例
バッチ処理の使用例は、銀行、病院、会計、および大規模なデータ セットを処理する必要があるその他の環境で見つけることができます。 たとえば、すべてのクレジット カード取引が確定した営業終了後に、レポートの生成を実行します。
別の使用例では、財務データ管理会社が夜間にバッチ処理を実行し、サービスを提供する銀行や金融機関に財務レポートを直接提供します。
バッチ処理の利点と欠点は、主要な計算機リソースを占有せずに大量のデータを処理する方法を提供するので便利なことです。 医療機関が請求記録を更新する必要がある場合、リソースへの要求が低い夜間にバッチを実行するのが最善かもしれません。
同様に、バッチ処理は、コンピューティング リソースが利用可能なときにジョブを実行することにより、ダウンタイムの短縮に役立ちます。 バッチ システムを新しいデータ ソースと統合するには、カスタム スクリプトが必要になることが多く、機密データが含まれる場合はサイバーセキュリティ上の懸念が生じる可能性があります。 従来のバッチ システムでは、ストリーム処理やトランザクション処理など、リアルタイムのデータを必要とする処理を扱うには不十分な場合があります。
エンタープライズ ジョブ スケジューリング ソリューションを使用して、データ センターの複雑さを克服する方法を探ります。
最新のバッチ処理システム
最新のバッチ処理システムは、チームが大量の作業負荷を容易に管理できるような幅広い機能を提供します。 これには、イベント ベースの自動化、制約、およびリアルタイムの監視が含まれます。 これらの最新の機能は、すべての必要なデータが利用可能なときにのみバッチが実行されるようにし、遅延やエラーを削減します。
遅延をさらに削減するために、最新のバッチ処理システムには負荷分散アルゴリズムがあり、バッチ ジョブが、利用できるメモリやCPUが少ないサーバーに送られないようにします。
一方、高度な日付/時間スケジューリング機能により、独自の休日、会計カレンダー、複数のタイムゾーンなどを考慮しながらバッチをスケジュールすることが可能になります。
しかし、リアルタイム データへのニーズの高まりと、現代のデータ処理の複雑化により、多くの IT 組織は、データ管理と統合のための高度なツールを提供するワークロード自動化およびオーケストレーション プラットフォームを選択しつつあります。 均質なメインフレームやオンプレミス データ センターに依存するのではなく、バッチ プロセスはハイブリッド環境で実行されています。 これには十分な理由があります。
先に述べたように、バッチ プロセスは頻繁にリソース集約的です。 今日、ビッグ データとオンライン トランザクションの増加により、バッチ ワークロードはかなり多くのものを必要とする可能性があります。 クラウド インフラストラクチャを活用することで、IT 部門は、1 日の大半をアイドル状態にする物理サーバーをインストールする代わりに、需要に応じて計算リソースをプロビジョニングすることができます。 たとえば、IT 部門には、各 ETL プロセスを手動で実行したり、VM を手動で構成、プロビジョニング、デプロビジョニングするために必要なリソースがありません。 その代わりに、バッチワークロードツールは、これらのタスクをエンドツーエンドプロセスに自動化およびオーケストレーションするために使用されています。
たとえば、自動化およびオーケストレーションツールは、Hadoopクラスターのさまざまなコンポーネントへのデータの出し入れに使用でき、これには、VMのプロビジョン、BIプラットフォームへのETLジョブ実行、および電子メールを通じたレポート配信などのエンドツーエンドプロセスが含まれます。
組織がクラウドベースのリソースやアプリケーションに依存するようになると、異種プラットフォーム間でジョブ スケジュールとバッチ ワークロードをオーケストレーションする能力が重要になります。
これは重要です。なぜなら、ジョブ スケジューラー、自動化ツール、およびバッチ プロセスをサイロで実行するのではなく、ワークロード オーケストレーション ツールを使用して、すべてのバッチ ジョブを集中的に管理、監視、およびトラブルシューティングできるようになるからです。 リアルタイム監視とアラートにより、IT 部門は遅延、障害、および不完全な実行に対応または防止することができ、問題が発生した場合の応答時間を短縮できます。
自動再起動および自動修復ワークフローもますます一般的になっており、バッチ ジョブは優先順位付けされて、実行時にリソースが確実に利用できます。
さらに、拡張可能なバッチ ワークロード ツールにより、レガシー スクリプトおよびバッチ アプリケーションを統合することが可能になり、IT は簡素化と運用コストの削減を実現できます。
機械学習アルゴリズムは、バッチ ワークロードに VM をインテリジェントに割り当てて、スラック タイムとアイドル リソースを削減するために使用されています。 これは、大量のワークロード実行を管理するチームや、多数の仮想サーバーまたはクラウドベースのサーバーを使用するチームにとって重要です。
機械学習がリアルタイムで実行されているので、SLA が重要なワークロードが超過する危険性がある場合、追加のリソースを予約することが可能です。 これには、動的な需要に基づく追加の仮想マシンまたはクラウドベースのマシンのプロビジョニングが含まれます。 自動修復と組み合わせることで、エンド ユーザーや外部の顧客へのサービス提供が遅れないようにするための強力なツールとなります。
長期的には、IT はより多様化し分散化しており、IT が担当するワークロードの種類は今後も拡大し続けるものと思われます。 人工知能、IoT、エッジコンピューティングといった新しいテクノロジーの成熟により、ITチームには新しいアプリケーションやテクノロジーを迅速に統合するという新たな圧力がかかります。
ITは急速に変化していますが、バッチ処理など、変わらないものもあります。
Ready To See How We Make Workload Automation Easy?
Schedule the demo to watch our experts that run jobs match your use cases in ActiveBatch. 質問にお答えし、ActiveBatch でのジョブの構築と保守がいかに簡単かをご確認ください