データマートとは?
日々拡大し続けるビッグデータが席巻する市場では、データマートが効率的に情報を知見に変える重要な役割を果たします。データウェアハウスは一般的に大規模なデータセットを扱いますが、データ分析には敏捷性が求められます。データマートは、その両方に対応する効率的な手段となります。
データマートは、特定ユーザーグループのニーズに対応するサブジェクト指向のデータベースです。エンタープライズデータウェアハウス内のパーティションに分割されたセグメントである場合もあります(常にそうではありません)。データウェアハウスやオペレーショナルデータストア内の情報へのアクセスを(数か月以上もかけずに)数日で実現するデータマートは、ビジネスプロセスを加速します。迅速に知見を得るための費用対効果の高い方法です。
データマートとデータウェアハウス
データマートとデータウェアハウスは、データが必要になるまで格納/管理されるリポジトリーです。データウェアハウスが企業のすべての情報を格納するように構築されるのに対し、データマートは特定の部門またはビジネス機能の要求を満たすためのものです。データマートの主な目的は、より小さなデータセットを全体から分離(パーティショニング)することです。
データマートは、既存のデータウェアハウスから作成(トップダウンのアプローチ)することも、ほかのソース(社内の運用システムや外部データなど)から作成することもできます。データウェアハウスと同様に、トランザクションデータ(時間値、数値順、1つ以上のオブジェクトへの参照)を列と行に格納するリレーショナルデータベースであり、これによって構成とアクセスが容易になります。
ビジネスニーズに応じて、複数のデータマートを統合して単一のデータウェアハウスを作成できます。これはボトムアップの開発アプローチです。
データマート | データウェアハウス | |
---|---|---|
サイズ | 100 GB未満 | 100 GB以上 |
サブジェクト | 単一サブジェクト | 複数サブジェクト |
範囲 | 事業部門 | 全社的 |
データソース | 少数のソース | 多数のソースシステム |
データ統合 | 単一サブジェクト領域 | すべてのビジネスデータ |
構築に要する時間 | 数分、数週間、数か月 | 数か月~数年 |
データマートの3つのタイプ
データマートには、従属型、独立型、ハイブリッド型の3種類があります。これらのタイプは、データウェアハウスとの関係や、システムの作成に使用されるデータソースに基づいて分類されます。
1. 従属型データマート
従属型データマートは、既存のエンタープライズデータウェアハウスから作成されます。これは、すべてのビジネスデータを中央に一元化して格納したうえで、分析の必要に応じて明確に定義された一部のデータを抽出するというトップダウンのアプローチです。
データウェアハウスからデータマートを作成するには、ウェアハウスから特定のデータセットを集約(クラスター化)して再構成し、データマートにロードしてクエリを実行可能にします。これは、データウェアハウスの論理ビューまたは物理サブセットとなります。
- 論理ビュー - 物理データベーススキーマの一部ではない仮想テーブル。
- 物理サブセット - データベーススキーマの一部となる抽出データ。
データウェアハウス内の細分化されたデータ(ターゲットセット内の最下位レベルのデータ)は、作成されるすべての従属型データマートの単一参照ポイントとして機能します。
2. 独立型データマート
独立型データマートは、データウェアハウスを使用せずに作成されたスタンドアロンのシステムであり、単一のサブジェクト領域(ビジネス機能)だけを対象とします。データは、社内または外部(または両方)のデータソースから抽出され、処理された後、データマートリポジトリにロードされ、ビジネスアナリティクスで必要とされるまで保管されます。
独立型データマートは、設計や開発が難しいものではありません。短期的な目標を達成するのには有益な一方、独自のETLツールとロジックを使用して管理するために、ビジネスニーズが拡大したり複雑化したりするにつれて作業が煩雑になることがあります。
3. ハイブリッド型データマート
ハイブリッド型データマートは、既存のデータウェアハウスおよびほかの運用元システムからのデータを組み合わせて使用します。これは、トップダウンのアプローチによるスピードとエンドユーザーへの焦点と、ボトムアップ式のエンタープライズレベルの統合のメリットを1つに併せて持ちます。
データマートの構造
データマートは、スター、スノーフレーク、ボールトなどのスキーマを青写真として使用して編成できます。ITチームは、通常はスタースキーマを使用します。スタースキーマは、リレーショナルデータベース内のディメンションテーブル(ファクトテーブルに結合されたプライマリキー)を参照する1つ以上のファクトテーブル(特定のビジネスプロセスまたはイベントに関連する指標セット)で構成されます。
スタースキーマは、ディメンション間の依存関係がないため、クエリの作成に必要な結合が少ない点がメリットとなります。これにより、ETL要求プロセスが簡素化され、アナリストのアクセスとナビゲートが容易になります。
スノーフレークスキーマでは、ディメンションは明確に定義されず、データの冗長性を低減し、データの整合性を保護するために正規化されます。ディメンションテーブルの格納に必要な領域は少なくなりますが、構造が複雑になり(複数のテーブルへのデータ取り込みと同期)、保持しにくくなることがあります。
データマートのメリット
ビッグデータを管理し、ビジネスの貴重な知見を得ることは、あらゆる企業が直面する課題であり、これに対応するため、多くの企業は戦略的なデータマートを使用しています。
- 効率的なアクセス - データマートは、ビジネスインテリジェンスのために特定のデータセットにアクセスする時間を節約できるソリューションです。
- データウェアハウスの安価な代替 - データマートは、必要なデータセットがより少ない場合に、エンタープライズデータウェアハウスを開発するための安価な代替となります。独立型データマートであれば、1週間以内に稼働させることも可能です。
- データウェアハウスのパフォーマンスを向上 - 従属型とハイブリッド型のデータマートは、処理の負担を取り除くことでデータウェアハウスのパフォーマンスを向上させ、アナリストのニーズを満たすことができます。従属型データマートを別の処理設備に配置することで、アナリティクスの処理コストも大幅に削減できます。
データマートには、ほかにも次のようなメリットがあります。
- データの保守 - 部門ごとに独自にデータを所有し、管理できます。
- 単純なセットアップ - 単純な設計により、セットアップに必要な技術的スキルレベルも低くなります。
- アナリティクス - 主要業績評価指標(KPI)を簡単に追跡できます。
- 簡単な入力 - データマートを基礎的要素として、将来のエンタープライズデータウェアハウスプロジェクトに活用できます。
クラウドでのデータマートの潜在性
データマートによって柔軟性と効率が向上しても、ビッグデータ(およびビッグビジネス)は、多くのオンプレミスソリューションにとっては依然として大きすぎます。データウェアハウスやデータレイクと同様に、データマートもクラウドに移行しています。
データを作成し格納するためのクラウドベースの共有プラットフォームを使用することで、アクセスとアナリティクスが効率化されます。短期的なアナリティクスのために一時的なデータクラスターを作成したり、長寿命のクラスターを組み合わせて持続的な作業に使用したりできます。
クラウドベースの従属型データマートとハイブリッド型データマートには、以下のメリットもあります。
- クラウドネイティブアプリケーションによる柔軟なアーキテクチャー。
- すべてのデータマートを含む単一のデポジトリ。
- リソースをオンデマンドで消費。
- 情報への即座のリアルタイムアクセス。
- 効率の向上。
- リソースの統合によるコスト削減。
- リアルタイムのインタラクティブなアナリティクス。
さらに、Apache SparkやHadoop Hiveなどのアナリティクスエンジンにより、数分でデータマートの開発と展開を可能にします。リアルタイムの高度なアナリティクス、機械学習などの機能がプラットフォームに組み込まれているため、独自のシステムを開発する必要はありません。
データ統合の開始
一般的に、データウェアハウスは企業データの「一貫性」を表すと言われます。データマートは、特定のビジネスニーズを満たすためにその真実の一部を切り出して提示するものと考えることができます。
企業は、無限に増え続ける情報に対応し、解析や知見のために情報を管理可能なチャンクに分けて解析するという変化し続けるニーズに直面しています。クラウドのデータマートは、長期的でスケーラブルなソリューションを提供します。Talend Data Management Platformは、オープンでスケーラブルなアーキテクチャーとシンプルでグラフィカルなツールを使用して、チームの作業を効率化し、エンドツーエンドの統合作業をより迅速に展開するうえで役立ちます。
Talend Open Studio for Big Dataを使用することで、数分でHiveデータマートを作成できます。さっそく今日から、HadoopとNoSQLのデータベースの強力な機能と規模を活用して、ビッグデータアナリティクスのためのETLを簡素化する方法を学びましょう。