AMO の概念

更新 : 2006 年 4 月 14 日

ここでは、分析管理オブジェクト (AMO) の定義、Microsoft SQL Server 2005 Analysis Services (SSAS) のアーキテクチャで提供されるその他のツールやライブラリと AMO との関係、および AMO のすべての主要オブジェクトに関する概念を説明します。

AMO は、マネージ環境において、Microsoft.AnalysisServices の名前空間のプログラムで使用できる、Analysis Services の管理クラスの完全なコレクションです。これらのクラスは AnalysisServices.dll ファイルに含まれています。このファイルは、通常、SQL Server 2005 がインストールされている場所の、\90\SDK\Assemblies\ フォルダの下にあります。AMO クラスを使用するには、このアセンブリへの参照をプロジェクト内に含めてください。

AMO を使用すると、キューブ、ディメンション、マイニング構造、Analysis Services データベースなどのオブジェクトを、作成、変更、および削除できます。これらすべてのオブジェクトに対して、.NET Framework で作成したアプリケーションから操作を実行できます。また、Analysis Services データベースに格納された情報を処理したり、更新したりできます。

AMO を使用して、データに対するクエリを実行することはできません。データのクエリを実行するには、ADOMD.NET を使用してください。

このトピックには次のセクションが含まれます。

Analysis Services アーキテクチャにおける AMO

AMO のアーキテクチャ

AMO の使用

AMO による管理タスクの自動化

Analysis Services アーキテクチャにおける AMO

Analysis Services のインスタンスはスタンドアロン サービスとして実行され、サービスとの通信は、HTTP または TCP を使用して XML for Analysis (XMLA) 経由で行われます。AMO は、ユーザー アプリケーションと Analysis Services インスタンスの間のレイヤです。このレイヤは、Analysis Services 管理オブジェクトへのアクセスを提供します。AMO は、クライアント アプリケーションからコマンドを受け取り、それを Analysis Services インスタンス用の XMLA メッセージに変換するクラス ライブラリです。AMO は、Analysis Services インスタンス オブジェクトをクラスとして、エンド ユーザー アプリケーションに提示します。このクラスには、コマンドを実行するメソッド メンバと、Analysis Services オブジェクトのデータを持つプロパティ メンバが含まれます。

次の図は、Analysis Services コンポーネントのアーキテクチャを示しており、Analysis Services インスタンス内で実行されるすべての主要な要素と、インスタンスと連携するすべてのユーザー コンポーネントを含んでいます。この図はまた、XML for Analysis (XMLA) リスナと、HTTP または TCP のいずれかを使用する以外に、インスタンスにアクセスする方法がないことを示しています。

Analysis Services のシステム アーキテクチャ図

AMO はオブジェクト管理のみを用途として設計されており、データのクエリは用途外です。Analysis Services データのクエリが必要なクライアント アプリケーションには、ADOMD.NET を使用してください。

AMO のアーキテクチャ

AMO は、.NET Framework バージョン 2.0 のマネージ コードで、Analysis Services インスタンスをクライアント アプリケーションから管理するよう設計されたクラスの完全なライブラリです。

AMO クラス ライブラリの設計上、クラス間に階層関係があり、コードを記述する際、一部のクラスをインスタンス化してからその他のクラスを使用する必要があります。また、コード内でいつでもインスタンス化できる補助クラスもあります。ただし、多くの場合、いずれかの補助クラスを使用する前に、1 つ以上の階層クラスが既にインスタンス化されています。

次の図は、主要なクラスを含む AMO 階層の概要を示しています。この図では、各クラスがそのコンテナとピアの間に配置されています。DimensionDatabase および Server に属し、DataSource および MiningStructure と同時に作成できます。他のクラスを使用するには、特定のピア クラスをインスタンス化する必要があります。たとえば、新規に Dimension または MiningStructure を追加する前に、DataSource のインスタンスを作成する必要があります。

AMO クラスの上位レベル ビュー

"主要オブジェクト" は、他のオブジェクトの一部ではなく、それ自体で完結したエンティティであるオブジェクトを表すクラスです。主要オブジェクトには、ServerCubeDimensionMiningStructure が含まれます。これらはいずれも独立したエンティティです。しかし、LevelDimension の構成要素なので、主要オブジェクトではありません。主要オブジェクトは、他のオブジェクトに関係なく、作成、削除、変更、または処理できます。副次オブジェクトは、親である主要オブジェクトを作成する際に、その一部としてのみ作成できるオブジェクトです。通常、副次オブジェクトは、主要オブジェクトの作成時に作成されます。副次オブジェクトの値は作成時に定義してください。副次オブジェクトには既定値が作成されないためです。

次の図は、Server オブジェクトに含まれる主要なオブジェクトを示しています。

強調表示された AMO の主なオブジェクト

強調表示された AMO の主なオブジェクト (2)

Analysis Services のインスタンスには、複数のデータベースを含めることができます。また、ヘルパ オブジェクト セットを使用することによって、1 つのデータベース内に OLAP オブジェクトとデータ マイニング オブジェクトを同時に格納できます。AMO アプリケーションは、サーバー上のいずれかのインスタンスと、OLAP オブジェクトまたはデータ マイニング オブジェクトを使用するデータベースに接続します。サーバー コンピュータで Analysis Services の複数のインスタンスをホストできます。AMO では、Analysis Services の各インスタンスが別個のサーバー オブジェクトとして認識されます。各インスタンスは、それぞれ異なる接続によって Server オブジェクトに接続されます。Analysis Services のインスタンスには、"<ServerName>\<InstanceName>" という名前が付けられます。次の図は、ここで説明した AMO 実行オブジェクト間のリレーションシップをすべて示しています。

AMO の実行オブジェクトの関係

AMO を使用してプログラミングする場合、クラスと、含まれているクラスの関連付けには、コレクションの種類の属性を使用します。たとえば、ServerDimension です。含まれているクラスのインスタンスを使用するには、まず、そのクラスが含まれているか、含まれている可能性のあるコレクション オブジェクトへの参照を取得します。次に、必要とするオブジェクトをコレクション内で特定し、オブジェクトへの参照を取得すれば、これを使用できるようになります。

AMO クラス

AMO は、Analysis Services インスタンスをクライアント アプリケーションから管理するよう設計されたクラスのライブラリです。AMO ライブラリは、特定のタスクの実行に使用される、論理的に関連したオブジェクトのグループとして考えることができます。AMO クラスは次の方法で分類できます。

クラス セット 目的

AMO の基礎クラス

他のクラスのセットを操作するために必須のクラス。

AMO OLAP クラス

Analysis Services で OLAP オブジェクトを管理するためのクラス。

AMO データ マイニング クラス

Analysis Services でデータ マイニング オブジェクトの管理を可能にするためのクラス。

AMO セキュリティ クラス

他のオブジェクトへのアクセスを制御し、セキュリティのメンテナンスを可能にするためのクラス。

AMO のその他のクラスとメソッド

OLAP またはデータ マイニングの管理者の日常的業務の遂行に役立つ、クラスおよびメソッド。

DSO 8.0 からの移行

以前のバージョンの Analysis Services を使用していたユーザーにとって、AMO は Decision Support オブジェクト (DSO) に代わるものです。DSO 8.0 は、アンマネージ環境で動作する COM タイプのコンポーネント セットです。通常、スクリプト環境 (たとえば DTS スクリプト タスク)、または VB 6 言語や VC++ 6 言語で開発されたアプリケーションから実行します。これに対して、AMO オブジェクトはマネージ環境で動作します。

DSO 8.0 で開発されたアプリケーションは、DSO 9.0 を使用すれば SQL Server 2005 Analysis Services でも実行できます。ただし、DSO 9.0 は今後廃止される予定です。

DSO の開発者は、今後の開発に AMO を使用することをお勧めします。また、これまでに開発したアプリケーションは、Microsoft Visual Basic .NET や Microsoft C# などの使用可能な言語のいずれかで AMO を使用してマネージ環境に移植するか、Integration Services タスクのセットに移植することをお勧めします。

DSO の詳細については、「Decision Support Objects Reference (DSO)」および「Using Decision Support Objects (DSO)」を参照してください。

AMO の使用

AMO は、繰り返しタスクの自動化に非常に役立ちます。たとえば、ファクト テーブルの新しいデータに基づいてメジャー グループに新しいパーティションを作成する場合や、新しいデータに基づいてマイニング モデルを再調整する場合などです。新しいオブジェクトを作成するこれらのタスクは、通常、毎月、毎週、または四半期ごとに実行され、アプリケーションで新しいオブジェクトに新しいデータに基づく名前を付けることも簡単です。

Analysis Services 管理者

Analysis Services 管理者は、AMO を使用して、Analysis Services データベースの処理を自動化できます。Analysis Services データベースの設計および配置には、Business Intelligence Development Studio を使用してください。

開発者

開発者は、AMO を使用して、指定したユーザー セット用の管理インターフェイスを開発できます。これらのインターフェイスでは、Analysis Services オブジェクトへのアクセスを制限し、ユーザーが特定のタスクのみを使用できるようにできます。たとえば、AMO を使用すると、すべてのデータベース オブジェクトの表示、データベースのいずれかの選択、および指定したデバイス セットのいずれかのデバイスへのバックアップをユーザーに許可する、バックアップ アプリケーションを作成できます。

開発者はまた、Analysis Services ロジックをアプリケーションに埋め込むことができます。このため、開発者は、ユーザー入力などの要因に基づいて、キューブ、ディメンション、マイニング構造、およびマイニング モデルを作成できます。

OLAP の上級ユーザー

データ アナリストや経験豊富なデータ ユーザーをはじめとする OLAP の上級ユーザーは、プログラミングに関する豊富な背景知識を持ち、データ オブジェクトをさらに緻密に使用してデータ分析を強化したいと望んでいます。オフライン作業が必要なユーザーにとって、オフラインへの切り替え前のローカル キューブの作成を自動化するために、AMO が非常に役立ちます。

データ マイニングの上級ユーザー

データ マイニングの上級ユーザーにとって、定期的な再調整を必要とするモデル セットが大量にある場合に、AMO が非常に役立ちます。

AMO による管理タスクの自動化

ほとんどの繰り返しタスクは、どのような言語のアプリケーションとして開発するよりも Integration Services を使用して開発したほうが、設計、配置、および保守に適しています。しかし、Integration Services を使用しても自動化できない繰り返しタスクには、AMO を使用できます。Analysis Services を使用して、ビジネス インテリジェンス用に専門性の高いアプリケーションを開発する際にも、AMO が役立ちます。

自動オブジェクト管理

AMO を使用すると、ユーザー入力や新しく取得したデータに基づいて、Analysis Services オブジェクト (DatabaseDimensionCubeMiningStructureMiningModelRole など) を容易に作成、更新、または削除できます。AMO は、独立系ソフトウェア ベンダによって開発されたソリューションを、最終的な顧客に配置するためのセットアップ アプリケーションに最適です。セットアップ アプリケーションでは、旧バージョンが存在するかどうかを検証し、構造を更新し、不要なオブジェクトを削除し、新しいオブジェクトを作成できます。旧バージョンが存在しない場合は、すべてを最初から作成します。

AMO は、新しいデータに基づく新しいパーティションの作成に威力を発揮します。また、プロジェクトのスコープから外れた古いパーティションを削除することもできます。たとえば、過去 36 か月のデータを使用する財務分析ソリューションでは、新しい月のデータが入力されしだい、37 番目の月のデータが削除されるようにできます。パフォーマンスを最適化するためには、使用率に基づく集計を新しく設計し、過去 12 か月分に適用できます。

自動オブジェクト処理

Integration Services を使用する通常のフロー データや定期タスク以外の、特定のイベントに応答するように AMO を使用すると、オブジェクト処理や可用性の更新が可能です。

自動セキュリティ管理

セキュリティ管理を自動化して、新しいユーザーをロールや権限に含めたり、時間切れになったユーザーを削除したりできます。新しいインターフェイスを作成して、セキュリティ管理者によるセキュリティ管理を単純化できます。これは、Business Intelligence Development Studio を使用するよりも簡単です。

自動バックアップ管理

自動バックアップ管理を行うには、Integration Services タスクを使用するか、自動実行される特別な AMO アプリケーションを作成します。AMO を使用すると、オペレータの日常業務を支援するバックアップ インターフェイスを開発できます。

AMO を使用しないタスク

データのクエリには、AMO を使用できません。キューブやマイニング モデルなどの Analysis Services データにクエリを実行するには、ユーザー アプリケーションから ADOMD.NET を使用してください。詳細については、「ADOMD.NET」を参照してください。

参照

関連項目

Microsoft.AnalysisServices

その他の技術情報

Analysis Services のデータ アクセス インターフェイス (SSAS)
スキーマ行セット
XML for Analysis (XMLA)
Analysis Services の概念とオブジェクト

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 4 月 14 日

新しい内容 :
  • 図とその説明を追加しました。