1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

データ基盤のデータレイク・データウェアハウス・データマートのイメージ

Posted at

データ分析のステップと、そこで活躍するインフラに関する用語・ベストプラクティスをまとめてみようと思いました。
「ベストプラクティス」なので、世間一般で使われる、(やや?)枯れた技術のまとめです。

データ分析のステップ

データ分析はいくつかステップがあります。
区切り方は諸説ありますが、大まかには以下のステップかなと思います。

  1. Ask:目的を明確化し、問い・仮説を立てる
  2. Prepare:データを準備する
  3. Process:分析しやすいようにデータを整理・処理する
  4. Analyze:実際にデータを分析する
  5. Share:分析結果を共有する
  6. Act:分析結果から行動を起こす

データ分析を支えるインフラ

上記ステップのうち、ビッグデータに対して、Prepare~Process~Analyze~Shareを手間を掛けず、効率的・自動的に処理できるようにするインフラがデータ基盤です。
データ基盤は、その機能で大まかに、データレイク・データウェアハウス・データマートに分かれます。

こちらの図が個人的イメージと近いです。
https://medium.com/@david.alvares.62/datalake-datawarehouse-datamart-with-bigquery-32f6c3735a9d

データレイク Data Lake

データのです。非常に大きい湖のイメージです。
データ基盤では上流に位置し、装置などから送られてくるデータが、まずここに入ってきます。
データレイクでは、多種多様な生データを貯めています。

生データのため、そのまま使いやすいものもあれば、加工が必要なものも入っています。
(一般的に、使いやすいデータ=表形式のデータを「構造化データ」と呼びます。)
そのため、ここがデータ分析に直接使われることは少ないです。

生データを貯めるため、ファイルシステムやAmazon S3などの比較的単純なストレージで構成されていることが多いです。

前述の分析ステップでは、Prepare~Processの段階で登場するかなと思います。

データウェアハウス Data Warehouse

データの倉庫です。Amazonの巨大物流倉庫のようなイメージで、多種多様なデータを扱いますが、整理整頓され使いやすい状態で保持されています。
データ基盤では中流に位置し、データレイクのデータを加工処理1して倉庫に貯めています。

データ分析では、このデータウェアハウスを用いて分析するはまあまああります。
ただし、「巨大物流倉庫」のため、「どこに何があるか」や「どうすれば効率的に扱えるか」といった、データを触る前の「コツ」があり、初心者には扱いにくいです。

データウェアハウスでは、データベースを使います。
小規模・単一データであれば表計算ソフトを利用する人が多いですが、データベースを用いると、大規模・複数のデータを一箇所で整合性が高い状態で管理できます。
データを取り出したいときも、計算処理や複数データを組み合わせた上で、所望の部分のみ抽出することができます。

前述の分析ステップでは、Process~Analyzeで登場するかなと思います。データサイエンティストであれば、結果をそのままShareすることもあるかなと思います。

データマート Data Mart

データの店舗です。小売店のイメージです。
データウェアハウスから必要なものを取り出し、特定用途に特化したデータを扱っています。

データウェアハウスは多種多様なデータを扱っているため初心者には扱いにくいですが、
データマートは特定の用途に絞っているため、高度な分析は難しいが、扱いやすいという特徴があります。
例えば、データウェアハウスには「全ての決済の詳細な情報」が入っている場合、それを集約した「日ごとの売上」がデータマートのイメージです。

データマートでもデータベースが使われることが多いです。
データマートの中身は比較的単純・軽量なデータであることが多いため、ストレージに書き出して扱うことも可能ですが、
ストレージにファイルを書き出す方式だとフォーマット変更などが容易で、データ整合性が保ちにくいため、
データベースを使うのがベストプラクティスかと思います。

前述のデータ分析ステップでは、Analyze~Shareで主に登場するかなと思います。

  1. この、「データを使いやすい状態になるような加工処理」を「ETL処理」と呼ぶことがあります。Extract(ファイル抽出)、Transform(変換・加工)、Load(データベースに読み出し)の頭文字を取っています。
    ETL処理により、不要な部分の削除、データの集約、簡易的な計算など、データの前処理を行います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?