Spotify、データレイクに外部インデックス機構を導入
Spotifyは、大規模データ保管基盤「データレイク」向けに外部インデックス機構を導入するアーキテクチャを発表した。Apache Parquetファイル内のデータ位置を事前に記録することで、データを別のデータベースへ複製することなく低遅延での単一レコード検索を可能にする。同じデータセットをデータ分析・機械学習・AIアプリケーション・オンラインサービスの各用途で共用できる点も特徴だ。

Spotifyは、大規模なデータ保管基盤「データレイク」に対して外部インデックスを構築するアーキテクチャを導入した。これにより、データを別のデータベースに複製することなく、低遅延での単一レコード検索(ポイントクエリ)が可能になる。データ活用の柔軟性と効率性を両立する取り組みとして、技術コミュニティの関心を集めている。
データレイクとは、構造化・非構造化を問わず大量のデータを安価なクラウドストレージに集約する仕組みのことだ。分析や機械学習には適している一方で、特定の1件のデータを素早く取り出す用途には向いていないという弱点が従来から指摘されてきた。このため多くの企業は、速度が求められる処理のためにデータを別の運用データベースへコピーするという方法を取ってきたが、この二重管理はコストや整合性の面で課題を生みやすい。
Spotifyが今回採用したのは、オープンソースのデータフォーマットであるApache Parquetファイルを対象とした外部インデックスの仕組みだ。このインデックスは、検索のキーとなる値がどのParquetファイルのどの行に格納されているかを記録しておく。これにより、クエリ(問い合わせ)の際にデータ全体を読み込まずに必要な箇所だけを直接参照でき、従来に比べて大幅に遅延を抑えた検索が実現する。
この仕組みの特徴は、同じデータセットをデータ分析・機械学習・AIアプリケーション・オンラインサービスといった多様な用途で共用できる点にある。データを目的別に複製・分散させる必要がなくなるため、ストレージコストの削減やデータの一貫性維持につながると位置づけられる。
背景として、音楽ストリーミングサービスを運営するSpotifyは膨大なユーザーデータや楽曲メタデータを扱っており、リアルタイムに近い応答速度が求められる場面も多い。機械学習を活用したレコメンデーションや、パーソナライズ機能を支えるためには、大規模なデータを素早く引き出せる基盤が不可欠だ。今回のアーキテクチャはその課題に正面から応えるものといえる。
データレイクと運用データベースの「二刀流」管理という業界共通の悩みに対し、インデックス設計で解決を図るアプローチは、Spotifyと同規模のデータを扱う他の企業にとっても参考になりうる。クラウド上のオブジェクトストレージをそのまま活用しながら高速な検索を実現するこの手法が、データ基盤設計の選択肢の一つとして広まるかどうか、今後の動向に注目したい。
本記事は、AI issue編集部が事実(ファクト)をもとに独自に作成・編集した著作物です。著作権はAI issueに帰属し、無断転載・再配布およびAIの学習・活用を禁じます。