このブログは、スカイスキャナーのエンジニアリングディレクターであるマイケ ル・エウィンズが執筆したものです。
Skyscannerでは、単なるフライト検索エンジン以上の存在です。毎月1億1000万人以上のユーザーが自信と簡便さをもって旅行を計画し予約できるようにサポートする、旅行のグローバルリーダーです。30以上の言語で運営しており、180か国以上の1200以上の旅行パートナーから、幅広いフライト、ホテル、レンタカーオプションを旅行者に提供しています。
私たちはデータとAIを活用して旅行者の体験を向上させるとともに、内部の意思決定をサポートしています。旅行者のために、機械学習(ML)モデルを使用して毎日800億以上の価格を確認し、ホテル、フライト、レンタカーをランキングして推奨し、旅行時間とコストに基づいて最良のオプションを提供することを目指しています。Databricks Data Intelligence Platformは、これらの旅行インサイトの一部を支えています。このブログでは、Databricksとの旅と、Unity Catalogがどのようにデータ管理とガバナンスを効率化したかについて議論します。
詳細については、Data + AI Summit 2024で開催されるセッション「Skyscanner’s Journey of Enabling Practical Data and AI Governance」にご参加ください。
私たちのデータの風景と課題の理解 データは常にSkyscannerの運営の中心です。毎日、当社のプラットフォームは3500万件の検索を処理し、300億から350億の分析イベントを生成しています。膨大 なデータ量—任意の時点で15から20ペタバイトが保存されている—は、データ管理と利用に重大な課題をもたらします。私たちのデータは、消費者向け機能および内部の意思決定プロセスの両方にとって重要であり、その効果的な管理は当社のエンジニアリングチームにとって最優先事項です。この規模のデータ運用には、いくつかの課題があります:
- ボリュームと速度:毎日生成される数十億件のイベントを処理するためには、堅牢なインフラストラクチャと効率的なデータ処理能力が必要です。
- スケーラビリティとパフォーマンスの問題:Skyscannerが成長するにつれて、データインフラストラクチャは増加する需要に対応できなくなりました。レガシーシステムは効率的にスケールできず、データ処理の遅延や大規模なデータワークロードの処理が困難になりました。
- 複雑さとコスト:より効率的なソリューションに移行する前は、複数のシステムでデータ管理が行われており、非効率性や運用コストの増加を招いていました。
- データのサイロ化と不整合:分散システムにより、データのアクセスと品質に影響を及ぼし、意思決定プロセスに支障をきたしました。
- コンプライアンスとセキュリティリスク:複数のシステムにわたるデータを管理することで、国際的なデータ保護規制(GDPRなど)を遵守するための包括的なセキュリティとコンプライアンスを確保することがますます困難になりました。このリスクは、データアクセスと処理の中央管理の欠如によってさらに増大しました。
Databricks:Skyscannerにとってのゲームチェンジャー Skyscannerでは、最新技術を活用することへのコミットメントがDatabricksとの戦略的パートナーシップに表れています。Databricksは私たちのデータ管理アプローチを変革し、運用の効率化と旅行者の体験向上を可能にしました。
私たちのデータパイプラインはすべて、Databricks Data Intelligence Platformの上に構築されています。さまざまなソースからデータを取り込み、バッチとリアルタイムの両方のストリームを組み込む堅牢なデータ取り込みフレームワークを確立しました。AWS Kinesisをストリーミング用に、Fivetranをバッチデータ取り込み用に利用し、すべての受信データを初期のステージングエリア、つまりメダリオンアーキテクチャの「ブロンズレイヤー」に効率的に収集しています。このステージは、Webおよびモバイルプラットフォームからの直接のインタラクションを含む、多様なチャネルから収集された生データを処理します。
ブロンズレイヤーに収集されたデータは、一連の変換と強化を経て、より深い分析タスクに備えられます。その後、「シルバーレイヤー」に移行し、クリーン化、統合、構造化され、分析消費の準備が整います。このフェーズでは、Databricksの強力なSparkエンジンが重要な役割を果たし、迅速かつスケーラブルなデータ変換を可能にします。
データが「ゴールドレイヤー」に進むと、さまざまなビジネスユニットによって直接意思決定をサポートするためのメトリックにモデル化され、集約されます。MLflowを活用して、機械学習ライフサイクル全体を管理しています。これには、実験の追跡、コードの再現可能な実行へのパッケージ化、およびモデルの本番環境へのシームレスなデプロイが含まれます。現在、独自のモデル提供アーキテクチャを使用してこれらのモデルを本番環境に提供していますが、 Databricks Mosaic AI オファリングの一部であるDatabricksのモデル提供機能を評価中です。
処理と機械学習を超えて、Databricksを運用レポートおよび分析にも利用しています。Databricks SQLを使用することで、チームはデータレイクに対して直接SQLクエリを実行し、ダッシュボードを作成し、大規模な分析操作を実行できます。Tableau CloudなどのBIツールとの統合により、データの可視化とアクション可能なインサイトの効率的な抽出が強化されます。
Unity Catalogへの移行の旅 データガバナンスは、Skyscannerのアーキテクチャにおいて重要な要素です。データを安全かつ効率的に管理し、ビジネス意思決定のためにデータを信頼できるようにするため、そしてGDPRなどの国際データ保護規制に準拠するために、データガバナンスは欠かせません。NASDAQに上場している企業の子会社として、サーベンス・オックスリー法などの厳しい規制基準を遵守し、透明性と責任を確保することが重要です。Databricks Unity Catalogはプラットフォームに組み込まれており、これらの要件を効率化するのに役立ちました。
Unity Catalogを導入する前は、いくつかの重大な課題に直面していました。
- 低いデータ所有権:会社全体でのデータセットに対する所有権が低く、特定のデータセットの正確性、プライバシー、およびセ キュリティに対する責任を持つチームや個人がいないため、責任問題が発生していました。
- 中央集権的な監視の欠如:分散システム間でデータを管理することで、一貫したデータガバナンスポリシーを適用するのが難しく、効率が低下し、GDPRなどのデータ規制の遵守リスクが増大しました。
- アクセス制御の難しさ:統一されたシステムがないため、誰がどのデータにアクセスできるかを管理するのが煩雑で、安全性に欠けることがありました。IAMポリシーの扱いが特に困難で、大量の手動作業が必要であり、エラーの原因にもなりました。さまざまなチームに適切なレベルのアクセスを確保するには、複雑なIAMロールをナビゲートする必要があり、過度に許容的なアクセスや過度に制限的な実践のどちらかになりがちで、運用効率が低下しました。
- 不十分なデータ系譜と監査:データの系譜を追跡し、変更を監査するための自動化ツールが不足しており、トラブルシューティングやデータ変更の影響を理解するために手動で系譜図を準備する必要がありました。
これらの課題を認識し、Unity Catalogへの移行戦略を開発しました。戦略には以下が含まれます:
- ビジネスクリティカルなテーブルの優先順位付け:すべてのデータ資産を包括的にレビューし、それらをビジネス運営への重要性、感度、およびコンプライアンス要件に基づいて分類しました。合計3万のテーブルがある中で、アクティブなテーブルは約1500で、そのうち約350がビジネスクリティカルであることがわかりました。この発見は移行プロセスを簡素化するのに大きな助けとなりました。
- 自動化の活用:最初はチームが手動でテーブルをUnity Catalogに移行し、それらをドメインモデルに適合させていましたが、これは遅く時間のかかるプロセスでした。Databricksの自動化ツールを活用することで、パイプラインを書き直すことなく移行を大幅に加速しました。すべてのデータをUnity Catalogに統合するために、メダリオンアーキテクチャに厳密に従うことに対して柔軟なアプローチを採用しました。これにより、データを即座にUnity Catalogに表示できるようにし、時間をかけてブロンズ、シルバー、ゴールドの定義に沿って整合させることができました。
Unity Catalogの導入によるデータ可視化とガバナンスの改善 Unity Catalogは、Skyscannerのデータガバナンスフレームワークにおいて重要な要素となっています。現在、約15から20ペタバイトのデータを管理しており、このデータには、ブロンズレイヤーの生データからシルバーおよびゴールドレイヤーの処理済みデータまでが含まれており、さまざまなビジネス機能で分析および運用目的で広く使用されています。
Unity Catalogの導入により、データ管理およびガバナンス能力が大幅に向上し、以下のような主要な利益がもたらされました:
- データセキュリティとコンプライアンスの強化:Unity Catalogによりデータガバナンスが中央集権化され、強力なセキュリティ機能と効率化されたコンプライアンスプロセスが提供されました。この中央集権化により、分散システム全体での権限管理の複雑さが軽減され、GDPRなどの厳格なデータ保護法に準拠するために、許可されたスタッフのみが機密データにアクセスできるようになりました。
- コスト最適 化:Unity Catalogによる効率的なデータ管理プロセスにより、データストレージおよびコンピューティングリソースのより効率的な使用が可能となりました。
- スケーラビリティと将来性:Unity Catalogは、Skyscannerのデータニーズの拡大に対応するスケーラブルなアーキテクチャを提供しました。Skyscannerが成長し進化する中で、Unity Catalogはパフォーマンスやセキュリティを損なうことなく増加するデータ量を管理することをサポートしています。
- データ系譜の強化:Unity Catalogを使用することで、データ系譜の能力が大幅に向上しました。これは、データがどこから来て、どのように処理され、最終的にどこに到達するかの透明性を提供します。このレベルの透明性は、日常の運用だけでなく、特にGDPRのコンプライアンスに向けた取り組みにとって重要です。データの全行程を追跡できることにより、適切にデータを扱っていることを確認し、必要なすべての規制を遵守していることを保証できます。また、監査プロセスを簡素化し、データフローの詳細なマッピングを容易に提供できます。
- データの可観測性:Unity Catalogに基づくデータを活用して、データの信頼性を向上させるためにMonte Carloを統合しました。データガバナンスの採用を測定するために、健康なデータフレームワークを導入しました。
将来の計画:新しい機会を活用する 将来を見据えると、Skyscannerにおける生成AIの価値は、私たちが持つ独自で価値あるデータから生まれると考えています。多くの可能性がありますが、重要なステップは、MLモデルを含めて、すべてをUnity Catalogで管理しガバナンスを確保することです。
現在、Databricksの Model Serving機能の使用を評価中です。また、Delta Sharingを使用してデータを複数の地域に移動するためにUnity Catalogを有効にすることを検討しています。外部データ共有にもこの方法を使用することを検討しており、いくつかのデータ製品ではサードパーティ企業とデータを共有しています。
将来的には、私たちのデータチームがSkyscannerに特有の問題に焦点を当てられるようにしたいと考えています。Databricksはモデル提供に関する多くの作業を引き受け、AIの旅について考えるための優れたフレームワークを提供します—プロンプトエンジニアリングから独自のモデル構築までDatabricksエコシステムを活用して特定した機会を実現できると確信しています。
Michaelのセッション「 Skyscanner の実用的なデータと AI ガバナンスの実現への取り組み」に参加して、Data + AI 2024 SummitでSkyscannerの旅についてさらに詳しく学んでください。