「From Alteryx to Dataiku: Streaming Your Data Workflow」を読んで移行への解像度を高める
先日、AlteryxからDataikuへのワークフロー移行を念頭に置く形で、Dataiku社が公開しているドキュメントを読み解きました。Alteryxを触ったことのある身として(と言いつつ実際最後に触ったのはもうウン年前になるんだけれども...)、Alteryxのイメージを元にDataikuはこういうものですよ、というのが分かりやすく解説されている内容となっていました。
...っていうのを踏まえて、もう少し「移行」に寄せた内容のドキュメントなりコンテンツは無いものか、と探していたらありました。v4c.aiという企業がそのものズバリ、AlteryxからDataikuへの移行(Migration)というページを展開しています。
「From Alteryx To Dataiku: Streamlining Your Data Workfllow」(AlteryxからDataikuへ:データワークフローの効率化) というタイトルで30ページ超、合計10個のトピックを展開する形で構成されています。
当エントリではこのPDFを順に読んでいき、Alteryxのワークフローを理解しながらDataikuへのワークフローに置き換えていく際のイメージ、解像度を高めて行きたいと思います。
1. Dataiku移行概要
1.1 「スケーラブルなデータソリューションの必要性」の高まり
- Alteryxはかつてデータブレンドやデータ準備に好まれるツールだったが企業がデータサイエンス、機械学習、クラウドコンピューティングの限界を押し広げるにつれて、その限界が明らかになって来ている
- Alteryxはドラッグ&ドロップインタフェースにより非技術者でもアクセスしやすい
- しかしデスクトップツールとして設計されているためスケーリングの問題、コラボレーションにおける課題が生じる可能性がある
- Dataikuはスケーラビリティとコラボレーションを核として構築されている
- Dataikuはクラウドネイティブなアーキテクチャを提供、以下が可能に
- データ操作を容易にスケーリング
- 分散環境で大規模なデータセットを処理
- データサイエンティスト、エンジニア、ビジネスアナリスト間のリアルタイムコラボレーション
- Dataikuは堅牢なガバナンスと制御機能を提供
1.2 Dataikuを採用する利点
スケーラブルで協調的、かつクラウド対応のデータ操作のためにDataikuを採用する利点として以下を紹介している:
- スケーラビリティ
- コラボレーション
- クラウド対応
- 機械学習
- 生成AI
- ガバナンスと制御
2. なぜAlteryxからDataikuに移行すべきなのか
2.1 Alteryxの制約事項
Alteryxの主な特徴は以下
- デスクトップ中心
- ユーザーフレンドリー
- 中規模サイズのプロジェクトへの効率性
一方でAlteryxにはデータ操作を大規模に展開する際の有効性において幾つかの課題がある
- スケーラビリティの課題:
- Alteryx Serverを使用することで、大規模なデータセットやプロセスを処理するオンプレミスのソリューションが可能になるが、組織がクラウドベースのスケーラビリティと柔軟性を追求するには理想的ではない
- クラウド統合の限定性:
- コラボレーションの困難性:
- Alteryxでのコラボレーションは、多くの場合、手動でのエクスポートやメールでのファイル送信が伴い、リアルタイムのコラボレーション、バージョン管理、一元的な管理を必要とするチームにとっては扱いにくい
2.2 Dataikuの利点
- Dataikuは、大規模なデータセットと需要の高い分析プロセスを処理するように設計された、クラウドネイティブなプラットフォーム
- Dataikuは、AWS、Azure、Google Cloudなどの主要なクラウドプラットフォームとシームレスに統合し、分散コンピューティングの能力を最大限に活用できるようにすることで、そのクラウドネイティブなアーキテクチャがデータ要件の増大に伴うビジネスのスケーリングを可能にしている
Dataikuの主な利点は以下。
- コラボレーション
- スケーラビリティ
- クラウドレディネス
- AI/ML開発
- シームレスな自動化
- ガバナンスと可視性
- どこからでも作業可能
3. 移行の準備
AlteryxからDataikuへの移行を成功させるには計画的で適切に構成されたアプローチが必要
3.1 最初の考慮事項
現在のワークフローを徹底的に監査し、以下の点を特定。
- Dataikuで複製または強化する必要がある重要なワークフローか否か
- 現在のAlteryxインフラストラクチャにおけるカスタムツールやマクロ、またはボトルネックがあるかどうか
- Dataikuの高度な機能によって解決できる、Alteryxの現在の制限またはボトルネックがあるかどうか
移行に際して、既存インフラがDataikuと互換性があり、移行準備ができているかどうかの「インフラ評価」を行う
- データストレージ
- コンピューティングリソース
- 接続性
- データアクセスとユーザー/サービスアカウント
クラウド戦略計画の策定:
- 適切なクラウドプラットフォームの特定
- クラウド移行の長期的な目標の設定
- データセキュリティとコンプライアンスの確保
3.2 (v4c.ai社の)移行フレームワーク
混乱を最小限に抑え、移行効率とパフォーマンス向上を最大化するように設計
-
ステップ1: インフラストラクチャの概要とプロセス改善監査
- 環境評価:既存Alteryxインフラの強みと弱み、及び潜在的なボトルネックをレビュー
- 既存ワークフローにおけるプロセス改善の特定:
-
ステップ2: 機能の互換性評価
- 現在のAlteryxの機能をDataikuのレシピとワークフローにマッピング。
- ツールマッピング:Alteryxツール(Formula、Join、Filterなど)をDataikuの同等機能(Prepare、Join recipesなど)に変換
- Dataikuワークフローへの複製・強化の確認
- 現在のAlteryxの機能をDataikuのレシピとワークフローにマッピング。
-
ステップ3: クラウドイネーブルメント
- データ移行:すべての関連接続が損なわれることなく、オンプレミスシステムからクラウドストレージに安全かつ効率的にデータを移行
- クラウド最適化:Dataikuのクラウドネイティブ機能を活用し、データ処理時間を改善し、インフラストラクチャコストを削減
3.3 成功する移行のための変更管理戦略
- (1).チームの準備
- 主要な利害関係者を巻き込み、移行の理由とその方法を早期に明確に伝える
- チームがDataikuの機能とワークフローを理解し、移行後にワークフローがどのように改善されるかを理解するためのトレーニングとガイダンスを提供
- 全員が新しいプラットフォームで快適に作業し、変更を完全に受け入れられるようにする
- (2).メリットの伝達
- 効果的なコミュニケーション
- Dataikuへの移行の進捗状況共有
- 移行による効果、メリットを強調
- (3).抵抗への対処
- 変更に抵抗が生まれることは自然なこと。追加のサポートとリソースを提供することで、あらゆる懸念に対処していく
- チームメンバーが懸念を表明し、質問に対する回答を得られるように、オープンな対話を奨励
- Dataikuプラットフォーム内でチャンピオンを任命することを検討し、彼らが変更の熱心な支持者となり、他の人々の移行を支援できるようにする
4. ツールとワークフローのマッピング
AlteryxとDataikuののデータパイプラインを比較し、スムーズな移行を確実にするための実用的なガイドを展開
4.1 データパイプランの理解
AlteryxとDataikuのパイプラインは機能において類似点はあるが、構造と整理の方法、およびDataikuが提供する主要な利点、特にコラボレーションとスケーラビリティにおいては違いがある。
-
データリネージ:
-
Alteryx:
- ワークフローは一連のツールをキャンバスに配置して構築される
- 各ツールはデータ処理ステップを表し、これらのツール間の接続は、データフローがワークフローをどのように流れるかを視覚的にマッピングする
- この方法では、共同作業が複雑になり、大規模なプロジェクトでのユーザーの作業、バージョン管理、および冗長な作業に費やす労力が大きくなる可能性がある
- ワークフローは、入力からデータを出力するツールを線で結んだフラットで視覚的な表現であり、データリネージを追跡するために手動での調整が必要となることがよくある
-
Dataiku:
- データセット、変換(レシピ)、機械学習モデル、およびフロー全体の視覚的なマップであるフローを通じてデータ処理ステップを整理
- Dataikuではフローがより広範なプロジェクトの一部である
- Dataikuでの全体的なアプローチにより、データリネージが自動的にフロー内で追跡され、プロジェクト全体にわたるデータインテグレーション、洞察、自動化の文書化が単一の場所で入手可能になる
- フローはデータセットのリネージを自動的に追跡し、データが各ステージでどのように変換され、元のデータ出力に戻るかを明確に示し、複雑なパイプラインの組み込み視覚化と直感的な制御を提供する
-
Alteryx:
-
フローゾーンと組織:
- Alteryxは関連ツールをグループ化する機能を提供しますが、全体的なキャンバスはナビゲートが難しいままになることがある
- DataikuはFlow Zonesを導入することでこの課題に対処。ユーザーはプロジェクト内の異なる色分けされたセクションにワークフローを構造化できるようになる
4.2 ツールのマッピング
- 移行プロセスにおける最も重要なステップの1つは、AlteryxツールをDataikuの対応物にマッピングすること
以下幾つか例示:
-
[Alteryx]Formura Tool → [Dataiku]Prepare Recipe
- Alteryxでは、Formulaツールは、適用するさまざまな関数、数学的演算、文字列操作、または条件式を使用して新しい列を作成または既存の列を変更するために使用される
- データ準備ワークフローで最も頻繁に使用されるツールの1つ
- Dataikuでは、Formulaツールの同等物はPrepareレシピが該当。
- Prepareレシピは、1つのレシピ内で複数のデータ変換、フォーマット、および変換を統合
- 列を作成または変更
- 条件付き変換を実行
- 重複する値を削除してデータをクリーンアップ/正規化/その他の前処理ステップを適用
- Prepareレシピは、1つのレシピ内で複数のデータ変換、フォーマット、および変換を統合
- Alteryxでは、Formulaツールは、適用するさまざまな関数、数学的演算、文字列操作、または条件式を使用して新しい列を作成または既存の列を変更するために使用される
-
[Alteryx]Join Tool → [Dataiku]Join Recipe
- AlteryxのJoinツールは、共通の列に基づいて2つのデータセットを結合するために使用され、結合された結果を新しいデータセットとして出力
- Dataikuでは、同等機能はjoinレシピが該当。
- Alteryxと類似した機能を提供しますが、より多くの柔軟性がある
- 異なる結合タイプ(内部、左、右、完全)を使用してデータセットを結合
- 結合の前または後に列をフィルタリング
- 一致しない行を個別のデータセットに効率的に処理
- Alteryxと類似した機能を提供しますが、より多くの柔軟性がある
-
[Alteryx]Filter Tool → [Dataiku]Split Recipe
- AlteryxのFilterツールは、特定の条件に基づいてデータセットを分割するために使用され、通常、条件に一致する行の出力と一致しない行の出力という2つの結果を生成
- Dataikuでは、この機能は最もよくSplitレシピによってミラーリングされ、ユーザーは条件を定義して複数の出力を生成可能。1対多または非一致の場合に使用される
- DataikuのSplitレシピは、データセットを分割するためのいくつかの柔軟なオプションを提供
- 列の値に基づいた分割
- ランダムな分割
- 列の定義されたフィルタリング
- パーセンタイルによる分割
- DataikuのSplitレシピは、データセットを分割するためのいくつかの柔軟なオプションを提供
-
[Alteryx]Summarize Tool → [Dataiku]Group Recipe
- AlteryxのSummarizeツールは、集計関数を適用したり、グループ化したりして、データセットを集計
- Dataikuでは、groupレシピは同様の目的を果たし、ユーザーが1つ以上のフィールドでデータをグループ化し、集計関数を適用
- groupレシピは、広範囲の操作をサポートし、データから要約統計を生成するためのユーザーフレンドリーな環境を提供し、必要に応じてより複雑な計算を追加する機能も備えている
5. データの前処理と加工
5.1 データ準備
-
Dataikuにおけるデータセットの操作 vs. Alteryx
- Alteryxでは、ユーザーはキャンバス上に個々のツールをドラッグ&ドロップして、さまざまなデータ操作や準備ステップを表現
- Dataikuは個々のツールに代わるレシピというアプローチを取る
- Dataikuのワークフローはよりクリーンで整理され、大規模で複雑なプロジェクトに対してもスケーラブルになる
-
オールインワンツールとしてのPrepareレシピ
- Alteryxでは、ユーザーはFormula、Filter、Summarizeといった個々のツールに依存して一般的なデータ準備タスクを実行
- Dataikuでは、Prepareレシピがデータ準備タスクのためのオールインワンソリューションとして機能
- ワークフローを簡素化するだけでなく、必要な個別のステップの数を減らすことで読みやすさと効率性を向上させ、DataikuのPrepareレシピを大規模なデータセットのスケーラビリティと高性能処理に特に強力なものにする
-
コード機能のカスタマイズ
- Dataikuのビジュアルレシピは、直感的で効率的なデータ準備を実現するが、より高度なカスタマイズのための完全なコードの柔軟性も提供
- ユーザーはPython、R、SQLでのコーディングに簡単に切り替えられ、より深い制御とカスタマイズが可能に
5.2 データ処理
- DataikuとAlteryxの主な違いの1つは、「大量のデータを処理する方法」
- Alteryxは主にデスクトップベースのツールであり、ほとんどのデータ処理がローカルマシン上で行われる
- Dataikuはクラウドネイティブプラットフォームであり、強力な計算エンジンへのアクセスを提供
- データがデータベースに保存されている場合、Dataikuはデータベース内処理を活用して、データが保存されている場所で計算を実行し、データ移動を最小限に抑え、処理とパフォーマンスを最適化
- Dataikuは、クラウドネイティブアーキテクチャと分散コンピューティング機能を利用して、大規模なデータセットの処理に優れている
5.3 データ準備と処理のベストプラクティス
- スマートな計算の活用
- 効率的なレシピ選択
- フローゾーン構造化
6. データワークフローの自動化
6.1 ジョブスケジューリングと自動化
- Alteryxでは、ジョブのスケジューリングは通常、Alteryx Serverを介して行われ、ユーザーは特定の時間にワークフローを実行するようスケジュールされる
- Dataikuは自動化ノードとシナリオによって自動化を次のレベルへと引き上げることが出来る
- シナリオを使用すると、データセットの再構築からモデルの再トレーニングまで、幅広いタスクを自動化出来る
- Dataikuでは、自動化は単にワークフローをスケジュールするだけでなく、リアルタイムでトリガーに反応する動的な条件ベースのアクションを作成することも出来る
- 時間ベースのトリガー
- イベントベースのトリガー:データセットの変更、モデルの更新、またはカスタム条件が満たされたときにワークフローを自動化
- 多段階自動化:データセットの処理、モデルの再トレーニング、通知の送信など、複数のタスクを連結
6.2 本番環境
- Dataikuは、開発、テスト、および本番用の専用環境を提供
- 自動化ノード:バッチ処理と本番ワークフロー用に設計されており、ワークフローが開発およびテストされた後、中断なく本番に移行できることを保証
7. コラボレーションとリアルタイムワークフロー
7.1 Dataikuのコラボレーション機能
- Alteryxでは、コラボレーションはしばしば手動で煩雑なものであり、データ共有や共有ドライブを介したワークフロー共有に限定される。
- 複数のチームメンバーがプロジェクトでコラボレーションする必要がある場合、問題や非効率性が生じることがよくある
- Dataikuはこの問題を、共有されたWebベースの環境内でのリアルタイムコラボレーションによって解決している。主な機能は以下の通り
- 共有プロジェクト
- コラボレーティブワークスペース
- コメントとディスカッション
- バージョン管理と変更の追跡
7.2 資産の共有と公開
Dataikuでは、追加のリアルタイムコラボレーションにより、組織はデータセット、モデル、ダッシュボードなどの資産をさまざまなチームやプロジェクトに簡単に公開および共有可能。
- ダッシュボードへの公開
- ワークスペース
- クロスプロジェクト共有
また、Dataikuは産の処理と理解を簡素化し、強力な検索およびタグ付け機能を提供することで、包括的なコラボレーション環境をサポート。
- グローバル検索
- DSSアイテム検索
- データカタログ
7.3 コラボレーションにおけるセキュリティ
Dataikuでは、グループベースのアクセス許可フレームワークを通じて、堅牢なセキュリティ対策が確保され、データワークフローや機密データへのアクセスを組織内で適切に管理可能。セキュリティフレームワークの主な機能は以下の通り:
- ユーザーグループ
- プロジェクトレベルのアクセス許可
- 監査証跡
8. クラウド移行戦略
8.1 クラウド移行戦略
-
オンプレミスワークフローの課題:
- オンプレミス環境は、柔軟性とスケーラビリティに課題をもたらし、大規模なデータや高度な分析ワークロードの処理に支障をきたし、パフォーマンスの問題や運用上の非効率性につながる可能性がある
-
クラウド移行が不可欠な理由:
- スケーラビリティ
- 柔軟性
- 費用対効果
-
Dataikuのクラウドネイティブアーキテクチャ:
- Dataikuは、クラウド環境で成長するように構築されており、AWS、Azure、Databricks、Google Cloud、Snowflakeなど、主要なクラウドプラットフォームとのシームレスな統合を提供
- その他強みは以下の通り
- スケーラブルなワークロードの実行
- クラウドストレージの活用
- AIモデルのデプロイと大規模化
9. データサイエンスとAIをDataikuで活用
9.1 DataikuにおけるAIと機械学習
- Dataikuは、組織がデータとAIの力を活用して生産性を向上させることを可能にする、オールインワンプラットフォーム
- 従来の機械学習手法とGenerative AI(生成AI)の両方を扱うことで、Dataikuはデータサイエンティストを含むすべてのスキルレベルのデータワーカーが、オープンな統合環境でAIを構築、デプロイ、および監視することを可能にする
Dataikuにおける主要なAIおよび機械学習機能:
- 包括的な開発環境
- 常時オンでスケーラブルな計算リソース
- 最大効率のための特徴ストア
- AutoMLによる合理化されたモデル構築
- エンタープライズ対応のデプロイと監視
- MLOpsによるAIライフサイクル管理
- プロジェクトベースの効率性とコラボレーション
- ガバナンスと監視
9.2 DataikuにおけるGenerative AI(生成AI)
- Dataikuは、実験を促進し、エンタープライズ対応のGenerative AI(生成AI)アプリケーションを構築およびデプロイする組織を支援
DataikuにおけるGenerative AIの主な機能は以下の通り:
- LLMメッシュ
- エンタープライズグレードのプロンプトエンジニアリング
- AIパワードアシスタント
- 主要なGenAIサービスとの統合
- Dataiku AnswersによるRAGの民主化
- LLMファインチューニング
- LLMパワードNLPレシピ
Dataikuが実現する主要な機械学習およびAIユースケース:
- 予測メンテナンス
- 顧客セグメンテーション
- 不正検出
- 販売予測
Dataikuは、これらをはじめとする多くのユースケースを促進することで、組織がAIと機械学習の潜在能力を最大限に活用し、ビジネス成果を促進できるよう支援している
10. 最終的な考察と今後の対応
10.1 Dataikuへの移行の利点の再確認
AlteryxからDataikuへの移行は、データ運用をスケールし、高度な分析とAIを意思決定プロセスに統合しようとしている企業にとって、多くの機会を切り開く。Dataikuへの移行による利点を再まとめ:
-
スケーラビリティ:
- Dataikuのクラウドネイティブアーキテクチャは、企業が大規模なデータセットや複雑なワークフローを容易に処理することを可能にし、組織の成長に合わせてデータ運用をスケールできることを保証
-
コラボレーション:
- Dataikuのリアルタイムコラボレーション機能は、データチーム間でのチームワークを促進し、効率性を向上。これにより、複数のユーザーが完全なバージョン管理と説明責任を維持しながら、プロジェクトに同時に取り組むことができるようになる
-
自動化:
- シナリオやオートメーションノードのような強力な自動化ツールにより、Dataikuは企業がデータワークフローを効率化し、反復的なタスクを自動化することを可能にし、より戦略的な作業にリソースを解放
-
AIと機械学習:
- Dataikuは、AIと機械学習ワークフローに対してエンドツーエンドのサポートを提供し、組織がAIを大規模に運用し、影響力のあるビジネス成果を推進できるようにする
まとめ
という訳で、「From Alteryx to Dataiku: Streaming Your Data Workflow」のドキュメントを読んでAlteryxからDataikuへの移行解像度を高めていこう、という内容の紹介でした。もうちょっとこう、移行の際のポイントを深堀りしてくれても良かったかなーという気はしなくもなかったですが、それでも十分「Dataikuへ移行することのメリット」は理解・把握出来たので良かったと思います。