データレイクとは

データレイクは、膨大な量のデータを非階層的な形式で保存するものです。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • 「データレイク」の定義
  • オブジェクトストレージでのデータレイクの使用方法を理解する
  • データレイク対データウェアハウスの比較

記事のリンクをコピーする

データレイクとは

データレイクとは、データを自然または未加工の形式で保存するリポジトリの一種です。「データプール」とも呼ばれるデータレイクは、大量の構造化データおよび非構造化データを扱うために設計されたクラウドベースのストレージシステムであるオブジェクトストレージの機能です。

データレイクは非階層構造であるため、従来のファイルベースのストレージシステムと比較して、柔軟性と拡張性を備えたオプションとなります。しかし、データレイクへのデータの整理と取得は、組織的な設計と複雑なデータエグレス料金設定により、低速かつコスト高となる可能性があります。

データレイクによるデータ保存の在り方

データレイクがデータを保存する方法を理解するには、まずオブジェクトストレージの仕組みを理解することが重要になります。データがフォルダとファイルの階層内に保存される従来のファイルベースのストレージとは異なり、オブジェクトストレージは個々のデータまたはオブジェクトを同じ場所に収集し、カスタマイズ可能なメタデータでタグ付けします。

このメタデータ、つまりファイルを識別するために使用される情報(例:名前、タイプ、サイズ、一意の識別子)を活用することで、フォルダからフォルダへの特定の経路をたどる必要なく、ユーザーやアプリケーションがデータを見つけて取得するのに役立ちます。データレイクは膨大な量のデータを格納するように設計されているため、各オブジェクトに割り当てられたメタデータは非常に詳細なものとなり、検索の高速化に役立ちます。

階層型と非階層型のデータストレージの違いを説明するために、ボブが何千ものレコードレコードを保存する場合を想定して説明します。階層的なストレージシステムを使えば、音楽のジャンルごとに分類した大きなbinまたはフォルダにレコードを分類できます。これによりどんなアルバムもすぐに見つけられる一方、そのジャンルのレコードをさらに取得するとbinのスペースがなくなる可能性があります。この方法は、データを特定の場所に整理して保存する必要があるファイルベースのストレージと似ています。

その一方、非階層的なストレージシステムであれば、ボブは自分のすべてのレコードをある部屋、つまりデータレイクに自分の望む順序で配置できます。各レコードには、ジャンルを表示したラベルが付けられます。この方法により、単一のレコードを識別するプロセスは遅くなるものの、ボブは特定のビンに保存する必要なく、コレクションに多くのレコードを追加することができます。この方法はオブジェクトストレージと似ており、より大量のデータを同じ場所に保存することができます。

このプロセスについて、詳しくはオブジェクトストレージとはをお読みください。

データレイクアーキテクチャとは

データレイクアーキテクチャとは、データレイク内でデータの保存、変換、アクセス、保護のために使用されるプロセスとツールを指します。 このアーキテクチャはクラウドまたはオンプレミスにありますが、多くの場合、次のコンポーネントを共有しています。

  • データソース:構造化されたオリジナルフォーマット(例:SQLデータベースのように表形式構造に適合するデータ)、半構造化データ(例:HTMLファイルのように表形式構造に簡単に収まらないデータ)、または非構造化データ(例:動画、オーディオファイル、画像など)を問わず、データの元の形式
  • データ抽出:抽出、読み込み、変換(ELT)は、データをオリジナルソースからデータレイクの未加工ゾーンに移動させ、より利用しやすいものにするための複数の手順を行うプロセスです
  • データの取り込みと保存:データをデータレイクに追加する方法で、リアルタイム取り込み(データを取得しながら追加する方法)とバッチ取り込み(定期的にデータのグループを追加する方法)があります。どのような方法であれ、すべてのデータは最初に未加工のストアデータセクションに保存されます。言い換えれば、元の未加工の形式でデータレイクに追加される
  • データの永続化とカタログ化:未加工データにメタデータを追加し、より簡単にアクセスおよび取得できるようにするプロセス
  • データ処理:データクレンジング(不正確や不整合を削除)、データ正規化(すべてが同じ形式で存在するようにデータを再フォーマット)、データエンリッチメント(コンテキストや必要な情報を追加)、データ構造化(変換するなど半構造化データや非構造化データを構造化データに変換)などのローデータの各種変換
  • データリニーエージ:データを元の未加工の形式から変換された状態まで追跡するプロセス
  • データセキュリティとガバナンス:データセキュリティとアクセス制御、データラインナップ、データ品質、データ分析と監査を確保するためのさまざまな方法

データレイクのユースケース

データレイクは、データ分析やデータ探索、モノのインターネット(IoT)管理、パーソナライズされた消費者体験、高度な機械学習など、幅広い目的で利用できます。データレイクは、効果的なアウトプットを生成するために非常に大規模なデータセットを必要とすることが多い人工知能AIモデルのトレーニングにも有用です。

例えば、ある旅行会社が顧客に合わせた旅行を自動でおすすめしたいとします。データレイクを利用することで、一般的な旅行パターン、人気の目的地、滞留期間、宿泊施設のタイプ、アクティビティなどに関する大量の顧客データを取り込むことができます。さらに、そのデータをAIモデルの訓練に活用することで、より高度なレコメンデーションを開発でき、理想的には顧客満足度も向上させられます。

データレイクの利点

  • 柔軟性:データレイクは設計上、ファイル圧縮や再フォーマットを必要とせず、あらゆる形式でデータを保存できます
  • スケーラビリティ:データレイクは、ほぼ無制限の量のデータを処理できるため、大量のそして増加するデータの処理と保存を必要とする組織にとって、より有用な選択肢となっています
  • 検索可能:データレイクは、高度にカスタマイズ可能で、詳細なメタデータを通じて直接的なデータ取得を可能にします
  • シンプル:すべてのデータは、複雑な階層構成ではなく、同じデータレイク内に保存されます

データレイクの限界

  • 信頼性の問題:データレイクは、効果的な分類と変換を行わずにリポジトリにデータが追加されると「データスワンプ」となる可能性があり、データレイクの信頼性が低く使いにくくなります。
  • パフォーマンスの低速化:データレイクは大規模で動作するように設計されていますが、データ量が多すぎることまたは効果的でないクエリーエンジンがクエリ時間や全体的なパフォーマンスに影響を与える可能性があります。
  • データエグレス料金:データエグレス(データ転送)は、組織のクラウドストレージプロバイダーからデータを取得するプロセスです。多くの場合、クラウドプロバイダーはこれらの転送に課金し、組織が移動させる必要があるデータの量によって料金が急増する場合があります。

データレイク対データウェアハウス

データレイクとは、構造化データおよび非構造化データの大規模な保管庫となっています。大規模で費用対効果の高い運用を行う能力であることが主な利点となる一方、その規模や分類システムの複雑さにより、他のタイプのデータ処理やストレージに比べて非効率である可能性があります。

データレイクと同様、データウェアハウスもデータの大規模な保管庫です。データレイクとは異なり、構造化されたデータのみが保存され、データの整理、保存、取得には従来のファイル階層が使われます。このアーキテクチャにより、データの取得とパフォーマンスの高速化は可能になるものの、データレイクよりもスケールのコストが指数関数的に高くなります。

データレイクとウェアハウスのコア機能と利点を組み合わせたデータレイクハウスと呼ばれるハイブリッドアプローチを提供するクラウドベンダーも存在します。ここでは、構造化データと非構造化データを個別のシステムにサイロ化しておくのではなく、データレイクハウスを利用し、あらゆるタイプのデータを処理・保存できます。データウェアハウスの組織的能力と高いパフォーマンスと、データレイクのコスト効率に優れたスケーラビリティを備えています。このアプローチであれば、自動化されたデータガバナンスおよびコンプライアンスツールによって、データの完全性と信頼性をさらに向上させることもできます。

Cloudflareでのデータレイク対応

Cloudflare R2は、企業が独自のデータレイクを開発できるようにするエグレス料金無料のオブジェクトストレージソリューションです。Cloudflareのグローバルネットワークに支えられたR2は、オブジェクトを複数回複製することで、最適なデータの耐久性と信頼性を確保します。これにより、オブジェクトは容易にアクセス可能であり、リージョン独自の障害やデータの損失に対して優れた耐性を維持します。

R2について、またコネクティビティクラウドによるクラウド間でのデータ移動時のエグレス料金削減の仕組みについてリンクより詳細をご覧ください。