
Luminate Amps Entertainment Analytics with 300% Faster Data Processing and Richer Insights
ビルボードの象徴的な音楽チャートを支え、エンターテイメント業界で最も信頼されるデータパートナーであるLuminateは、Snowflakeを中核に据え、より革新的な製品開発ときわめて精度の高いデータ処理を実現するためにデータを統合しました。
Snowflake Connect: AI(1月27日開催)
Snowflakeの最新イノベーションでデータとAIの可能性を最大限に引き出します。

データレイクを使用したことがある人なら誰でも、その不満は理解できるはずです。ある日、ダッシュボードに200,000件のトランザクションが表示され、翌日には195,000件のトランザクションが表示されますが、その理由は誰にも説明できません。従来のデータレイクは柔軟な性質を持っていますが、レコードの欠落、ファイルの重複、クエリの遅延などのエラーも発生しやすくなります。
Delta Lakeは、こうした問題に対処します。既存のデータレイク上に構築され、信頼性とパフォーマンスを強化するオープンソースのストレージフレームワークです。Delta Lakeは、データの一貫性、正確性、分析準備の維持に役立ちます。
Delta Lakeは、ParquetファイルやORCファイルを基盤とする標準的なデータレイクとは異なり、データの信頼性と操作を容易にするテーブルレベルの機能セットを追加しています。以下に、Delta Lakeを他のデータレイクと差別化する主要な機能を紹介します。
ほとんどのデータレイクは、複数のユーザーやジョブが同時にデータの読み取りと書き込みを行う場合に一貫性を確保できません。Delta LakeはACIDトランザクションをサポートしているため、すべての変更を追跡して確実に適用できます。たとえば、ある金融機関が一晩で数百万件の支払い記録を更新する場合、Delta Lakeはすべての更新が適用されるか、あるいは一つも適用されないかのどちらかであることを保証します。更新されているレコードと更新されていないレコードの中間の状態はありません。
間違いは起きるものです。Delta Lakeでは、以前のバージョンのデータにロールバックできます。タイムトラベル機能により、変更の監査、エラーからの復旧、過去のレポートの再現など、特定の時点のクエリを実行できます。たとえば、小売企業は今四半期の数字を以前のホリデーシーズンのスナップショットと比較したり、変更前の入力データの状態をアナリストが確認してモデルをデバッグしたりできます。
大規模なデータレイクでは、ファイルに関する情報であるメタデータがボトルネックになる可能性があります。Delta Lakeは、メタデータを大量のファイルリスティングの集合として保存するのではなく、トランザクションログに保存することで対処します。これにより、クエリは数十億ものファイルやパーティションを含むペタバイト規模のテーブルを中断することなく処理できます。たとえば、数億もの顧客の通話記録を分析している通信プロバイダーがあるとします。Delta Lakeのトランザクションログがない場合、単一のクエリが実行される前にファイルをリスティングするだけで、システムに負荷がかかる可能性があります。
従来のデータレイクは、スキーマがデータセットの他の部分と一致しない場合でも、あらゆるファイルを受け入れます。不正なデータが警告なしに紛れ込むため、問題となります。あるチームが「日付」列がテキスト文字列で埋め尽くされているファイルをアップロードしたり、別のチームがデータセットの他の部分に存在しない新しい列を追加したりすると、テーブル全体の信頼性が低下します。アナリストはクエリ実行時にエラーに遭遇したり、さらに悪いことに、一見有効でも実際は間違っている結果を取得したりすることがあります。
Delta Lakeはスキーマを適用することでこの問題に対処し、一致しないファイルがデータセットを汚染する前にブロックします。同時に、スキーマ進化をサポートしているため、既存のワークフローを中断することなく、ビジネスニーズの変化に応じて新しい列の追加やデータ型の調整が可能です。つまり、マーケティング部門は顧客データに「campaign_id」列を追加できます。一方、財務部門は切り替えの準備ができるまで古いスキーマを使用し続けます。
モダンデータスタックにDelta Lakeを追加することで、技術的な機能だけでなく具体的なメリットも得られます。組織が実際に享受できるメリットの一部は以下のとおりです。
組み込みのACIDトランザクションとスキーマ適用により、Delta Lakeはファイルの破損、不完全な更新、データ型の不一致のリスクを低減します。この安定性により、財務報告書の作成や機械学習モデルのトレーニングなど、チームは目に見える数字を信頼できるようになります。
Delta Lakeを使用しない場合、多くの組織はデータレイク上に追加のシステムをつなぎ合わせて、トランザクション、監査、バージョン管理を処理しています。Delta Lakeは、こうした機能を単一のレイヤーに統合します。その結果、管理とメンテナンスが容易なシンプルなアーキテクチャが実現します。
Delta Lakeは受信データを検証してスキーマを適用するため、不正なレコードがデータレイクに侵入するのを防ぎます。以前のバージョンにロールバックする機能と組み合わせることで、一貫性のあるクリーンなデータセットを維持できるため、アナリティクスチームはデータスクラブに費やす時間を削減し、より多くの時間を有効活用できるようになります。
Delta Lakeのすべての変更はトランザクションログに記録されます。ログは組み込みの監査証跡になるため、どのユーザーがいつ更新したのかを正確に確認できます。組み込みの透明性により、規制の厳しい業界や、厳格なコンプライアンス要件のある企業では、ツールレイヤーを追加することなくガバナンス要件を満たすことができます。
Delta Lakeは、データレイアウトを最適化してメタデータを大規模に管理できるため、クエリの結果をより迅速に返すことができます。アナリストは、数テラバイトもの生ファイルをスキャンするためにクエリを数時間待つ必要がなくなりました。代わりに、システムは適切なパーティションを特定し、数分から数秒でインサイトを提供します。
Delta Lakeは、スキーマの適用、バージョンの追跡、データ破損の修復のための追加ツールの必要性を軽減するため、総保有コストを削減できます。チームはエラーの修正に費やす時間を減らし、冗長システムへの支出を削減して、リソースを解放してより価値の高いプロジェクトに投入できます。
Delta Lakeはさまざまなメリットをもたらしますが、特にApache Icebergなどの他のオープンテーブルフォーマットと比較して、関連する課題も存在します。Delta Lakeと同様に、Apache Icebergもデータレイクに優れた構造と信頼性をもたらします。どちらも、そのままのファイルストレージの欠点を解決することを目的としていますが、手法は異なります。どちらが適しているかを選択するには、2つのテーブルフォーマットで異なる主な観点をいくつか検討します。
Delta Lakeは、あらゆる変更をトランザクションログに書き込むことで一貫性を保つため、更新の追跡と信頼性が確保されます。Icebergはスナップショットとマニフェストファイルを使用してテーブルの状態をキャプチャするため、データのロールバックや分岐が容易になります。本当の問題は、どの手法がガバナンスと監査の処理方法に適しているかということです。
Delta LakeはApache Sparkと一緒に広く利用されており、現在はDelta UniFormを通じてマルチエンジンの相互運用性をサポートしています。一方、Icebergはエンジンに依存しないように設計されており、さまざまなクエリエンジンとクラウドプラットフォームでサポートされています。どちらの選択肢を選ぶかは、1つの環境で深い統合を実現するのか、複数の環境で実行できる柔軟性を実現するのかによって異なります。
Delta Lakeは、Z順序付けやリキッドクラスタリングなどの技術を使用して関連データをクラスター化することで、複雑なフィルターのクエリを高速化します。Icebergは、隠しパーティショニングとメタデータプルーニングによってパフォーマンスを最適化し、クエリで扱うファイルの数を削減します。チームの課題は、ワークロードとデータ量に応じて最適なアプローチを見極めることです。
Delta LakeとIcebergはどちらも、スキーマを経時的に変更できます。Delta Lakeは初期段階での制約がより厳しく、ニーズの変化に応じてのみ制御された変更が可能です。Icebergは、最初からパーティションやスキーマのシフトに対応できるように設計されており、柔軟性に優れています。そのため、データが頻繁に迅速に変更される場合でも、作業が楽になります。
Delta Lakeは歴史が長く、Sparkベースの環境において非常に大きなユーザーベースを抱えています。一方、Icebergは比較的新しいものの、NetflixやSnowflake、その他の主要なコントリビューターからの支持を得て、急速に普及が進んでいます。どちらを採用すべきかの判断は、多くの場合、実績のあるプロジェクトを好むか、あるいは成長スピードの速い新興のプロジェクトを好むかという選択に集約されます。
Delta Lakeが組織にとって最適な選択肢であると判断した場合、インフラストラクチャ全体を置き換える必要はありません。通常は、互換性のある処理エンジンを使用して、既存のデータレイクの上にDelta Lakeをレイヤー化します。以下に、3つの主なステップを示します。
Delta Lakeは、多くの場合Apache Sparkと組み合わせて使用されますが、Snowflake、Presto、Trino、Hiveなどのエンジンとも連携します。選択肢は、現在のデータ環境と、データのクエリと処理の方法の計画によって異なります。
次に、任意のコンピュートエンジン内にDelta Lakeライブラリをインストールして構成します。このステップにより、エンジンは、Deltaテーブルの読み取りと書き込み、スキーマの適用、トランザクションログによる変更の追跡を行えるようになります。
設定が完了したら、既存のデータレイクストレージで直接、Deltaテーブルの作成を開始できます。データはParquetフォーマットで記述されますが、Deltaのトランザクションログを通じて管理されます。これにより、更新、削除、タイムトラベルクエリが可能になります。ここから、使い慣れたSQLコマンドを実行してデータセットのクエリ、変更、結合を実行できます。
Delta Lakeの導入から最大限の価値を引き出すために、各チームが念頭に置くべき、実績に裏打ちされたプラクティスをご紹介します。
大規模なデータセットを論理的なパーティション(日付やリージョンなど)に分割することで、クエリがレイク全体をスキャンするのではなく、適切なファイルのサブセットに絞り込んで処理できるようになります。たとえば、ニュースサイトがクリックストリームデータを1日ごとに分割することで、何か月も関連のない記録に目を通すことなく1日ごとのレポートを簡単に実行できるようになります。
データの増加に応じて、トランザクションログとテーブルのメタデータに常に注意してください。クエリが遅くなり、ストレージが肥大化しないように、小さなファイルを定期的に圧縮してください。このシンプルなステップによって、何千もの小さなファイルのクエリが極端に遅くなるのを防ぎます。
Z順序を適用して関連するデータをクラスター化します。これにより、複数の列でフィルターするクエリのパフォーマンスが向上し、読み込む必要のあるファイルの数が削減されます。たとえば、あるEコマース企業は、レコメンデーションクエリを高速化するために、顧客データを場所と購入履歴の両方でZ順序を適用する場合があります。
新しいデータを取り込む際に、有効な範囲、タイプ、フォーマットのルールを適用します。早期にエラーを捕捉することで、不正なレコードの下流への拡散を防止できます。たとえば、センサーが負の温度測定値を返すべきでないタイミングで送り返した場合、データセットが破損する前にフラグを立てるか、ブロックできます。
タイムトラベルは、エラー回復以外にも使用できます。また、監査においても、過去のアナリティクスの再現や、新しいロジックでの古いデータに対する実行状況のテストにも有用です。これにより、チームは現在の生産数を上書きすることなく、昨年のデータに基づいて新しい予測モデルを検証できます。
Delta Lakeは、データレイクの柔軟性とデータウェアハウスの信頼性の間のギャップを解消することができます。ACIDトランザクション、スキーマ適用、メタデータ管理、タイムトラベルなどのテーブル機能を既存のストレージ上にレイヤー化することで、BIダッシュボードと機械学習モデルの両方をサポートする、信頼性の高い単一のデータソースを構築できます。
モダンデータプラットフォームを構築する組織にとって、Delta Lakeはアーキテクチャの簡素化、データ品質の向上、ガバナンスの強化を実現する基盤テクノロジーとなっています。将来を見据えると、ビジネスのあらゆる場面でデータをより活用しやすくする、オープンでインテリジェント、かつ統合されたフォーマットへと機運が高まっています。Delta Lakeはその潮流を牽引しており、データアーキテクチャの未来がどのような姿になるかを指し示しています。
Deltaテーブルは、データレイクに保存されていますが、Delta Lakeのトランザクションログで管理されているデータセットです。テーブルは通常のテーブルのような表示と動作を持ち、SQLクエリ、更新、削除を実行できます。トランザクションログはすべての変更を追跡するため、一貫性が確保され、タイムトラベルなどの機能が可能になります。
従来のデータレイクは、未加工のファイル用の柔軟なリポジトリですが、トランザクション、スキーマ適用、バージョン管理などのテーブルレベルの機能はありません。Delta Lakeでは、データレイクにこうした機能を追加します。ファイルの山を、複数のチームが安心して使用できる、信頼性の高いクエリ可能なテーブルに変換する、と考えることができます。
はい。Delta Lakeは、Linux Foundationのオープンソースプロジェクトです。コミュニティ主導のモデルであるため、個人とエンタープライズパートナーの両方から新機能や統合が提供され、急速に進化しています。
マンスリーニュースレターを購読する
Snowflakeの製品に関する最新情報、専門家の知見、役立つリソースを直接お届けします。
プロダクト
サポート