クライアント (Analysis Services - 多次元データ)

Microsoft SQL Server Analysis Services はシン クライアント アーキテクチャをサポートしています。Analysis Services 計算エンジンは完全にサーバー ベースであり、クエリはすべてサーバー上で解決されます。つまり、クエリごとにクライアントとサーバー間での単一ラウンド トリップが必要です。この結果、クエリの複雑さが増すにつれてパフォーマンスが変化します。

Analysis Services のネイティブ プロトコルは、XML for Analysis (XMLA) です。Analysis Services では、クライアント アプリケーション用のデータ アクセス インターフェイスがいくつか用意されていますが、これらのすべてのコンポーネントは XML for Analysis を使用して Analysis Services のインスタンスと通信を行います。

異なるプログラミング言語をサポートするため、Analysis Services ではいくつかの異なるプロバイダーが用意されています。プロバイダーは、インターネット インフォメーション サービス (IIS) を通じて TCP/IP または HTTP で SOAP パケットの XML for Analysis を送受信することによって Analysis Services サーバーと通信します。IIS によってインスタンス化された、データ ポンプと呼ばれる COM オブジェクトを使用する HTTP 接続は、Analysis Services データのパイプとして機能します。データ ポンプでは、HTTP ストリーム内に含まれる、基になるデータはまったく検証されません。また、基になるデータ構造はデータ ライブラリ内にあるコードではまったく使用できません。

Analysis Services の論理クライアント アーキテクチャ

Win32 クライアント アプリケーションから Analysis Services サーバーへの接続には、OLE DB for OLAP インターフェイスまたは Microsoft Visual Basic® などのコンポーネント オブジェクト モデル (COM) オートメーション言語用の Microsoft® ActiveX® データ オブジェクト (ADO) オブジェクト モデルを使用できます。.NET 言語で記述されたアプリケーションでは、ADOMD.NET を使用して Analysis Services サーバーに接続できます。

既存のアプリケーションは、Analysis Services プロバイダーのいずれかを使用するだけで、変更しなくても Analysis Services と通信できます。

プログラミング言語

データ アクセス インターフェイス

C++

OLE DB for OLAP

Visual Basic 6

ADO MD

.NET 言語

ADO MD.NET

SOAP をサポートするすべての言語

XML for Analysis

Analysis Services には、小規模な組織と大規模な組織の両方の配置に対応できる完全にスケーラブルな中間層を使用した Web アーキテクチャが装備されています。Analysis Services には、Web サービスへの広範な中間層のサポートが用意されています。ASP アプリケーションは OLE DB for OLAP および ADO MD によって、ASP.NET アプリケーションは ADOMD.NET によってサポートされています。次の図のように、中間層は、多数の同時ユーザーに対応できるスケーラブルな層です。

中間層アーキテクチャの論理図

クライアントおよび中間層アプリケーションは、いずれも、プロバイダーを使用せずに直接 Analysis Services と通信できます。クライアントおよび中間層アプリケーションによっては、TCP/IP、HTTP、または HTTPS を使用して SOAP パケットで XML for Analysis を送信する場合もあります。また、クライアントは SOAP をサポートする任意の言語を使用して記述されている場合もあります。この場合、通信の管理には、TCP/IP を使用したサーバーへの直接接続が記述されている場合でも、HTTP を介したインターネット インフォメーション サービス (IIS) を使用する方法が最も管理が簡単です。これが Analysis Services に最適のシン クライアント ソリューションです。

VertiPaq モードの Analysis Services

SQL Server 2008 R2 では、VertiPaq ストレージ エンジンは、SharePoint サイトにパブリッシュされた PowerPivot ブックを含む、Excel ブックのインメモリ多次元データベースに使用できます。 

PowerPivot for Excel は、VertiPaq モードを使用するインメモリ データベースの作成およびクエリがサポートされる、ただ 1 つのクライアントです。Excel および Excel ブックに含まれる PowerPivot ツールを使用して作成した多次元データベースは、Excel .xlsx ファイルの一部として保存されます。

従来の SSAS クライアントおよびツールを使用して VertiPaq ストレージ エンジンにアクセスすることはできません。

ただし、キューブ データをブックにインポートすると、従来のキューブに格納されたデータを PowerPivot ブックで使用できます。また、SharePoint サイトにパブリッシュされている場合、別の PowerPivot ブックからデータをインポートすることもできます。

注意

PowerPivot ブックのデータ ソースとしてキューブを使用する場合、キューブから取得するデータは、MDX クエリとして定義されます。ただし、データはフラット化スナップショットとしてインポートされます。キューブのデータは、対話的に操作したり、更新したりすることはできません。

データ ソースとしての SSAS キューブの使用方法の詳細については、「PowerPivot for Excel」を参照してください。

PowerPivot Client インターフェイス

PowerPivot は、AMO や ADOMD.NET、および MDX や XMLA といった Analysis Services のために確立されたインターフェイスおよび言語を使用し、ブック内の VertiPaq ストレージ エンジンと対話します。アドイン内では、メジャーは、Excel、Data Analysis Expressions (DAX) と同様の数式言語を使用して定義されます。DAX の式は、インプロセス サーバーに送信される XMLA メッセージ内に埋め込まれます。詳細については、「Data Analysis Expressions および MDX」を参照してください。

[プロバイダー]

PowerPivot と Excel との間の通信は、MSOLAP OLEDB プロバイダー (バージョン 10.5) を使用します。MSOLAP プロバイダー内には、4 つの異なるモジュールまたはトランスポートがあり、クライアントとサーバー間のメッセージの送信に使用できます。

TCP/IP   クライアントとサーバー間の一般的な接続に使用されます。

HTTP   SSAS データ ポンプ サービスを介した、または SharePoint PowerPivot Web サービス (WS) コンポーネントの呼び出しによる、HTTP 接続に使用されます。

INPROC   インプロセス エンジンへの接続に使用されます。

CHANNEL    SharePoint ファームの PowerPivot System サービスとの通信のために予約されています。Sharepoint インストールの PowerPivot の操作に必要なコンポーネントの詳細については、「計画とアーキテクチャ (PowerPivot for SharePoint)」を参照してください。