「お昼休みに学ぶ」SNOWFLAKE入門シリーズ | 3月31日(火) - 4月2日(木)開催

今からでも遅くない!これから始める業務改善・DXのためのデータ活用

データレイクとは:アーキテクチャとユースケース

データレイクは、今日のデータの量、種類、速度に対応するように設計された、モダンデータのデータインフラストラクチャの要として台頭してきました。

  • 概要
  • データレイクとは
  • データレイクとデータウェアハウス
  • データレイクのメリット
  • データレイクアーキテクチャとは
  • サポートされているデータタイプ
  • データライフサイクル
  • データレイクが重要な理由
  • データレイクの課題とユースケース
  • データレイクに関するよくある質問
  • データレイクにSnowflakeを使用しているお客様の事例
  • 関連リソース

概要

組織がデータドリブンな世界に進化するにつれて、柔軟でスケーラブルなコスト効率の高いデータストレージとアナリティクスソリューションの必要性はかつてないほど高まっています。データレイクは、今日のデータの量、種類、速度に対応するように設計された、モダンデータのデータインフラストラクチャの要として台頭してきました。

このページでは、データレイクの概要だけでなく、データレイクを大規模に効果的に機能させるための基盤となるアーキテクチャについても詳しくご紹介します。

データレイクとは

データレイクは、構造化データ、半構造化データ、非構造化データなど、あらゆるタイプのデータを未加工の形式で保存できる中央リポジトリです。データレイクは、従来のデータベースやデータウェアハウスとは異なり、ストレージ前に事前定義されたスキーマやフォーマットを必要としないため、柔軟性とアジリティに優れています。

主な特徴:

  • スキーマオンリード:データは取り込み時ではなく、アクセス時に解釈される
  • 多様なデータタイプのサポート:CSVファイルやJSONログ、画像や動画にも対応
  • 複数の言語をサポート:SQL、Sparkなど
  • スケーラビリティとコスト効率:安価なオブジェクトストレージを基盤として(多くの場合、クラウド内で)構築
  • 幅広いユーザー向けの設計:データアナリスト、データサイエンティスト、エンジニア向け
  • データライフサイクル全体に対応した設計:取り込み、ストレージ、処理、変換を経て、高度なアナリティクスとAIまで

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

データレイクとデータウェアハウスはどちらもデータの保存や分析に使用されますが、重要な点で異なります。
 

  • データ構造:データレイクは、事前定義構造を持たない、処理されていない生データを保存します。データは「スキーマオンリード」アプローチで管理されており、分析時にアクセスされたときのみ整理されます。データウェアハウスでは、ストレージ前にデータをクリーニングし、事前定義されたスキーマに合わせて変換する必要があります。この処理は「スキーマオンライト」と呼ばれます。

  • データタイプ:データレイクは、構造化データ、半構造化データ、非構造化データなど、あらゆるデータタイプに対応できます。従来のデータウェアハウスは、主に分析に適した構造化データを保存していました。

  • ユーザーと目的:データウェアハウスは多くの場合、ビジネスインテリジェンス(BI)やレポーティング向けに最適化されており、ビジネスアナリストによって使用されています。データレイクは、データサイエンティストやデータエンジニアによって、より多様なデータタイプに対する高度なアナリティクスや機械学習に広く使用されています。

  • ハイブリッドアプローチ:多くの組織は、「レイクハウス」アーキテクチャで両方のシステムを統合し、データレイクの柔軟性とデータウェアハウスのパフォーマンスを実現しています。

データレイクのメリット

データレイクは、モダンデータを大規模に管理し分析しようとする組織に多くのメリットをもたらします。
 

  • 費用対効果の高いストレージ:データレイクは、クラウド上などの低コストのオブジェクトストレージに構築されるため、従来のシステムと比較してストレージコストを抑えることができます。そのため、事前定義構造を持たない膨大なデータを保存でき、費用対効果が高くなります。

  • ビッグデータ対応のスケーラビリティ:データレイクは、現代の膨大かつ多様なデータに対応できるよう設計されており、ペタバイト単位のデータを容易にサポートできます。高いスケーラビリティを持ち、ビジネスニーズに応じて容易に拡張できます。

  • 複数のデータタイプに対応する柔軟性:データレイクは、構造化、半構造化、非構造化を問わず、あらゆるソースから、あらゆるスピードでデータを取り込むことができます。この「スキーマオンリード」アプローチにより、データ探索の柔軟性を最大限に高めることができます。

  • 高度なアナリティクスとAI-ready:データレイクは、幅広いアナリティカルワークロードに対応できる柔軟な基盤として機能します。高度なアナリティクス、機械学習、リアルタイム分析をサポートしています。大量の生データを扱えることは、AIや機械学習モデルのトレーニングに不可欠です。

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

データレイクは概念ですが、データレイクアーキテクチャは、データレイクを効率的に機能させるための基盤となる構造とコンポーネントを意味します。大規模なデータセットの取り込み、ストレージ、処理、発見、ガバナンス、消費を管理するように設計されたレイヤーシステムです。

データレイクアーキテクチャのコアコンポーネント:

レイヤー

機能

取り込みレイヤー

さまざまなソース(ストリーミング、バッチ、IoT、API)からデータを取り込む

ストレージレイヤー

スケーラブルなオブジェクトストレージに生データを保存

メタデータとカタログレイヤー

発見可能性のためにデータのインデックス付け、タグ付け、調整を行う

処理レイヤー

バッチ/リアルタイム処理ツールによるデータ変換

アクセスレイヤー

クエリ、探索、アナリティクスを可能にする

ガバナンスとセキュリティレイヤー

データプライバシー、アクセス制御、監査、コンプライアンスを管理する

サポートされているデータタイプ

データレイクは、膨大なデータをネイティブの未加工フォーマットで保存できるように設計されています。そのため、多様なデータタイプをサポートしています。大きくは、以下の3つのタイプに分類されます。

構造化データ

このタイプのデータは高度に整理されており、リレーショナルデータベースやスプレッドシートのように行や列に整然と格納されています。スキーマが事前定義されているため、検索、分析、管理が容易です。構造化データタイプの例を次に示します。

  • リレーショナルデータベーステーブル:固定の列と行で編成されたデータ
  • スプレッドシート(CSVファイルなど):定義された列を含む表形式データ
  • 数値データ:整数、浮動小数点の数値、小数
  • カテゴリ別データ:値の数に制限のあるラベルまたはカテゴリ
  • 日付と時刻のデータ:タイムスタンプ、日付と時刻の値

半構造化データ

このデータは硬直した表形式には準拠していませんが、調整的な性質を備えているため、非構造化データよりも分析が容易です。多くの場合、セマンティック要素を分離して階層を強制するタグやマーカーが含まれます。以下にいくつかの例を示します。

  • JSON(JavaScript Object Notation):キーと値のペア、そしてネストされたオブジェクトを使用する軽量フォーマット
  • XML(拡張マークアップ言語):ドキュメントを人間が読める形式と機械が読める形式でエンコードするための一連のルールを定義するマークアップ言語
  • 複雑な構造を持つCSV(カンマ区切り形式):基本的な構造化CSVとは異なり、さまざまな数のカラムやフィールド内のネストデータが含まれる半構造化のデータ
  • ログファイル:多くの場合、タイムスタンプ、イベントタイプ、メッセージが含まれ、解析が可能
  • NoSQLデータベース:スキーマがエントリ間で異なる可能性があるドキュメントまたはキー値ストア
  • HTML(ハイパーテキストマークアップ言語):主にウェブページを対象としていますが、構造化された要素やデータが含まれる
  • YAML(YAML Ain't Markup Language™):すべてのプログラミング言語に対応する、人間が解読しやすいデータシリアライゼーション形式

非構造化データ

このデータには事前定義された形式や組織がないため、従来の方法での分析は困難です。多くの場合、インサイトを抽出するためには、自然言語処理や機械学習などの専門的なツールや技術が必要になります。非構造化データ型の例を次に示します。

  • テキストファイル:ドキュメント(.txt、.doc、.pdf)、Eメール、ソーシャルメディア投稿
  • 画像ファイル:JPEG、PNG、GIF
  • 音声ファイル:MP3、WAV
  • 動画ファイル:MP4、AVI、MOV
  • センサーデータ:一貫した構造を持たない可能性があるIoTデバイスからのデータストリーム
  • バイナリファイル:実行ファイル、専有データ形式

データレイクの主な特徴とメリットは、こうした多様なデータタイプをすべてネイティブフォーマットで保存および処理できることです。この「スキーマオンリード」アプローチは柔軟性に優れており、データサイエンティストやアナリストは、事前定義構造の制約がなく、さまざまな方法でデータを探索し、分析できます。

データライフサイクル

データレイク内のデータライフサイクルは、データが最初に作成または取得されてから、最終的にアーカイブまたは削除されるまでの段階を表します。データレイク内のデータの存在全体にわたって、データの効果的な管理、利用、ガバナンスを実現する継続的なプロセスです。以下に、データレイクにおけるデータライフサイクルの一般的な概要を示します。具体的な実装はさまざまに異なることに留意してください。

1.データの取り込み:これは、さまざまなソースシステムのデータをデータレイクに取り込む初期段階です。これらのソースは、構造化データベース、半構造化ログ、非構造化ドキュメント、IoTデバイスからのストリーミングデータ、ソーシャルメディアのフィードなど、さまざまです。データレイクへの取り込みの主な特徴は、多くの場合に「そのまま取り込む」ことです。つまり、データは通常、事前変換やスキーマ定義を大幅に行わずに生のネイティブ形式で読み込まれます。これにより、将来的な分析のための柔軟性が最大化します。このステージで使用されるツールとプロセスには、バッチロード、リアルタイムのストリーミング取り込み、データコネクタなどがあります。

2.データストレージと永続性:取り込んだ生データは、データレイク内に保存されます。このアーキテクチャでは、Hadoop分散ファイルシステム(HDFS)などの分散ストレージシステムや、クラウドベースのオブジェクトストレージ(Amazon S3、Azure Data Lake Storage、Google Cloud Storageなど)を利用する場合が多くなります。データは元のフォーマットのままであるため、後で多様なアナリティカルアプローチが可能になります。データレイクで扱われる可能性のある膨大なデータ量を処理するには、ストレージレイヤーのスケーラビリティと費用対効果が不可欠です。データアクセスの頻度と保持ポリシーに応じて、異なるストレージ階層が使用される場合があります。

3.データ処理と変換:このステージでは、分析と消費のために生データを準備します。特定のアナリティカルユースケースに応じて、データのクリーニング、フィルタリング、結合、集約、エンリッチメントなど、さまざまな変換が行われます。「スキーマオンリード」は、データの取り込み時ではなく、特定の目的のためにデータを処理するときにスキーマを適用する機能です。このステージでは、Spark、Hadoop MapReduce、レイクに接続されたデータウェアハウスツール、サーバーレスコンピュートサービスなど、さまざまな処理エンジンやフレームワークが使用されます。

4.データの探索と分析:この段階では、データサイエンティスト、アナリスト、ビジネスユーザーが処理済みのデータを探索してパターンを発見し、インサイトを取得して、ビジネス上の疑問に回答します。SQLライクなクエリ、データ可視化ツール、統計分析パッケージ、機械学習アルゴリズムなど、さまざまなツールや技術を使用する可能性があります。データレイクの柔軟性により、同じデータでも特定のニーズに応じて多様なアナリティカルアプローチが可能になります。

5.データ消費とアクション:インサイトと処理済みのデータは、さまざまなダウンストリームのアプリケーションやユーザーによって消費されます。これには、レポートやダッシュボードの生成、運用システムへのデータのフィード、リアルタイムアプリケーションの強化、ビジネス意思決定への情報提供などが考えられます。消費されるデータは、消費先のアプリケーションに応じてさまざまなフォーマットで、異なるインターフェイスを介してアクセスされます。

6.データガバナンスとセキュリティ:ライフサイクル全体を通じて、データガバナンスとセキュリティは必須です。ここでは、データ品質、メタデータ管理、データリネージ、アクセス制御、データマスキング、規制遵守に関連するポリシーの定義と適用などが実施されます。効果的なガバナンスにより、データレイク内のデータの信頼性、セキュリティ、適切な管理が確保されます。

7.データのアーカイブと消去:データが古くなり、そのビジネス価値が低下するにつれて、コンプライアンス上の理由やストレージコストの最適化のためにアーカイブが必要になる場合があります。最終的に、不要になったデータは定義された保持ポリシーに従って消去されます。この最終ステージでは、長期的なデータレイクの効率性とコンプライアンスを維持します。

本質的に、データレイクのデータライフサイクルは柔軟で適応性に優れた設計となっています。組織は適切なガバナンスとセキュリティを維持しながら、多様な膨大なデータを取り込み、特定のアナリティカルユースケースに合わせて必要に応じて処理し、価値あるインサイトを抽出できます。「スキーマオンリード」原則とストレージとコンピュートの分離は、従来のデータウェアハウスのアプローチとの差別化要因となります。

データレイクが重要な理由

概念的な観点からも、アーキテクチャの観点からも、データレイクの価値はモダンデータのニーズに応えるその能力にあります。データレイクの主なメリットは次のとおりです。 
 

  • スケーラビリティ:ペタバイト単位のデータを容易にサポート
  • 柔軟性:あらゆるソースから、あらゆるデータをあらゆるスピードで取り込む
  • コスト削減:従来のシステムと比較して低いストレージコスト
  • 高度なアナリティクス:AI、機械学習、リアルタイム分析の基盤
  • データの民主化:技術チームと非技術チームによる広範なデータアクセス

モダンデータレイクへの進化

従来型のデータレイクは、モダンデータレイクのアーキテクチャへと進化しています。このアーキテクチャは「レイクハウス」とも呼ばれ、データレイクの柔軟なストレージとデータウェアハウスの構造化クエリと高いパフォーマンスを組み合わせたハイブリッドシステムです。

モダンデータレイクアーキテクチャのトレンドは次のとおりです。
 

  • クラウドネイティブな展開
  • 組み込みの処理エンジン
  • 統合されたガバナンスフレームワーク
  • データレイクとデータウェアハウスの分断を解決する統合プラットフォーム

データレイクの課題とユースケース

データレイクの課題

  • データ発見可能性:適切なカタログ作成とメタデータ管理が欠如していると、ユーザーは必要なデータを見つけて理解することが困難になります。
  • セキュリティとガバナンス:データレイクでコンプライアンスを確保し、機密情報を保護するには、堅牢なセキュリティ対策とガバナンス対策が必要です。この対策は、広大なデータレイクと多様なデータソースに対応するため、困難な場合があります。
  • 統合の複雑さ:データソースは多様で非構造化データである場合がほとんどであり、データレイクの規模も関係しています。そのため、管理もアクセスもできない「データ沼」を回避するための洗練されたモダンツールが求められています。

ユースケース

  • 機械学習とAIトレーニングのパイプライン
  • リアルタイムのデータ処理とアナリティクス
  • 長期ストレージとデータアーカイブ
  • エンタープライズデータ統合
  • ビジネスインテリジェンスとレポート作成
  • 高度なアナリティクスとAI
  • 予測分析
  • 機械学習とAIトレーニングのパイプライン
  • データ探索とトレンド分析
  • 顧客体験とマーケティング体験:顧客の360度ビュー

データレイクに関するよくある質問

データレイクは、あらゆる種類の生データを保存する中央リポジトリです。データレイクハウスは、従来のデータレイクの進化形であり、柔軟なストレージを持つデータレイクと、構造化クエリや高いパフォーマンスを持つデータウェアハウスを組み合わせたハイブリッドシステムです。

いいえ。SQLはデータレイクではありません。データレイクは、データストレージリポジトリです。SQL(構造化クエリ言語)は、Sparkなどの他の言語とともに、データレイクに保存されたデータに対してクエリや分析を行うための言語です。

データレイクにおけるETL(抽出、変換、ロード)とは、データを取り込み、分析に適した形に準備するプロセスを指します。データはまず複数のソースから抽出され、未加工のままデータレイクにロードされます。その後、データのクリーニング、構造化、エンリッチメントなどの変換がデータレイク内で行われ、レポーティング、機械学習、その他のアナリティクスに使用できる状態になります。