データ レイクは、大量のデータを未加工のネイティブ形式で保持するストレージ リポジトリです。 Data Lake Store は、コスト効率の高いデータをテラバイトとペタバイトのデータにスケーリングするように設計されており、大規模で多様なデータセットの処理に適しています。 通常、データは複数の多様なソースから取得され、構造化データ (リレーショナル テーブルなど)、半構造化データ (JSON、XML、ログなど)、非構造化データ (画像、オーディオ、ビデオなど) を含めることができます。
データ レイクを使用すると、データが必要になるまで変換を遅延して、元の変換されていない状態にすべてを格納できます。 これは、スキーマ・オン・リードと呼ばれる概念です。 これは、データが取り込まれる際に構造を適用し、変換を適用する データ ウェアハウスとは対照的です(スキーマの書き込みと呼ばれます)。
               
              
            
Data Lake の一般的なユース ケースは次のとおりです。
- データインジェストと移動: クラウド サービス、IoT デバイス、オンプレミス システム、ストリーミング ソースのデータを収集して、1 つのリポジトリに統合します。
- ビッグ データ処理: 分散処理フレームワークを使用して、大量の高速データを大規模に処理します。
- 分析と機械学習: 探索的分析、高度な分析、AI モデルのトレーニングと、大規模で多様なデータセットに対する微調整をサポートします。
- ビジネス インテリジェンスとレポート: レイク データの精選されたサブセットをウェアハウスまたは BI ツールに統合することで、ダッシュボードとレポートを有効にします。
- データのアーカイブとコンプライアンス: 長期的な保持、監査可能性、規制のニーズに合わせて履歴データセットまたは生データセットを格納します。
データ レイクの利点
- 将来の使用のために生データを保持します。Data Lake は生形式でデータを保持するように設計されており、将来の使用のために長期的な可用性を確保します。 この機能は、データからの潜在的な分析情報が事前にわかっていない可能性があるビッグ データ環境で特に価値があります。 また、生の状態を失うことなく、必要に応じてデータをアーカイブすることもできます。
- セルフサービス探索: アナリストとデータ サイエンティストは、データに直接クエリを実行し、実験と検出を促すことができます。
- 柔軟なデータサポート: 構造化形式を必要とするウェアハウスとは異なり、湖は構造化データ、半構造化データ、非構造化データをネイティブに処理できます。
- 
              スケーラブルでパフォーマンスの高い: 分散アーキテクチャでは、データ レイクを使用すると、大規模な並列インジェストと分散実行が可能になり、大量のワークロードで従来の ETL パイプラインを上回る場合が多くなります。 パフォーマンスの利点は、次のことから生じます。 - 並列処理: 分散コンピューティング エンジン (Spark など) はデータをパーティション分割し、複数のノード間で変換を同時に実行しますが、従来の ETL フレームワークは、多くの場合、シーケンシャルまたは制限されたマルチスレッド実行に依存します。
- スケーラビリティ: 分散システムは、コンピューティング ノードとストレージ ノードを弾力的に追加することで水平方向にスケーリングしますが、従来の ETL パイプラインは通常、リソースの制限に達する単一ホストの垂直方向のスケーリングに依存します。
 
- ハイブリッド アーキテクチャの基礎: データ レイクは、多くの場合、レイクハウス アプローチでウェアハウスと共存し、生のストレージと構造化されたクエリ パフォーマンスを組み合わせたものです。
最新の Data Lake ソリューションは、次の 2 つの主要な要素で構成されます。
- ストレージ: 持続性、フォールト トレランス、無限のスケーラビリティ、多様なデータ型の高スループット インジェスト用に構築されています。
- 処理: Azure Databricks、Microsoft Fabric の Apache Spark などのエンジンを利用して、大規模な変換、分析、機械学習を実現します。
さらに、成熟したソリューションには、データの品質、検出可能性、コンプライアンスを確保するためのメタデータ管理、セキュリティ、ガバナンスが組み込まれています。
データ レイクを使用する必要がある場合
探索的分析、高度なデータ サイエンス、機械学習のワークロードには、データ レイクを使用することをお勧めします。 Lake は生の状態でデータを保持し、スキーマの読み取りをサポートするため、チームは多様なデータ型を試し、従来の倉庫ではキャプチャできない可能性がある分析情報を明らかにすることができます。
データ ウェアハウスのソースとしてのデータレイク
データ レイクはデータ ウェアハウスのアップストリーム ソースとして機能し、生データはソース システムからレイクに取り込まれます (抽出と読み込み)、Fabric Warehouse などの最新のウェアハウスでは、組み込みの超並列処理 (MPP) SQL エンジンを使用して変換を処理し、生データを構造化形式の 抽出、読み込み、変換 (ELT) に変換します。 これは、ウェアハウスに読み込まれる前に ETL エンジン内でデータが抽出および変換される従来の ETL パイプラインとは異なります。 どちらの方法でも、ユース ケースに応じて柔軟性が提供され、データ品質、パフォーマンス、リソース使用率などの要因のバランスを取りながら、ウェアハウスが分析用に最適化されます。
イベント ストリーミングと IoT のシナリオ
データ レイクは、イベント ストリーミングと IoT のユース ケースに有効です。高速データは、事前スキーマ制約なしで大規模に保持する必要があります。 リレーショナル イベント ストリームと非リレーショナル イベント ストリームの両方を取り込んで格納し、低待機時間で大量の小さな書き込みを処理し、大規模な並列スループットをサポートできます。 これにより、リアルタイム監視、予測メンテナンス、異常検出などのアプリケーションに適しています。
次の表は、データ レイクとデータ ウェアハウスを比較したものです。
| 特徴 | Data Lake | Data Warehouse | 
|---|---|---|
| データ型 | 生、非構造化、半構造化、構造化 | 構造化され、高度に整理された | 
| クエリ パフォーマンス | 特に複雑なクエリの場合は遅くなります。データ形式とツールによって異なる | 分析クエリ用に高速かつ最適化 | 
| 遅延 | オンザフライ処理による待機時間の増加 | 事前処理済みの構造化データによる低待機時間 | 
| データ変換ステージ | 変換はクエリ時に発生し、全体的な処理時間に影響します | ETL または ELT プロセス中に変換が行われる | 
| スケーラビリティ | 大量の多様なデータに対して高い拡張性とコスト効率を実現 | 拡張性はありますが、コストが高くなります。特に大規模な場合 | 
| 費用 | ストレージ コストの削減。コンピューティング コストは使用量によって異なります | パフォーマンスの最適化によるストレージとコンピューティングのコストの増加 | 
| 適したユース ケース | ビッグ データ、機械学習、探索的分析に最適です。 medallion アーキテクチャでは、レポートの目的で Gold レイヤーが利用されます | ビジネス インテリジェンス、レポート、構造化データ分析に最適 | 
データ レイクの課題
- スケーラビリティと複雑さ: ペタバイト単位の生データ、非構造化データ、半構造化データを管理するには、堅牢なインフラストラクチャ、分散処理、慎重なコスト管理が必要です。 
- 処理のボトルネック: データ量と多様性が増加すると、変換ワークロードとクエリ ワークロードで待機時間が発生する可能性があり、パイプラインの設計とワークロードのオーケストレーションを慎重に行う必要があります。 
- データ整合性リスク: 強力な検証と監視を行わないと、エラーや不完全な取り込みによって、湖のコンテンツの信頼性が損なわれる可能性があります。 
- データの品質とガバナンス: さまざまなソースと形式により、一貫した標準を適用することが困難になります。 メタデータ管理、カタログ化、ガバナンス フレームワークの実装は非常に重要です。 
- 大規模なパフォーマンス: クエリのパフォーマンスとストレージの効率は、湖の拡大に伴って低下する可能性があり、パーティション分割、インデックス作成、キャッシュなどの最適化戦略が必要になります。 
- セキュリティとアクセス制御: 機密データの誤用を防ぐために、さまざまなデータセットにわたって適切なアクセス許可と監査を確保するには、計画が必要です。 
- 発見可能性:適切なカタログ化がなければ、湖は貴重な情報が存在するがアクセスできないか誤解されている「データ沼地」に陥る可能性があります。 
テクノロジの選択
Azure 上に包括的なデータ レイク ソリューションを構築する際は、次のテクノロジを考慮してください。
- Azure Data Lake Storage は、Azure Blob Storage とデータ レイク機能を組み合わせたものであり、Apache Hadoop と互換性のあるアクセス、階層型名前空間の機能、および効率的なビッグ データ分析のためのセキュリティ強化を利用できます。 これは、大量の構造化データ、半構造化データ、非構造化データを処理するように設計されています。 
- Azure Databricks は、Apache Spark の長所と Microsoft Azure エコシステムへの深い統合を組み合わせたクラウドベースのデータ分析と機械学習プラットフォームです。 データ エンジニア、データ サイエンティスト、アナリストが連携して、大量のデータを取り込み、処理、分析、モデル化できるコラボレーション環境を提供します。 
- Azure Data Factory は、Microsoft Azure のクラウドベースのデータ統合と ETL (抽出、変換、読み込み) サービスです。 クラウドでもオンプレミスでも、さまざまなソース間でデータ ワークフローを移動、変換、調整するために使用します。 
- Microsoft Fabric は、データ移動、データ サイエンス、リアルタイム分析、ビジネス インテリジェンスを単一のサービスとしてのソフトウェア (SaaS) エクスペリエンスに統合する、Microsoft のエンドツーエンドのデータ分析プラットフォームです。 - 各 Microsoft Fabric テナントは、OneLake と呼ばれる 1 つの論理データ レイクで自動的にプロビジョニングされます。 Azure Data Lake Storage (ADLS) Gen2 上に構築された OneLake は、構造化データ形式と非構造化データ形式の両方を処理できる統合ストレージ レイヤーを提供します。 
貢献者
この記事は、Microsoft によって保守されています。 当初の寄稿者は以下のとおりです。
主執筆者:
- Avijit Prasad | クラウド コンサルタント
貢献:
- Raphael Sayegh |クラウド ソリューション アーキテクト
パブリックでない LinkedIn プロファイルを表示するには、LinkedIn にサインインします。
次のステップ
- OneLake とは
- Data Lake Storage の概要
- Azure Data Lake Analytics のドキュメント
- トレーニング: Data Lake Storage の概要
- Hadoop と Azure Data Lake Storage の統合
- Data Lake Storage と Blob Storage への接続
- Azure Data Factory を使用して Data Lake Storage にデータを読み込む