DB Stories

DBに関する過去、現在、未来の話題をプロフェッショナルの視点で紹介

スタースキーマとキューブ(12)

キューブとデータウェアハウス

で紹介した3つのデータウェアハウスアーキテクチャにおいてキューブを利用することができます。 図を再掲しておきます。

f:id:good-value:20170426223127p:plain

1. 多次元データウェアハウスにおける全社レベルでの多次元モデル(スタースキーマ)の代替として

この場合、キューブの採用についてはデータウェアハウスがスケーラビリティの制約を受けることなります。キューブは値を事前計算して保持するという使われ方をするため、キューブの項目数(粒度)は現実的に多く保持することはできません。また、データをETLにより取り込む段階で集約が行われるため、詳細データはここでロストすることになります。利点としてはもちろん高速な分析が可能になるというものです。

2. 目的別レベルデータのスタースキーマの補完するものとして利用

目的別レベルデータのデータモデルはパッケージ製品を利用して個別の要素に特化したキューブを作成する場合もあります。そのため製品ベンダーはキューブを利用した分析データを事前作成しています。 RDBデータを代替するという考えではなく、キューブはRDBを補完するという考え方もあります。この場合、データウェアハウスアーキテクチャの「分析層」で利用されています。典型的な実装方法としては全てのデータ(アトミックデータ)を保持するストレージとしてスタースキーマを利用し、一方パフォーマンスについてはキューブを利用するという形で対応を行っています。

このスタースキーマとキューブの共存について2つの考え方があります。

  • スタースキーマをアトミックデータを格納するために利用し、キューブをデータマートとして利用する(スタースキーマとキューブの分業)
  • スタースキーマをデータウェアハウスとデータマートを保持するために利用し、より高速な分析のためにキューブを利用(スタースキーマが中心、キューブは補完)

どちらの構成においてもキューブはスキーマ間の整合性や、集約粒度といった問題は考慮する必要があります(これは後で説明します)

これからのデータウェアハウス

今までの15年を見てきて、これからの15年というものは大きな変動があるはずです。データウェアハウス市場において、多次元デーモデルのデータ保持方法(RDB/Cube)の区別をつかない方向に向かっています。どのデータベースアーキテクチャにおいてリレーショナルテーブル、キューブ、その他、何か別のものであっても最終的には多次元データモデルに収束すると考えます。ユーザーとアプリケーションはSQL、MDXなどを自由に選択してアクセス出来るようになります。クエリーはストレージ技術(RDB/Cube)に応じて自動で変換されることになるでしょう。未来がそのようになるまで、スタースキーマとしての設計をし、SQLを利用してアクセスし、キューブを利用してOLAPとしての性能を達成するという進め方は続くはずです。

(「スタースキーマとキューブ」終わり)