プログラミング
 Computer >> コンピューター >  >> プログラミング >> プログラミング

スタースキーマとは?データウェアハウスの基本構造と特徴を解説

スタースキーマとは

スタースキーマ(Star Schema)とは、データウェアハウスにおいてデータを構成するための設計手法の一つで、ディメンション表(次元表)ファクト表(事実表)マテリアライズド・ビュー(実体化ビュー)という要素によってデータを整理する規約です。すべてのデータは列(カラム)として保存され、多次元オブジェクトとして機能する列を識別するためにはメタデータが必要となります。

スタースキーマは、多次元データモデルを定義するリレーショナルスキーマであり、データウェアハウスで最も広く採用されている標準的なスキーマ設計です。「スタースキーマ」と呼ばれる理由は、このスキーマのER図(エンティティ・リレーションシップ図)が星形に見えるためです。中央に配置されたファクト表を中心に、複数のディメンション表が放射状に接続され、まるで星のような形状を描きます。

ディメンション表(Dimension Tables)

スタースキーマでは、あるディメンションに関するすべてのデータを1つの表に保存します。階層の各レベルは、ディメンション表内の1つまたは複数の列によって定義されます。ディメンション・オブジェクトを使用すると、階層の2つのレベルを定義する2つの列(または列の集合)間の階層関係を記述できます。ディメンション・オブジェクトがない場合、階層関係はメタデータ内でのみ表現されます。属性はディメンション表の列に保存されます。

典型的なディメンション表の例としては、「日付」「顧客」「商品」「地域」などが挙げられます。これらの表には、名称や分類といった説明的な属性が格納されます。

ファクト表(Fact Tables)

ファクト表には、売上金額や販売数量などのメジャー(測定値)が保存されます。ファクト表は複合主キーを持ち、これは複数の外部キー(ディメンション表ごとに1つずつ)と、これらのディメンションを使用する各メジャーの列で構成されます。

マテリアライズド・ビュー(Materialized Views)

集計データは、ディメンション表に表現された階層関係に基づいて計算されます。これらの集計結果は、サマリー表(要約表)またはマテリアライズド・ビューと呼ばれる独立した表に保存されます。Oracleなどのデータベース製品は、自動リフレッシュやクエリーリライトなど、マテリアライズド・ビューに対する幅広いサポートを提供しています。

クエリーは、ファクト表に対してもマテリアライズド・ビューに対しても発行できます。結果セットに集計データが必要なクエリーがファクト表に対して発行された場合、そのクエリーはクエリーリライトによって既存のマテリアライズド・ビューへと自動的に振り替えられるか、あるいはデータがオンザフライで集計されます。

スタースキーマの主な特徴

  • 高速なクエリー応答:非正規化されたデータベース構造を採用することで、複雑な結合処理を減らし、迅速なクエリー応答を実現できます。
  • 柔軟な設計:開発サイクル全体やデータベースの成長に合わせて、設計を簡単に変更・拡張することが可能です。
  • 直感的な構造:エンドユーザーが情報を認識し活用する方法に沿った設計となっており、ビジネスユーザーにも理解しやすい構造です。
  • メタデータの簡素化:開発者とエンドユーザーの双方にとって、メタデータの複雑さを軽減できます。
  1. HPのEnergy Star(エナジースター)とは?削除・アンインストール方法を解説

    新しいHPパソコンを購入した際、本体に貼られた「ENERGY STAR」のシールや、PCにプリインストールされた同名のプログラムを見かけたことはありませんか?このガイドでは、HPパソコン上のEnergy Starが何なのか、そして削除できるのかどうかについて詳しく解説します。 HPのEnergy Starとは?削除できる? HPパソコンに貼られているEnergy Starのシールは、そのデバイスが省エネ性と排出量の面で環境に配慮していることを示すものです。これは、各種デバイスが高い消費電力とそれに伴う排出によって残すカーボンフットプリント(炭素排出量)を削減することを目的としたもので、米国環境

  2. Googleアナリティクスの「ディメンション」と「指標」とは?初心者向けにわかりやすく解説

    ウェブサイトにGoogleアナリティクスを導入しているなら、アクセス数やパフォーマンスデータを確認する際に、「ディメンション(dimension)」や「指標(metric)」という用語を目にしたことがあるでしょう。 この2つの用語の意味がよくわからないという方は、ぜひ本記事をご覧ください。それぞれの概念の違いや、レポートでの調べ方、そしてデータから何を読み取れるのかまで、初心者にもわかりやすく解説します。 Googleアナリティクスにおけるディメンションとは? Googleアナリティクスは、サイトへのトラフィックに関する貴重なインサイトを提供してくれる無料ツールです。自社サイトはもちろん、Sq