Column

コラム

  • CDP運用:Workflow管理について Treasure ...
  • CDP
  • Workflow

CDP運用:Workflow管理について Treasure Data編

はじめに

CDPの運用について、これまではアカウント管理についてお話しました。

今回CDP運用コラム第3弾では、Treasure Dataにフォーカスし、外部とのデータ連携や内部処理の自動化を行う『Workflow』の管理について触れていきます。
Treasure Dataをご利用の方、Treasure Data導入をご検討の方、Workflow管理に課題のある方の参考になれば幸いです。

※2022年6月執筆時点での情報となります。

Treasure Workflowとは

外部システムからのデータ取り込みや出力、内部処理(データ加工など)といったデータフローを自動化するTreasure Dataの機能です。

データ処理の順番や処理実行スケジュール(毎日0時に実行など)、外部連携の場合は認証キーなどを予め設定しておくことで、自動化を実現します。

CDPの構築、データ活用において欠かせない重要な機能です。

なぜWorkflowを管理する必要があるのか

そもそも、なぜWorkflowを管理する必要があるかを説明します。

■制約があるため

Treasure Workflowは、以下の制約があります。(一部抜粋)

  • アカウントあたりの同時実行task数(※)は10件まで
  • アカウントあたりの同時実行attempt数(※)は200回まで
    (US/Tokyo/EUリージョンの場合)
  • attempt 1回あたりのtask数は1000件まで

※Task:Workflowの処理単位
※Attempt:Workflowの実行単位

そのため、定められている制約を超えないように管理していく必要があります。
詳しくは、Treasure Dataの公式ドキュメントをご確認ください。

》Treasure Workflowの使用制限

■Workflowの前後関係を整理・把握するため

Workflowの処理に前後関係が発生する場合があります。
その場合はそれらを明確に把握しておくことで、障害発生時の影響範囲や、実行スケジュールを調整する際にどこまで調整すべきかを漏れなく、スピーディーに特定することが可能です。

例えば、外部データをCDPにImportしてから、CDP内でデータを加工し、その後BIツールにデータを出力するという処理を実施したい場合、ケースバイケースですが、以下のように分かれることが多いです。

  1. 外部システムと連携しデータをImportするWorkflow
  2. データ加工し、BIツールに出力するWorkflow

この場合、Workflow1が完了したあとにWorkflow2を実行する必要があります。

このような前後関係を明確に管理することで、1の実行スケジュールを後ろ倒しにした際は2も併せて後ろ倒しを検討する、1に障害が発生した際は1のリカバリが完了した後2を手動実行するなど、対応範囲が明確になります。

■Workflowの適切なスケジュール設計を実現するため

Workflowの適切なスケジュール設計とは、すべての処理が滞りなく実行できている状態を指します。滞りなくWorkflowを実行するためには、各Workflowの開始から終了までの処理時間を把握することが重要です。

Workflowの処理時間を把握し、管理することで、同時実行制限をコントロールすることや前後関係があるWorkflowのスケジュール設計に役立つことはもちろんですが、重い処理を実行するWorkflow(時間がよりかかる処理など)が走る際はできるだけその時間帯を避けて他のWorkflowをスケジュールするなどの配慮が可能となります。結果、すべてのWorkflowが効率的に実行できる状態となります。

Workflow管理表の活用

Workflowを管理するには、管理表の活用をお勧めします。
前述の通り、Workflowの管理表では下記点を抑えることが重要です。

  1. Workflowの制約の可視化
  2. Workflowの前後関係の明確化
  3. Workflowの処理時間の可視化

例えば、以下のようなフォーマットで実現することが可能です。

Treasure Data CDP: Workflow管理表イメージ

Workflow管理のポイント

Workflowを管理するためには、管理表だけではなくそれを運用するためのフローや体制づくりも重要です。管理のポイントを紹介します。

■Workflow構築におけるルールを策定する

データ活用が活発化すると、複数名、または複数の部署が横断的にWorkflowを構築する可能性が考えられます。そういった場合は、予めルールを作っておいた方が良いでしょう。

基本的には、効果的にWorkflowを管理するためには、全体を管理する役割をたてることを推奨します。
その管理者に対して、構築するWorkflowをユーザーが申請するフローにすることで、管理者はすべてのWorkflowを把握することができ、全体を最適に設計することが可能となります。

フローの整理は、例えば以下の通りです。

誰がWorkflow構築担当者
どの窓口にWorkflow管理者
何を連絡・構築予定のWorkflowのProject名(※)、Workflow名
・Workflowの目的、処理内容(データImport/内部処理など)
・Workflow開始希望時間、理由
・Workflowの想定処理時間

※ Projectとは、Treasure WorkflowにおいてWorkflowを集約するフォルダのようなもの。Workflowの上位階層。

このように、ルールやフローを決めておくことで円滑なWorkflow管理の実現が可能です。

■Workflowのスケジュールは定期的に見直す

Workflowの管理は一度スケジュールを組んだだけでは終わりません。

例えば時間が経つとともにデータ量が増え、当初のWorkflow処理時間より大きく伸びてしまった場合は、前後関係が破綻しないように、また全体的に効率的な処理が実行できるようにスケジュールを組み直さなければいけません。そのため、実態に基づいた定期メンテナンスが必要です。

例えば、Workflow管理者が3か月に1回のペースで現状の状況を見直すなど、メンテナンス間隔も運用フローのひとつとして予め定めておけるとベストです。

さいごに

今回は、Treasure DataのWorkflow管理についてお話ししました。

CDPを使ったデータ活用が活発化していくにあたり、Workflowの管理方法やフローを決めていくことがより重要となります。是非参考にしていただければと思います。

また、DataCurrentでは、CDP構築・運用・活用までワンストップで支援しています。
お困りごとありましたら是非ご相談ください。

》CDP開発サービス資料はこちら

CDP Maker資料イメージ

》CDP構築/活用支援のサービス資料はこちら

CDP活用サービス資料イメージ

本件に関するお問い合わせは下記にて承ります。
株式会社DataCurrent
info@datacurrent.co.jp

人気のコラムランキング

PICK UP

CMP導入時の注意点

コラム

Treasure Data CDPを活用したOneID(統合ID)構築4 日付の落とし穴

コラム

今、CMPは導入するべきか?

コラム

Treasure Data CDPを活用したOneID(統合ID)構築3 姓名突合での落とし穴

コラム

TOPへ
戻る