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

データウェアハウスの構造とは?物理ストアと論理スキーマの仕組みを解説

データウェアハウスは、さまざまなデータソースから情報を収集・管理し、ビジネスにとって意味のある洞察(インサイト)を提供するために広く活用されている手法です。データウェアハウスは、経営判断の支援を目的として特別に設計・構築されます。

データウェアハウスは、主に以下の2つの要素で構成されています。

  • 物理ストア(Physical Store) − SQLクエリで照会できるMicrosoft SQL Serverデータベース、およびレポート作成に必要なOLAPデータベース。
  • 論理スキーマ(Logical Schema) − 物理ストア内のデータにマッピングされる概念モデル。

物理ストア(Physical Store)とは

データウェアハウスの物理ストアには、SQLクエリで照会可能な1つのデータベースが含まれており、複数のソースから取り込まれたすべてのデータがここに格納されます。Commerce Serverでは、SQL ServerデータベースとOLAPデータベースの両方に対して、データウェアハウスの物理ストアが自動的に構築されます。

データウェアハウスは、Business Deskの分析モジュールで利用できるCommerce Server関連ドキュメントに必要なデータを支えています。そのため、通常は物理ストアを直接変更する必要はありません。ただし、サードパーティのデータを取り込むなど、データウェアハウスを拡張したい場合には、サイト開発者が論理スキーマを通じてプログラムから必要なフィールドを追加することが可能です。

論理スキーマ(Logical Schema)とは

論理スキーマは、データウェアハウス内のデータを論理的な視点で捉えるためのビューを提供し、効率的なデータインポート処理を実現します。たとえば、サイト開発者は論理スキーマを利用することで、基盤となる物理テーブルに保存されたデータの配置場所を変更できます。

サイト開発者がデータウェアハウス内のデータを挿入・更新・削除するプログラムを作成する際には、論理スキーマを介して接続します。同様に、Commerce Serverがデータウェアハウス内のデータにアクセスする場合も、必ず論理スキーマを経由します。つまり、論理スキーマについて正確な知識が必要となるのは、サイト開発者のみです。

論理スキーマは、以下の3つの要素で構成されます。

  • クラス(Class) − データメンバーの論理的な集合。たとえば、RegisteredUserクラスには、登録ユーザーを定義するためのデータメンバーが含まれます。
  • データメンバー(Data Member) − 個々のデータ要素を保存する構造体。たとえば、RegisteredUserクラスのE-mailデータメンバーには、登録ユーザーのメールアドレスが格納されます。
  • リレーション(Relation) − 親子関係にある2つのクラス間をつなぐ接続。この関係は各クラスのインスタンス数を定義するとともに、クラス間でデータメンバーを受け渡す仕組みを提供します。

具体例として、RegisteredUserは子クラスであるRequestの親にあたります。1人の登録ユーザーに対して、複数のリクエストが存在しうるのです。このように論理スキーマは、クラス、データメンバー、リレーション、そしてその他のデータ構造を組み合わせることで、物理ストア内のレコードを柔軟にマッピングしています。

  1. B木(Bツリー)とは?データ構造の特徴と基本操作をわかりやすく解説

    本記事では、B木(B-Tree)について詳しく解説します。B木は、m-way探索木を特殊化したデータ構造であり、ディスクアクセスを目的として広く利用されています。B木の基本構造次数(オーダー)が m のB木では、1つのノードが最大で m-1 個のキーと m 個の子を持つことができます。この特性により、1つのノードに大量の要素を格納できるため、木全体の高さが比較的低く抑えられる点が大きな利点です。高さが低いということは、検索時にアクセスするノード数が少なくて済むため、ディスクI/Oのコストが高い環境、たとえばデータベースやファイルシステムにおいて特に有効です。B木の満たすべき性質B木はm-way

  2. データ構造のB+ツリーとは?仕組みとB木との違い、メリットを解説

    B+ツリー(B+木)は、B木(Bツリー)を拡張したデータ構造です。B木よりも効率的な挿入・削除・検索を実現できるよう設計されており、データベースやファイルシステムのインデックス構造として広く活用されています。 B+ツリーの基本構造 通常のB木では、キーとレコード(実データ)が内部ノードと葉ノードの両方に格納されます。一方、B+ツリーでは、実際のレコードはすべて葉ノードにのみ格納され、内部ノードには検索用のキー値だけが保持されます。 さらに大きな特徴として、B+ツリーの葉ノード同士は連結リストのようにリンクされています。この構造により、範囲検索や順次アクセス(シーケンシャルスキャン)が非常に容易