テーブル ソリューションと多次元ソリューションの比較
適用対象: SQL Server Analysis Services Azure Analysis Services
Fabric/Power BI Premium
SQL Server Analysis Services (SSAS) には、ビジネス インテリジェンス セマンティック モデルを作成するためのいくつかの方法 (表形式と多次元) が用意されています。
多次元モードは、SQL Server Analysis Servicesでのみ使用できます。 モデルをAzure Analysis Servicesまたは Power BI にデプロイする場合は、今すぐ読み上げを停止できます。 多次元モデルは、Azure Analysis ServicesまたはPower BI Premiumセマンティック モデルではサポートされません。 クラウドで多次元モデルが必要な場合、唯一の方法は、多次元モードのSQL Server Analysis Servicesを Azure VM にデプロイすることです。
多次元モデルはSQL Server Analysis Servicesでのみサポートされているため、この記事は Analysis Services プラットフォーム (SQL Server、Azure、Power BI) を比較するためのものではありません。 これは、SQL Server Analysis Servicesのコンテキストで、多次元モデルと表形式モデルのコンストラクトの概要を比較することを目的とします。
SQL Server Analysis Servicesには、SharePoint 2016 および SharePoint 2013 で引き続きサポートされている Power Pivot for SharePoint モードも含まれていますが、Microsoft の BI 戦略は、Excel の Power Pivot と SharePoint の統合から離れています。 Power BI とPower BI Report Serverは、Power Pivot モデルを使用して Excel ブックをホストするために推奨されるプラットフォームになりました。 そのため、この記事では Power Pivot for SharePoint の比較が除外されるようになりました。
SQL Server Analysis Servicesでは、複数のアプローチを使用することで、さまざまなビジネス要件とユーザー要件に合わせたモデリング エクスペリエンスを実現できます。 多次元はオープン標準に基づいて構築された成熟したテクノロジであり、BI ソフトウェアの多くのベンダーによって採用されていますが、実装は困難な場合があります。 テーブル モデルは、多くの開発者にとって直感的なリレーショナル モデリング アプローチを提供します。 長期的には、表形式モデルの開発が容易になり、管理が容易になります。 多次元モデルは多くの BI ソリューションで引き続き普及していますが、表形式モデルは、Microsoft プラットフォーム上の標準的なエンタープライズ グレードの BI セマンティック モデリング ソリューションとして広く受け入れることができるようになりました。
すべてのモデルは、Analysis Services インスタンスで実行されるデータベースとして、または表形式モデルを使用して、セマンティック モデルとしてPower BI Premium容量にデプロイされます。 モデルは、Power BI などのクライアント アプリケーションまたはサービスによってアクセスされます。 モデル データは、Excel、Reporting Services、Power BI、および他のベンダーの BI ツールを使用して、対話型および静的なレポートで視覚化されます。
Visual Studio を使用して作成された表形式ソリューションと多次元ソリューションは、オンプレミスのSQL Server Analysis Services インスタンスで実行される企業 BI ソリューション、および表形式モデルの場合は、Azure Analysis Services サーバー リソース、またはPower BI Premiumのセマンティック モデルを対象としています。容量。 各ソリューションは、クライアント アプリケーションやデータ視覚化サービスと簡単に統合できる高パフォーマンスの分析データベースを生成します。 ただし、各ソリューションの作成、使用、配置の方法は異なります。 この記事の大部分では、これらの 2 つの種類を比較して、適切なアプローチを特定できるようにします。
モデリングの種類の概要
次の表は、さまざまなモデルを列挙し、アプローチ、初期リリース、サポートされている互換性レベルをまとめたものです。
型 | モデリングの説明 | 最初にリリースされました | 互換性レベル |
---|---|---|---|
多次元 | OLAP モデリング構造 (キューブ、ディメンション、メジャー)。 | SQL Server 2000 SQL Server 2012 以降 |
1050 1100 |
Power Pivot | もともとはアドインですが、Excel に完全に統合されました。 表形式モデルインフラストラクチャ。 API とスクリプトはサポートされていません。 | SQL Server 2008 R2 | N\A |
表形式 | リレーショナル モデリング構造 (モデル、テーブル、列)。 内部的には、メタデータは、OLAP モデリング構造 (キューブ、ディメンション、メジャー) から継承されます。 コードとスクリプトは、OLAP メタデータを使用します。 | SQL Server 2012 SQL Server 2014 |
1050 1103 |
SQL Server 2016 以降の表形式 | リレーショナル モデリングコンストラクト (モデル、テーブル、列) は、表形式モデル スクリプト言語 (TMSL) および表形式オブジェクト モデル (TOM) コードの表形式メタデータ オブジェクト定義で連結されます。 | SQL Server 2016 SQL Server 2014 SQL Server 2019 SQL Server 2022 |
1200 1400 1500 1600 |
Azure Analysis Services 1 の表形式 | リレーショナル モデリングコンストラクト (モデル、テーブル、列) は、表形式モデル スクリプト言語 (TMSL) および表形式オブジェクト モデル (TOM) コードの表形式メタデータ オブジェクト定義で連結されます。 | 2016 | 1200 以上 |
Power BI Premium 2 の表形式 | リレーショナル モデリングコンストラクト (モデル、テーブル、列) は、表形式モデル スクリプト言語 (TMSL) および表形式オブジェクト モデル (TOM) コードの表形式メタデータ オブジェクト定義で連結されます。 | 2020 | 1500 以上 |
[1] Azure Analysis Servicesでは、1200 以上の互換性レベルの表形式モデルがサポートされています。 ただし、この記事で説明されているすべての表形式モデリング機能がサポートされているわけではありません。 Azure Analysis Servicesへの表形式モデルの作成とデプロイは、オンプレミスの場合とほぼ同じですが、違いを理解することが重要です。 詳細については、「Azure Analysis Servicesとは」を参照してください。
Power BI Premium容量は、1500 以上の互換性レベルで表形式モデルをサポートしている[2]。 ただし、この記事で説明されているすべての表形式モデリング機能がサポートされているわけではありません。 Power BI Premiumへの表形式モデルの作成とデプロイは、オンプレミスや Azure の場合とほぼ同じですが、違いを理解することが重要です。 詳細については、Power BI Premiumの Analysis Services に関するページを参照してください。
互換性レベルは重要です。 これは、Analysis Services エンジンでのリリース固有の動作を指します。 詳細については、「表形式モデルの互換性レベル」と「多次元モデルの互換性レベル」を参照してください。
モデルの機能
次の表は、機能の利用の可否をモデルごとにまとめたものです。 この一覧で、必要な機能が、構築しようとしているモデルの種類で利用できるかどうかを確認してください。
機能 | 多次元 | 表形式 |
---|---|---|
アクション | はい | いいえ |
集計関数 | はい | いいえ |
計算列 | いいえ | Yes |
計算されるメジャー | Yes | Yes |
計算テーブル | いいえ | あり3 |
カスタム アセンブリ | はい | いいえ |
カスタム ロールアップ | はい | いいえ |
既定のメンバー | はい | いいえ |
表示フォルダー | Yes | あり3 |
Distinct Count | Yes | ○ (DAX 経由) |
ドリルスルー | Yes | はい (クライアント アプリケーションによって異なります) |
階層 | はい | はい |
KPI | Yes | Yes |
リンク オブジェクト | Yes | ○ (リンク テーブル) |
M 式 | いいえ | あり3 |
多対多のリレーションシップ | Yes | いいえ (ただし、1200 以上の互換性レベルで 双方向のクロス フィルター があります) |
名前付きセット | はい | いいえ |
不規則階層 | Yes | あり3 |
親子階層 | Yes | ○ (DAX 経由) |
パーティション | Yes | はい |
パースペクティブ | はい | Yes |
クエリ インターリーブ | いいえ | はい4 |
行レベルのセキュリティ | Yes | Yes |
オブジェクト レベルのセキュリティ | Yes | あり3 |
準加法メジャー | Yes | はい |
翻訳 | はい | はい |
ユーザー定義階層 | Yes | Yes |
[書き戻し] | はい | いいえ |
[3] 互換性レベル間の機能の違いについては、「 Analysis Services の表形式モデルの互換性レベル」を参照してください。
[4] - SQL Server 2019 以降の Analysis Services、Azure Analysis Services。
データに関する考慮事項
表形式モデルと多次元モデルでは、外部ソースからインポートされたデータが使用されます。 どの種類のモデルがデータに最適であるかを判断する際に主に考慮しなければならないのが、インポートする必要があるデータの量と種類です。
圧縮
テーブル ソリューションと多次元ソリューションではデータ圧縮が使用されるため、Analysis Services データベースのサイズがデータのインポート元のデータ ウェアハウスに比べて小さくなります。 実際の圧縮は、基になるデータの特性によって異なるので、データが処理されてクエリで使用された後にどの程度のディスクおよびメモリがソリューションに必要なのかを正確に知る方法はありません。
多くの Analysis Services 開発者が使用する目安は、多次元データベースの 1 次記憶域が元のデータの約 3 分の 1 のサイズになるというものです。 テーブル データベースでは、特にデータの大部分がファクト テーブルからインポートされる場合、データをさらに小さく圧縮できることもあります (約 10 分の 1 のサイズ)。
モデルとリソースの差のサイズ (メモリ内またはディスク)
Analysis Services データベースのサイズは、そのデータベースの実行に使用可能なリソースによってのみ制限されます。 また、モデルの種類とストレージ モードも、データベースがどの程度大きくなるかに影響します。
テーブル データベースは、In-Memory モード、またはクエリ実行を外部データベースにオフロードする DirectQuery モードで実行されます。 表形式のメモリ内分析の場合、データベースは完全にメモリに格納されます。つまり、すべてのデータを読み込むだけでなく、クエリをサポートするために作成された追加のデータ構造を読み込むのに十分なメモリが必要です。
SQL Server 2016 で改訂された DirectQuery の制限は以前よりも少なく、パフォーマンスも向上しています。 ストレージとクエリの実行にバックエンドのリレーショナル データベースを利用することで、大規模なテーブル モデル構築が以前よりも現実的なものになっています。
これまで、運用環境で最大のデータベースは多次元であり、処理ワークロードとクエリ ワークロードは専用ハードウェアで個別に実行され、それぞれがそれぞれの使用に合わせて最適化されています。 これを急速に追っているのがテーブル データベースで、DirectQuery の新しい強化機能により、その差はますます縮まっています。
多次元オフロード データ ストレージとクエリ実行の場合は、ROLAP を介して使用できます。 クエリ サーバーでは、行セットをキャッシュし、古い行セットをページ アウトできます。メモリリソースとディスク リソースを効率的かつバランスよく使用すると、多次元ソリューションに顧客を導くことがよくあります。
負荷が高い場合、どちらのソリューションでも、Analysis Services によるデータのキャッシュ、格納、スキャン、クエリに応じて必要なディスクとメモリが増加すると予想されます。 メモリ ページング オプションの詳細については、「 メモリのプロパティ」を参照してください。 スケールの詳細については、「 Analysis Services の高可用性とスケーラビリティ」を参照してください。
サポートされるデータ ソース
テーブル モデルは、リレーショナル データ ソース、データ フィード、およびいくつかのドキュメント形式からデータをインポートできます。 表形式モデルで OLE DB for ODBC プロバイダーを使用することもできます。 1400 以上の互換性レベルの表形式モデルでは、インポート元となるさまざまなデータ ソースが大幅に増加します。 これは、M 式クエリ言語を使用して Visual Studio で最新のデータ取得データ クエリとインポート機能が導入されたためです。
多次元ソリューションでは、ネイティブおよびマネージド OLE DB プロバイダーを使用してリレーショナル データ ソースからデータをインポートできます。
各モデルにインポートできる外部データ ソースの一覧については、以下のトピックを参照してください。
クエリとスクリプト言語のサポート
Analysis Services には MDX、DMX、DAX、XML/A、ASSL、および TMSL が用意されています。 これらの言語のサポート状況は、モデルの種類によって異なる場合があります。 クエリとスクリプト言語の要件が重要な検討事項である場合は、次の一覧を参考にしてください。
テーブル モデル データベースは、DAX の計算、DAX クエリ、および MDX クエリをサポートします。 これは、すべての互換性レベルに当てはまります。 スクリプト言語は、互換性レベル 1050 から 1103 の場合は ASSL (XMLA 経由)、互換性レベル 1200 以降の場合は TMSL (XMLA 経由) です。
多次元モデル データベースでは、MDX 計算、MDX クエリ、DAX クエリ、ASSL がサポートされます。
Analysis Services PowerShell は、表形式および多次元のモデルとデータベースでサポートされています。
すべてのデータベースで XMLA がサポートされています。
セキュリティ機能
Analysis Services のすべてのソリューションは、データベース レベルでセキュリティを確保できます。 それよりも詳細なセキュリティ オプションは、モードによって異なります。 きめ細かなセキュリティ設定がソリューションに求められる場合は、構築しようとしているソリューションの種類でサポートされるセキュリティのレベルを次の一覧で確認してください。
表形式モデル データベースでは、 ロールベースのアクセス許可を使用して、行レベルとオブジェクト レベルのセキュリティを使用できます。
多次元モデル データベースでは、 ロールベースのアクセス許可を使用して、ディメンションとセル レベルのセキュリティを使用できます。
デザイン ツール
Visual Studio と Analysis Services プロジェクト拡張機能 (SQL Server Data Tools (SSDT) とも呼ばれます) は、多次元ソリューションと表形式ソリューションの両方を作成するために使用される主要なツールです。 この作成環境では、Visual Studio シェルを使用して、デザイナー ワークスペース、プロパティ ウィンドウ、およびオブジェクト ナビゲーションを提供します。 表形式モデルでは、オープンソースおよびサードパーティ製ツールによるモデル作成もサポートされています。 詳細については、「 Analysis Services ツール」を参照してください。
クライアント アプリケーションのサポート
一般に、表形式および多次元ソリューションでは、1 つ以上の Analysis Services クライアント ライブラリ (MSOLAP、AMOMD、ADOMD) を使用するクライアント アプリケーションがサポートされます。 たとえば、Excel、Power BI Desktop、カスタム アプリケーションなどです。 Power BI などのデータ視覚化および分析サービスは、表形式および多次元ソリューションを完全にサポートします。
Reporting Services を使用している場合、使用できるレポート機能は、エディションおよびサーバー モードによって異なります。 このため、構築しようとするレポートの種類が、インストールするサーバー モードの選択を左右する場合があります。
SharePoint で実行されるReporting Services作成ツールである Power View は、SharePoint 2010 ファームに展開されているレポート サーバーで使用できます。 このレポートで使用できるデータ ソースの種類は、Analysis Services テーブル モデル データベースまたは Power Pivot ブックだけです。 つまり、この種類のレポートで使用されるデータ ソースをホストするには、表形式モード サーバーまたは Power Pivot for SharePoint サーバーが必要です。 Power View レポートのデータ ソースとして多次元モデルを使用することはできません。 Power View レポートのデータ ソースとして使用するには、Power Pivot BI セマンティック モデル接続またはReporting Services共有データ ソースを作成する必要があります。
Report Builderとレポート デザイナーは、Power Pivot for SharePoint でホストされている Power Pivot ブックを含め、任意の Analysis Services データベースを使用できます。
Excel ピボットテーブル レポートは、すべての Analysis Services データベースでサポートされます。 Excel の機能は、表形式の .database、多次元データベース、または Power Pivot ブックのどちらを使用する場合でも同じですが、書き戻しは多次元データベースでのみサポートされます。