ワークフロー管理についてメモ - 09/01/2024

workflow

Workflow


WEB+DB PRESS plusの「ビッグデータを支える技術」という本の180ページから書かれているワークフロー管理について ワークフロー周りを開発している身としては忘れないようにしたい内容だと思ったので、備忘録として雑に残します。

ワークフロー管理

ワークフロー管理ツール

主な役割としては「定期的にタスクを実行すること」と「異常を検知してその解決を手助けすること」。 例えば以下のようなものがある

名称種類開発元
Airflowスクリプト型Airbnb
Azkaban宣言型Linkedin
Digdag宣言型TreasureData
Oozie宣言型The Apache Software Foundation
Luigiスクリプト型Spotify
Prefectスクリプト型Prefect Technologies
Metaflowスクリプト型Netflix
Dagsterスクリプト型Dagster

基本機能とビッグデータで求められる機能

宣言型とスクリプト型

ETLのプロセスにはスクリプト型のツール、SQLの実行には宣言型のツールをなどと使い分けるのも一つの方法。

エラーからのリカバリ方法を先に考える

リカバリとフローの再実行

リトライ

バックフィル

冪等な操作としてタスクを実行する

アトミック操作

冪等な操作

冪等な追記

アトミックな追記

ワークフロー全体を冪等にする

タスクキュー

ボトルネックの解消

よく発生する問題

タスク数の適正化


share on twitter suggests change