近年のデータエンジニアリングやデータ分析では、データ活用の目的に応じて適切に管理するデータマネジメントが重視されつつあります。

社内に散逸するデータをデータウェアハウス(DWH)上に統合し、大規模なデータを分析可能な状態にすることは、データマネジメントの第一歩にすぎません。扱うデータの量が増えるほど、データウェアハウス上のデータを分析に向けて、より最適化するという高度なデータマネジメントが求められます。

このようなケースで活躍するのが、本記事で紹介する”データマート”です。データマートの利用により、ユーザーのデータ分析をしやすくなります。データマートの理解を深め、自社のデータ分析基盤に活用していきましょう。

データマートとは

データマートとは、データの検証や分析など特定の目的のために作成されたデータベースのことです。

通常データ分析には社内データを統合したデータウェアハウスを使用し、データマートはそのデータウェアハウス上の別テーブルにデータを切り出す形で作成されます。データマートは、規模の小さなデータウェアハウスともいえるでしょう。

データウェアハウスにはないデータマートの特徴として、データ全体の構造の順番変更や削除・追加など、分析の最適化ができます。

データ分析の最適化により、大元のデータウェアハウスを用いたデータ分析と比べて、分析スピードの向上が期待できます。

意外と知らない!データマートとデータウェアハウス・データレイクの違い

データマートと混同して用いられるのが、「データウェアハウス」と「データレイク」です。

格納しているデータの量が大きければデータウェアハウスやデータレイク、小さければデータマートと思われがちです。しかし厳密には、データベースの目的と構造によって区別されます。

データマートを活用するうえでは、データウェアハウス・データレイクとの違いに注意し、使い分ける必要があります。

そこで「データマート」と「データウェアハウス」「データレイク」の異なる点を下の表にまとめました。

目的構造特徴
データレイク一次データ(生データ)を保管することデータを取得した順に格納保管が目的なので活用には不向き
データウェアハウスデータ活用のベースにすることデータを行ごとに時系列順に整理データ量が大きくなると分析しにくい
データマート特定データ分析に使うこと決まっていないデータが増えても扱いやすい

社内の各サービス・ツールが持つデータは、データウェアハウス上の”データレイクテーブル”に一度格納されます。

そのデータレイクを時系列順に整理したテーブルが、「データウェアハウステーブル」です。通常は、このデータウェアハウステーブルがデータ活用の基盤となるマスターデータになります。

しかしデータ量が増える、もしくは大元のデータに対して、変更をくわえて使いたいケースでは、データを別のテーブルに切り出す必要があります。ここで作成されるのが「データマート」です。

「生データの保管」の制約があるデータレイク、データの時系列保管が決められている「データウェアハウス」に対して、ユーザーが自由にデータを加工しても良い点がデータマートのもっとも大きな特徴になります。

データマートは目的達成の戦術を決めるために重要な要素

データウェアハウスとデータマートでは、構造の違いのほかに、データ分析の目的の違いから捉えられるケースがあります。

データウェアハウスは社内のデータを網羅的に格納しており、データウェアハウスベースの分析はデータの質・量ともに大きな分析になります。

この分析では数ヶ月単位の大きなトレンドなどから、中長期的な戦略を決めるケースが多い傾向にあります。ただし月ごと、日ごとのミクロな分析から具体的な戦術を考えるには向いていません。

対して時系列以外の視点や、特定の期間のデータからミクロに分析するにはデータマートをベースにした分析が有効です。

たとえば、BtoBでは金曜日から日曜日にかけてユーザーのクリック数が落ち込みます。この気付きは月ごとの大きなデータではなく、日ごとの細かいデータから得られたものです。

このようにデータマートは細かなデータから、目的達成の戦略を考えることができます。

データマートの種類3つ

データマートは格納するデータによって、以下の3つのタイプに分かれます。

  • 従属型データマート
  • 独立型データマート
  • ハイブリッド型データマート

いずれもデータ分析のためのデータベースという点は共通しています。しかしそれぞれ運用上のメリットやデメリットが異なります。

データマートを有効活用するにはそれらの違いを認識し、データ分析の目的や運用上の課題に適したタイプを選択しましょう。

従属型データマート

従属型データマートは、もっとも一般的なデータマートのタイプです。

親関係のデータウェアハウスから、分析に必要なデータを抽出する形で作成します。

データウェアハウスに生じた変更が、子のデータマートにも反映される点が特徴で、親データの更新に対してデータマートもその更新に追従します。

ただし親データから必要なデータが除かれると、その変更にも追従してデータを削除します。

親のデータウェアハウスはあくまで時系列データの保管のみに使用し、分析のためにデータを編集する際は必ずデータマートを使用するルールを決めておくなど取り扱いに注意しなければいけません。

独立型データマート

独立型データマートは、従属型データマートの対になるタイプのデータマートです。

データウェアハウス上にないデータを用いて、データ分析するケースで使用します。

データマートの作成時のみ、親のデータウェアハウスと接続してデータを抽出し、以後はデータウェアハウスへの追従を切ってしまう運用も独立型のデータマートになります。

親のデータウェアハウスの影響を受けず運用が可能です。またデータ分析のたびに、データをアップデートする必要があるためアドホックな分析に有効です。

ハイブリッド型データマート

ハイブリッド型は、従属型・独立型の特徴を併せ持つデータマートです。基本のデータは親のデータウェアハウスから抽出しつつ、外部サービスから取得したデータとも絡めた高度な分析に用いられます。

従属型・独立型のデータマートと比べ、より柔軟なデータ分析が可能です。しかし親のデータウェアハウスからの影響を受けやすく、分析のたびに外部データをアップデートする必要があるなど、運用上のデメリットも同時に引き継いでいます。

データマートを導入するメリット3選

自社の保有するデータ量が少なければデータマートの導入は不要と思われがちですが、データマートには運用上のメリットがあります。

データウェアハウスのみではなく、あえてデータマートも導入するメリットを3つ紹介します。

目的や部門など特定領域のデータ分析がしやすい

データウェアハウスが保有するデータは膨大で、ミクロな分析には適していません。

一方でデータマートは膨大なデータから分析に必要なデータのみを抽出します。「経理部門が月次の予実管理をする」、「マーケティング部門が毎週のデータ分析をする」など、特定の部署・部門でもデータ分析が容易になります。

データマートへのデータ抽出だけならカンタンなSQLで実行できるため、社内のデータエンジニアに頼らないデータ活用の民主化が促されます。その結果、どの部署・部門でもデータの分析結果に基づいた精度の高い意思決定が可能になり、納得感を持って戦術を実行できます。

データの取り扱いがカンタンで業務効率化につながる

通常データウェアハウスのみを基盤としてデータ分析を行う際は、マスターデータを不用意に編集しないよう注意する必要があります。

しかしデータマートを利用すれば、マスターデータへの影響を気にしなくともデータの編集ができるようになります。

データ分析の前段階として、分析しやすいようにデータを整形するのが一般的です。単純なデータの並び替えだけでなく、日次データ→月次データへの統合のような複雑な操作も気軽にできます。

くわえて万が一意図しない操作によってデータが欠損してしまっても、マスターデータから再度そのデータを取得します。それによって、何度でもやり直しが効き、データの取り扱いがカンタンになります。

安価なうえに実装に時間がかからない

データマートは既存のデータウェアハウスサービス上に作成します。

すでにデータウェアハウスのシステムを導入していれば、データマートの導入のために別途サービスを用意する必要はありません。

データマートを利用したデータ分析を行いたい場合は、すぐにデータ分析が可能であり、スピーディーなデータ活用が期待できます。またGoogle BigQueryやAmazon Redshiftなど、主要なデータウェアハウスサービスの料金体系は、サービスの基本料金+利用するデータ量に応じた従量課金のケースが多いです。

データマートを導入しても発生するコストは少額の従量課金に留まります。

データマートを導入するデメリット2選

データマートは導入も容易で、単純なデータ抽出ならデータエンジニアなしでも利用可能です。

しかし魅力的なメリットがある反面、データマートを導入することで発生するデメリットも存在します。本章では2つのデメリットを紹介します。

いずれもユーザー側がデメリットを正しく認識し運用をすることで、自社の事業に大きな効果をもたらせます。

データセット・テーブルの管理が煩雑になる

データマートは前述のとおり、データエンジニアリングの知識がなくとも利用可能です。しかしデータウェアハウスサービス上には詳細がわからないテーブルがいくつも並び、管理の手が回らない状態になりがちです。

とくに、アドホックな単発の分析に利用したテーブルが削除されずに放置されてしまうケースがあります。また少し規模の大きいデータを分析しようと、マスターデータのデータウェアハウスをそのまま分析用に複製して、データマートに転用しているケースではコストも継続的に発生してしまいます。

データマート導入時には、「マスターとなるデータベースを明確に決めておく」、「一度使用したデータマートは用が済んだら削除する」など、運用上のルールを定めておくことが重要です。

多角的な分析が難しく新しい気づきを得られにくい

米ウォルマート社が売上の分析をした際に、ビールと紙おむつの売上に相関があることを見つけました。

これらを近くに陳列したことで売上を伸ばしたエピソードは有名ですが、このときビール、あるいは紙おむつのデータだけを見ていては、この気付きは得られなかったでしょう。

データマートの利用においても同様です。必要なデータを抽出したつもりでも、特定のデータだけを見ていては期待した分析結果が得られないケースもあります。

「抽出するデータを少し広くしてみる」、「外部サービスのデータとも絡めたハイブリッド型のデータマートにしてみる」など、さまざま工夫が必要になります。とくにハイブリッド型のデータマートを作成・運用するには、カンタンなSQLではなくデータエンジニアリングの知識が求められます。

日常的に複雑な分析を行うのでなければ、必要に応じてベンダーに有償の分析サポートをお願いすると良いでしょう。

まとめ

本記事ではデータマートの概要や類似する言葉との違い、メリット・デメリットを解説しました。

部署・部門を問わず、データの活用を進めるにはデータマートの利用は欠かせません。複雑なデータ分析を行う際にはデータエンジニアの助けが必要になるケースはありますが、そのデメリットを補うだけの魅力があります。

自社でのデータ分析基盤を構築する際には、ぜひデータマートの導入を検討してみてはいかがでしょうか。

弊社が提供するETLツールtrocco®にはデータマート生成機能があり、データウェアハウスのコンソール画面を操作せずともtrocco®画面上の設定のみでデータマートを作成できます。

くわえてtrocco®のワークフロー機能を利用すれば、新しく取得したデータの統合→データマート作成までの自動化も可能です。

trocco®のデータマート(ELT)生成の詳細はこちら

データの連携・整備・運用を効率的に進めていきたいとお考えの方や、プロダクトにご興味のある方はぜひ資料をご覧ください。

hirokazu.kobayashi

慶應義塾大学卒業後、2014年より株式会社リブセンスへ入社。データエンジニアとして同社分析基盤立ち上げをリードする。2017年より現職primeNumberに入社。自社プロダクト「systemN」におけるSpark/Redshift活用等のデータエンジニアリング業務を行うかたわら、データ統合業務における工数削減が課題だと感じ、データ統合を自動化するサービス「trocco®」を立ち上げる。