SSAS チュートリアル: SSAS Cube とは、 Archi構造と種類

⚡ スマートサマリー

SSAS(SQL Server Analysis Services)は Microsoftは、大量のデータを複数の次元にわたって分析するためのOLAPサーバーおよび分析エンジンです。多次元版と表形式版の2種類があり、RDBMSから集計されたデータを使用してキューブやモデルを構築し、高速な分析を実現します。

  • 🧊 主な目的: SSASは、大量のデータを多次元的に分析・解析できるOLAPサーバーです。
  • 🏛️ 3つの層: RDBMSはSSASキューブにデータを供給し、クライアントはダッシュボードやポータルを通じてそれらを読み取ります。
  • 🧱 主な条件: データソース、キューブ、ディメンション、レベル、ファクトテーブル、メジャー、スキーマがモデルを定義します。
  • 🔀 2つのバリエーション: 多次元データにはキューブとMDXが使用され、表形式データには関連テーブルとDAXが使用されます。
  • 💾 保存モード: SSASは、MOLAP、HOLAP、およびROLAPアーキテクチャをサポートしています。
  • <XNUMXxEXNUMX><XNUMXxEXNUMX><XNUMXxXNUMXA><XNUMXxXNUMX><XNUMXxXNUMXA>️️ 表形式 vs. 多次元形式: 表形式はよりシンプルでメモリ上で処理できる一方、多次元データはスター型スキーマに適している。
  • 🔐 企業適合性: 行レベルセキュリティ、パーティショニング、およびOLAP機能により、企業向けBIエンジンとして機能します。

SSASチュートリアル SQL Server Analysis Services

SSASとは何ですか?

SQL Server Analysis Services(SSAS) は、多次元OLAPサーバーであり、大量のデータをスライス&ダイスできる分析エンジンでもあります。 Microsoft SQL Server さまざまな次元を用いた分析の実行を支援します。多次元型と表形式型の2種類があります。SSASはSQL Server Analysis Servicesの略です。

ArchiSSASの構造

まず、SSASのアーキテクチャについて学びます。

SSASの3層アーキテクチャ

SQL Server Analysis Services のアーキテクチャは、以下の要素からなる 3 層アーキテクチャに基づいています。

  1. RDBMS: Excel、データベース、テキストなどのさまざまなソースからのデータは、 ETLツール RDBMSに。
  2. SSAS:RDBMSから集計されたデータは、分析サービスプロジェクトを使用してSSASキューブに格納されます。SSASキューブは分析データベースを作成し、それを様々な用途に利用できます。
  3. クライアント:クライアントは、ダッシュボード、スコアカード、ポータルなどを使用してデータにアクセスできます。

SSASの歴史

それでは、SSASの歴史を振り返ってみましょう。

  • MSOLAP機能は、SQL Server 7.0で初めて搭載されました。この技術は後に、Panoramaというイスラエルの企業から買収されました。
  • SQL Serverの一部として組み込まれたため、すぐに最もよく使われるOLAPエンジンの1つとなった。
  • SSASは、リリースとともに全面的に刷新されました。 MS SQL Server 2005.
  • また、そのバージョンでは、Scopeステートメントによる「サブキューブ」機能も提供され、SSASキューブの機能性が向上しました。
  • SSAS 2008 R2および2012バージョンは、主にクエリのパフォーマンスとスケーラビリティに重点を置いていました。
  • In Microsoft Excel 2010では、PowerPivotというアドインが登場しました。これは、新しいxVelocityエンジンを搭載したローカルのAnalysis Servicesインスタンスを使用して、クエリのパフォーマンスを向上させます。

SSAS の重要な用語

それでは、SSASの重要な用語をいくつか学びましょう。

  • 情報元
  • データソースビュー
  • キューブ
  • 寸法表
  • 次元
  • レベル
  • ファクトテーブル
  • Measure
  • スキーマ

情報元

データソースは一種の接続文字列です。分析データベースと RDBMS.

データソースビュー

データソースビューは、データベースの論理モデルです。

キューブ

キューブはストレージの基本単位です。これは、クエリがデータを迅速に返せるように集約されたデータの集合体です。

モラップ

MOLAPは、メジャーとディメンションを含むデータキューブで構成され、階層関係にある可能性のあるすべてのメンバーが含まれます。これは、疎なキューブ内の特定のセルがどのように計算されるか、また、それらの階層内でメジャー値がどのように集計されるかを決定するのに役立つ一連のルールです。

寸法表

  • ディメンションテーブルには、ファクトのディメンションが含まれます。
  • それらは外部キーを使用してファクトテーブルに結合されます。
  • ディメンション テーブルは非正規化されたテーブルです。
  • 次元とは、事実の属性を通して、その事実の特性を示すものである。
  • 次元数に決まった制限はありません。
  • ディメンションには、1つ以上の階層的な関係が含まれます。

次元

ディメンションは、ビジネスプロセスイベントを取り巻くコンテキストを提供します。簡単に言えば、事実の「誰が」「何を」「どこで」を示すものです。販売ビジネスプロセスにおいて、「売上数」という事実に対するディメンションは次のようになります。

  • 誰 – 顧客名。
  • 場所 – 位置。
  • 何 – 製品名。

言い換えれば、次元とは事実の中にある情報を見るための窓のことである。

レベル

単一の次元から取得できる各タイプの要約は、レベルと呼ばれます。

ファクトテーブル

ファクトテーブルは、ディメンションモデルの中で最も重要なテーブルです。測定値または事実と 外部キー 例えば給与計算業務などのディメンションテーブルに。

Measure

各ファクトテーブルには、分析対象となる1つ以上の指標が含まれています。例えば、書籍販売情報テーブルでは、販売冊数に応じた利益または損失を測定できます。

スキーマ

その データベース データベースシステムのスキーマとは、データベース管理システムによってサポートされる、形式言語で記述されたその構造のことです。「スキーマ」という用語は、データベースの構築方法を示す設計図として、データの構成を指します。

SSASにおけるモデルの種類

それでは、SSASにおけるモデルの種類について学びましょう。

多次元データモデル

その 多次元データモデル データキューブで構成されます。キューブとディメンションのメンバーを座標として使用してセルの値を照会できる一連の操作です。階層内でメジャー値を集計する方法や、スパースキューブで特定の値を計算する方法を決定するルールを定義します。

表形式のモデリング

表形式モデリングでは、データを関連するテーブルに整理します。これらのテーブルは「ディメンション」や「ファクト」として指定されるわけではなく、関連するすべてのテーブルが両方の役割を果たすことができるため、表形式モデリングでは開発時間が短縮されます。

表形式モデルと多次元モデルの比較

技術パラメータ 表形式 多次元
メモリ インメモリキャッシュ ファイルベースのストレージ
Structure 緩い構造 堅固な構造
最良の特徴 データをソースから移動する必要がない データをスター型スキーマに格納するのが最適
モデルの種類 リレーショナルモデル 次元モデル
クエリ言語 DAX MDX
複雑 簡単な拡張で 複雑な
サイズ より小さい より大きい

SSAS の主な機能

SSASの主な特徴は以下のとおりです。

  • APIレベルでの下位互換性を提供します。
  • クライアントアクセスAPIにはOLE DB for OLAPを、クエリ言語にはMDXを使用できます。
  • SSASは、MOLAP、HOLAP、およびROLAPアーキテクチャの構築を支援します。
  • クライアント/サーバーモードまたはオフラインモードで動作させることができます。
  • SSASツールは、さまざまなウィザードやデザイナーと組み合わせて使用​​できます。
  • データモデルの作成と管理は柔軟です。
  • 豊富なサポート体制のもと、アプリケーションをカスタマイズできます。
  • 動的な構造、アドホックレポート、共有メタデータ、およびセキュリティ機能を提供します。

SSASとPowerPivotの比較

SSAS パワーピボット
それは何ですか SSAS マルチディメンションは「企業 BI」です Microsoft PowerPivotは「セルフサービスBI」です
展開 SSASに展開済み SharePointに展開されました
に使用 Visual Studioプロジェクト Excel
サイズ メモリに制限される 容量は2GBに制限されています
パーティションのサポート パーティショニングをサポート パーティションなし
クエリの種類 DirectQueryとVertipaq Vertipaqクエリのみを許可します
管理ツール サーバー管理ツール(例:SSMS) ExcelおよびSharePoint管理者
セキュリティ 行レベルおよび動的セキュリティ ワークブックファイルのセキュリティ

SSASのメリット

SSASのメリットは以下のとおりです。

  • ソースシステムとのリソース競合を回避するのに役立ちます。
  • 数値分析に最適なツールです。
  • SSASは、製品に組み込まれたデータマイニング機能を使用することで、一見して明らかではないデータパターンを発見することを可能にします。
  • レポート作成、KPIスコアカード分析、データマイニングのために、すべてのビジネスデータを統一的かつ統合的に表示します。
  • SSAS は、さまざまなデータ ソースからのデータのオンライン分析処理 (OLAP) を提供します。
  • これにより、ユーザーは次のようなさまざまなツールを使用してデータを分析できます。 SSRS (NAIST) と Excel.

SSASを使用する際のデメリット

  • 一度パス(表形式または多次元形式)を選択すると、最初からやり直さない限り、他のバージョンに移行することはできません。
  • 表形式データと多次元キューブ間でデータを結合することはできません。
  • 表形式は、プロジェクトの途中で要件が変更された場合にリスクを伴う可能性がある。

SSASを使用するためのベストプラクティス

  • キューブと測定グループの設計を最適化します。
  • 有用な集計を定義する。
  • パーティション方式を使用してください。
  • 効率的なMDXを記述する。
  • クエリエンジンのキャッシュを効率的に活用する。
  • スケールアップできなくなったら、スケールアウトしましょう。

よくあるご質問

よりシンプルなインメモリモデルとDAXによる迅速な開発には、表形式を選択してください。複雑な計算とMDXを必要とする大規模なスター型スキーマのデータウェアハウスには、多次元を選択してください。両者間の移行は、最初からやり直すことを意味します。

MOLAPは高速読み取りのために集計データをキューブに格納し、ROLAPはデータをリレーショナルソースに残し、HOLAPは詳細データをリレーショナルに保持し、集計データをキューブに格納するハイブリッド方式です。

DAXは表形式モデルの数式およびクエリ言語であり、Excelの数式に近いものです。MDXは多次元キューブのクエリ言語であり、メンバー、タプル、セットを扱います。

AIは、モデル化すべき指標や次元を提案したり、簡単な質問からDAX式やMDX式を作成したり、手動レビューでは見落とされがちなキューブデータのパターン(例えば、予期せぬ相関関係など)を明らかにしたりすることができる。

ファクトテーブルには測定可能な数値と外部キーが格納され、ディメンションテーブルには、製品、顧客、日付など、それらの数値をフィルタリングおよびグループ化するために使用される記述属性が格納されます。