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

SSASとは何ですか?
SQL Server Analysis Services(SSAS) は、多次元OLAPサーバーであり、大量のデータをスライス&ダイスできる分析エンジンでもあります。 Microsoft SQL Server さまざまな次元を用いた分析の実行を支援します。多次元型と表形式型の2種類があります。SSASはSQL Server Analysis Servicesの略です。
ArchiSSASの構造
まず、SSASのアーキテクチャについて学びます。
SQL Server Analysis Services のアーキテクチャは、以下の要素からなる 3 層アーキテクチャに基づいています。
- RDBMS: Excel、データベース、テキストなどのさまざまなソースからのデータは、 ETLツール RDBMSに。
- SSAS:RDBMSから集計されたデータは、分析サービスプロジェクトを使用してSSASキューブに格納されます。SSASキューブは分析データベースを作成し、それを様々な用途に利用できます。
- クライアント:クライアントは、ダッシュボード、スコアカード、ポータルなどを使用してデータにアクセスできます。
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を記述する。
- クエリエンジンのキャッシュを効率的に活用する。
- スケールアップできなくなったら、スケールアウトしましょう。

