2022.06.24 コラム
CDP運用:Workflow管理について Treasure Data編
はじめに
CDPの運用について、これまではアカウント管理についてお話しました。
今回CDP運用コラム第3弾では、Treasure Dataにフォーカスし、外部とのデータ連携や内部処理の自動化を行う『Workflow』の管理について触れていきます。
Treasure Dataをご利用の方、Treasure Data導入をご検討の方、Workflow管理に課題のある方の参考になれば幸いです。
※2022年6月執筆時点での情報となります。
Treasure Workflowとは
外部システムからのデータ取り込みや出力、内部処理(データ加工など)といったデータフローを自動化するTreasure Dataの機能です。
データ処理の順番や処理実行スケジュール(毎日0時に実行など)、外部連携の場合は認証キーなどを予め設定しておくことで、自動化を実現します。
CDPの構築、データ活用において欠かせない重要な機能です。
なぜWorkflowを管理する必要があるのか
そもそも、なぜ管理する必要があるかを説明します。
■制約があるため
Treasure Workflowは、以下の制約があります。(一部抜粋)
- アカウントあたりの同時実行task数(※)は10件まで
- アカウントあたりの同時実行attempt数(※)は200回まで
(US/Tokyo/EUリージョンの場合) - attempt 1回あたりのtask数は1000件まで
※Task:Workflowの処理単位
※Attempt:Workflowの実行単位
そのため、定められている制約を超えないように管理していく必要があります。
詳しくは、Treasure Dataの公式ドキュメントをご確認ください。
■Workflowの前後関係を整理・把握するため
処理に前後関係が発生する場合があります。
その場合はそれらを明確に把握しておくことで、障害発生時の影響範囲や、実行スケジュールを調整する際にどこまで調整すべきかを漏れなく、スピーディーに特定することが可能です。
例えば、外部データをCDPにImportしてから、CDP内でデータを加工し、その後BIツールにデータを出力するという処理を実施したい場合、ケースバイケースですが、以下のように分かれることが多いです。
- 外部システムと連携しデータをImportするWorkflow
- データ加工し、BIツールに出力するWorkflow
この場合、Workflow1が完了したあとにWorkflow2を実行する必要があります。
このような前後関係を明確に管理することで、1の実行スケジュールを後ろ倒しにした際は2も併せて後ろ倒しを検討する、1に障害が発生した際は1のリカバリが完了した後2を手動実行するなど、対応範囲が明確になります。
■Workflowの適切なスケジュール設計を実現するため
適切なスケジュール設計とは、すべての処理が滞りなく実行できている状態を指します。滞りなく実行するためには、各Workflowの開始から終了までの処理時間を把握することが重要です。
処理時間を把握し、管理することで、同時実行制限をコントロールすることや前後関係があるWorkflowのスケジュール設計に役立つことはもちろんですが、重い処理を実行するWorkflow(時間がよりかかる処理など)が走る際はできるだけその時間帯を避けて他のWorkflowをスケジュールするなどの配慮が可能となります。結果、すべての処理が効率的に実行できる状態となります。
管理表の活用
Workflowを管理するには、管理表の活用をお勧めします。
前述の通り、管理表では下記点を抑えることが重要です。
- 制約の可視化
- 前後関係の明確化
- 処理時間の可視化
例えば、以下のようなフォーマットで実現することが可能です。
Workflow管理のポイント
管理表の活用だけではなく、それを運用するためのフローや体制づくりも重要です。管理のポイントを紹介します。
■Workflow構築におけるルールを策定する
データ活用が活発化すると、複数名、または複数の部署が横断的にWorkflowを構築する可能性が考えられます。そういった場合は、予めルールを作っておいた方が良いでしょう。
基本的には、効果的に管理するためには、全体を管理する役割をたてることを推奨します。
その管理者に対して、構築するWorkflowをユーザーが申請するフローにすることで、管理者はすべてのWorkflowを把握することができ、全体を最適に設計することが可能となります。
フローの整理は、例えば以下の通りです。
誰が | Workflow構築担当者 |
どの窓口に | Workflow管理者 |
何を連絡 | ・構築予定のProject名(※)、Workflow名 ・Workflowの目的、処理内容(データImport/内部処理など) ・開始希望時間、理由 ・想定処理時間 |
※ Projectとは、Treasure WorkflowにおいてWorkflowを集約するフォルダのようなもの。
このように、ルールやフローを決めておくことで円滑な管理を実現します。
■Workflowのスケジュールは定期的に見直す
Workflowの管理は一度スケジュールを組んだだけでは終わりません。
例えば時間が経つとともにデータ量が増え、当初のWorkflow処理時間より大きく伸びてしまった場合は、前後関係が破綻しないように、また全体的に効率的な処理が実行できるようにスケジュールを組み直さなければいけません。そのため、実態に基づいた定期メンテナンスが必要です。
例えば、Workflow管理者が3か月に1回のペースで現状の状況を見直すなど、メンテナンス間隔も運用フローのひとつとして予め定めておけるとベストです。
さいごに
今回は、Treasure DataのWorkflow管理についてお話ししました。
CDPを使ったデータ活用が活発化していくにあたり、Workflowの管理方法やフローを決めていくことがより重要となります。是非参考にしていただければと思います。
また、DataCurrentでは、CDP構築・運用・活用までワンストップで支援しています。
お困りごとありましたら是非ご相談ください。
》CDP総合支援サービス ~構想・構築・活用~ のサービス資料はこちら
本件に関するお問い合わせは下記にて承ります。
株式会社DataCurrent
info@datacurrent.co.jp