世界有数のメディアおよびエンターテイメント企業であるNBCUniversalは、グローバルな放送、ケーブル、ストリーミングネットワーク全体で比類のないエンターテイメント体験を提供するためにデータに依存しています。コンテンツ配信にはリアルタイム分析、複雑なデータパイプライン、高度な機械学習が求められるため、同社のデータインフラはポートフォリオ全体の意思決定を支える重要なビジネス資産となっています。
100年にわたる革新の最前線に立つNBCUniversalは、成長するコンテンツエコシステムをサポートしつつ運営コストを維持するために、データインフラの近代化の必要性を認識しました。データ量の増加と分析需要の進化に伴い、同社はよりスケーラブルで統合されたソリューションを模索していました。既存のインフラはコア分析ニーズをサポートしていましたが、柔軟性の向上、高度なワークロードのパフォーマンス改善、計算コストの最適化による運用効率の強化の機会も浮き彫りになりました。
「NBCUniversalは、社内のチームがデータを活用しやすくするための取り組みを進めてきましたが、より迅速に作業できる新しいソリューションが必要でした」とNBCUniversalのデータテクノロジーおよび製品担当シニアバイスプレジデントKevin Hill氏は述べています。「Databricksは、構築に費やす時間を減らし、データ分析により多くの時間を割くことを可能にしました。」
NBCUniversalがデータプラットフォームの近代化に着手した際の目標は、大規模なコンテンツローンチ、アワードショー、ライブイベントに合わせて過剰プロビジョニングなしでスケーリングできる俊敏性を獲得することでした。EXLおよびDatabricksと提携し、NBCUniversalはDatabricksのジョブ固有コンピュートに移行し、分析とMLを単一プラットフォームに統合し、300人のアナリストをそのプロセスに参加させました。
成果一覧
- ジョブ固有コンピュートによるデータインフラコスト30%削減
- 300人以上のアナリストがDatabricks SQLにスムーズに移行
- 高トラフィックイベント時の弾力的なスケーリング、事前予約スロットの無駄なし
- MLflowとLakeflow JobsによるMLと分析の統合
課題:コストとパフォーマンスのバランス NBCUniversalが革新を続ける中、マーケティング、製品、コンテンツなどのチーム全体でデータは意思決定にとってさらに重要になりました。既存のアーキテクチャは、急速に進化する組織をサポートするために必要なデータ量やクエリを十分に管理できなくなりました。スロットベースの予約モデルでは、並行ワークロードをサポートするために多数のスロットを予約できましたが、計算コストの増大とリソース競合を招きました。
「今日のコンテンツエコシステムが急速に進化する中、社内のパートナーはより迅速に情報に基づいた意思決定を行う必要があります」とNBCUniversalのデータエンジニアリング担当バイスプレジデントLouie Kuznia氏は述べています。「Databricksは、俊敏性や速度を犠牲にすることなくNBCUniversalのデータインフラを近代化するためのソリューションを提供しました。」
コストに関する考慮事項の変化に加え、機械学習などの高度なユースケースに対する柔軟性の向上やデータ系列に関するガバナンス強化への欲求が、NBCUniversalに代替プラットフォームの検討を促しました。
ソリューション:Databricks Lakehouseアーキテクチャ NBCUniversalはDatabricksおよびグローバルコンサルティング会社EXLと提携し、Databricks Data Intelligence Platformへの戦略的移行を実行しました。このパートナーシップは、EXLの深い移行専門知識とDatabricksの最先端データソリューションを組み合わせ、データエンジニアリング、機械学習、高度な分析をサポートする近代化されたデータインフラを構築しました。
Databricksを選択することで、データワークロードの柔軟性と全体的な効率が向上するなど、いくつかの利点が得られました。
- 統合分析プラットフォーム:Databricksはデータエンジニアリング、データサイエンス、機械学習、ビジネスインテリジェンスのワークロードに単一プラットフォームを提供し、複数の専門ツールを維持する必要性を排除。
- 柔軟なLakehouseアーキテクチャ:DatabricksはDelta LakeとApache Iceberg™を活用し、オープンソースのApache Spark™およびLakehouse(Databricks SQL)と組み合わせることで、多様なフォーマットの構造化データと非構造化データを柔軟に処理。
- 高度な分析機能:Databricksは機械学習ワークロードを含む複雑な分析のサポートに優れており、MLflowをネイティブ統合して実験追跡とモデルバージョン管理を実現。
- 細粒度の計算制御:Databricksのアーキテクチャにより、計算リソースをより細かく制御可能。各データパイプラインは共有スロットを競合するのではなく、専用の計算で実行。
移行戦略:段階的かつパートナー主導のアプローチ Databricksへの移行には、データ構造の変換、コードの変更、データ形式の調整、そして上流および下流の依存関係の慎重な調整が必要です。EXLとDatabricksは、業務中断を最小限に抑えながら移行を加速する包括的な段階的アプローチを共同で開発しました。
フェーズ1:既存環境の評価 チームは包括的な発見から始め、既存のワークロード、テーブル、コードベースのインベントリを作成し、それらの依存関係を徹底的に分析しました。この評価フェーズでは、移行が必要な成果物を特定し、優先順位を整理し、成功基準を確立しました。
フェーズ2:目標状態アーキテクチャの設計 設計フェーズでは、既存の構造をDatabricksの同等物にマッピングしつつ、コストとパフォーマンスを最適化することに焦点を当てました。 主要な設計上の決定は以下の通りです。
- ワークスペースアーキテクチャ:Databricks Well-Architected Frameworkに従ってワークスペースを構築し、そのベストプラクティスの柱をNBCUniversalの組織構造とセキュリティ要件にマッピングし、スケーラブルで安全かつ将来性のある環境を確保。
- データガバナンス戦略:Unity Catalogを中央ガバナンス層として実装。
- 計算戦略:各ワークロードの要件に合わせたジョブクラスター構成、インスタンスタイプ、自動スケーリングポリシーを定義。
- ストレージレイアウト:適切なパーティショニング、クラスタリング、予測最適化を備えたDelta Lakeテーブル構造を設計し、大規模な持続的パフォーマンスのためにファイルレイアウト、統計、ストレージを自動的に維持。
フェーズ3:カスタム移行ツールによる概念実証 本格的な移行をコミットする前に、EXLはNBCUniversalのワークロードの代表的なサブセットを使用してターゲットを絞ったMVPを実行しました。このパイロットフェーズには2つの目的がありました:移行アプローチの検証と、大規模な取り組みを加速するカスタム自動化ツールの開発です。
MVP中、EXLはNBCUniversalの環境向けに4つの独自アクセラレータを構築しました。
- SQL変換エンジン:SQL構文を分析し、最適化されたSpark SQLに自動変換するインテリジェントコードコンバータ。方言の違い、関数マッピング、パフォーマンスチューニングを処理。
- オーケストレーションマイグレータ:既存のDAGを解析し、依存関係とスケジューリングロジックを保持したままLakeflow Jobsとして再生成するツール。
- データ転送オーケストレータ:テーブルサイズと更新頻度に基づいて最適な転送方法を選択し、データをDelta Lakeに移行する自動化パイプライン。
- 検証フレームワーク:ソースシステムとターゲットシステム間でクエリ結果、行数、集計統計を比較する包括的なテストスイート。
これらのアクセラレータは、数か月の手作業を、品質チェックが組み込まれた自動化された反復可能なプロセスに変えました。
フェーズ4:戦略的ウェーブでの移行 アクセラレータが検証され、ターゲットアーキテクチャが確定した後、チームは慎重に順序付けられたウェーブで移行を実行しました。すべてのワークロードを同時に移行するのではなく、リスクベースのアプローチを採用し、まず価値が高く複雑性の低いパイプラインを優先しました。
各移行ウェーブは一貫したパターンに従いました。
- ワークロード選択:関連するテーブルとパイプラインのまとまりのあるグループを特定。
- 自動コード生成:SQL Translation Engineを使用してクエリを変換し、Orchestration Migratorを使用してワークフローを再構築。
- データ同期:履歴データを転送し、既存のインフラからの増分更新を維持。
- 品質保証:Validation Frameworkを実行してデータの正確性と完全性を確保。
この反復的なアプローチにより、チームは業務の継続性を維持し、各ウェーブでプロセスを改善し、学んだ教訓を後続の移行に適用できました。
フェーズ5:二重運用による検証 Databricksに切り替える前の最終フェーズでは、両方のプラットフォームを並行して実行し、延長された検証期間を設けました。数週間にわたり、NBCUniversalは二重パイプラインを運用し、既存のプラットフォームとDatabricksの両方で同じ変換を実行し、出力を比較しました。
この並行運用は複数の重要な機能を果たしました。
- 本番検証:実際の条件と本番データ量で、Databricksが生成した出力が同等であることを確認。
- パフォーマンスベンチマーク:Databricks環境での実際の実行時間とコストを、過去のパフォーマンスと比較測定。
- ステークホルダーの信頼:ビジネスユーザーと下流の消費者に、移行がデータ品質と可用性を維持しているという経験的証拠を提供。
- カットオーバー計画:レガシープラットフォームを完全に廃止する前に、追加の注意を要するエッジケースやコーナーシナリオを特定。
すべての検証指標で一貫した結果が得られた後でのみ、NBCUniversalは最終的なカットオーバーに進み、新しいプラットフォームに完全な信頼を持ってワークロードをパイプラインごとに廃止しました。
ビジネスインパクト:30%のコスト削減と戦略的利益 NBCUniversalの移行の結果は大きく、測定可能でした。
- 計算コスト削減:「Databricksのジョブ固有コンピュートに移行することで、NBCUniversalはデータインフラコスト全体を30%削減しました。各パイプラインは専用の計算リソースで実行され、ピークワークロード時には独立してスケールアップし、需要が低い期間には自動的にスケールダウンします。」——NBCUniversalデータエンジニアリング担当バイスプレジデントLudwig Kuznia
- 運用の柔軟性向上:並列実行モデルにより、ビジネス需要への対応における俊敏性が向上。既知の高トラフィックイベント(主要なコンテンツローンチやアワードショーなど)では、NBCUniversalは他のワークロードに影響を与えたり、事前予約されたが十分に活用されていないスロットの無駄を発生させたりすることなく、ジョブクラスター容量を動的にスケールアップできます。
- 統合分析機能:コスト面だけでなく、移行により新たな機能が解放されました。NBCUniversalのデータエンジニアリングチームはMLflowを通じて統合MLオペレーションを利用できるようになり、以下を実現。
- 実験追跡とモデルバージョン管理 - トレーニングから本番までの合理化されたMLライフサイクル - Lakeflow Jobsによる自動化されたワークフロー標準化
- データ文化の強化:移行はより広範な組織変革を触媒しました。インフラ管理を簡素化し、運用オーバーヘッドを削減することで、NBCUniversalはデータエンジニアリングチームとアナリストチーム間のより俊敏で協力的なデータ主導文化の基盤を整えました。チームはインフラの制約ではなくビジネス問題に集中できるようになりました。
- アナリストの円滑なオンボーディング:300人以上のアナリストがDatabricks SQLにスムーズに移行し、使い慣れたSQLインターフェースと最新のレイクハウスのパワーを活用し、大規模な再トレーニングは不要でした。