データパイプライン〜データレイク・データウェアハウス・データマート 〜の観点より
今回は、データマネジメントの基礎知識でデータ加工のフェーズであるデータレイク・データウェアハウス・データマートについて説明していきます。
思案起因
DMMでは、直近ドメイン毎にプロダクトチームが発足しています。つまるところエンジニアが、ただ単にコーディングしていればいいのではなく、プロダクトをグロースさせることに責任を持つようになり、データドリブンな開発をする必要が出てきました。
つまり、『データに基づいた意思決定』をするためにデータ基盤を使って仮説を考え、ローンチしたあとはキチンとデータ見て学習する。といった開発サイクルが必須になってきます。
今回は、そんな普段使っている『データ基盤』について基本的な用語をさらっていくことで理解を深めます。
データ基盤の全体像
DMMのデータ基盤の全体像ですが各ドメインから様々な情報
(ユーザー行動ログ, 購入履歴,etc…)として集約しています。
それをデータアナリストが分析をして、各ドメインのプロダクトオーナーと主にプロダクトグロースのために『仮説』を議論していきまうs.
今回、述べていくのは上図でいうところの『Big Data』の部分がどういったフェーズを通って、ビジネス価値を見いだせるデータになるのかを深掘りしていきます。
本題 : データ加工のフェーズについて
データマネジメントにおいてデータアナリスト=データ分析者が分析をできるまでには以下の3つのフェーズが必要です。
- データレイク(Data Lake)
- データウェアハウス(DWH)
- データマート(Data Mart)
それぞれ説明していきます。
データレイク(Data Lake)
データをもとを辿れば、必要なデータはそれぞれのドメインの中にあります。それは、RDBかもしれないしNoSQL,スプレットシートかもしれません。データレイクの概念としては、
- どんなデータにビジネス価値があるかわからないから、どんなデータでも集約させる
といった概念があります。なので一旦構造化されていようが非構造化のデータでも集約させます。
個人的にここを集約させないと、本当に活用できるデータ基盤とは言えないとおもいます。
データウェアハウス(DWH)
データウェアハウスとは、いわゆる皆が想像できるデータ基盤像でデータを分析したい人が、SQLを叩いてデータが取れる状態のことです。ポイントしては、
- どの情報がどこにあるかがわかる。
- データドメインに依存しない。
つまり、データレイクの状態だとデータソースの構造もバラバラで何がどこにあるかがわかりません。例えば、RDBのMySQLをデータウェアハウスとして採用したならば、データレイクの状態から『このDBのこのテーブルにはこのデータが存在する』といったスキーマまで落とし込む必要があります。あとは分析者がBIツールなどを使ってSQLを叩けば分析できる状態になります。
データマート(Data Mart)
データマートに関しては、様々な議論がありますが特定の目的・用途用に加工したデータストアです。いわゆるデータウェアハウスをもっと利用用途を狭めてカスタマイズした形です。DWHの個別テーブルをデータマートと言って良いですし、ある程度目的に関係あるDWHの個別テーブルの集合体のことをデータマートというケースもあります。
まとめ
以上、データ基盤ができあがるまでのフェーズを以下の3つにわけて説明してきました。
- データレイク(Data Lake)
- データウェアハウス(DWH)
- データマート(Data Mart)
この中で一番大事なのは、データウェアハウスです。ここをどう作り上げるかで分析のハードルが下がります。
データレイクの状態のままだと、データを取得するのが難しくなったりして高度なスキルをもつデータアナリストしかデータが見れません。いかにデータウェアハウスをわかりやすく構築して、エンジニアだけでなく営業などの職種でも安易にデータを取得できるかが、データに基づいた意思決定を後押しするものだと思います。
以上