AMO 개념 및 개체 모델

이 항목에서는 AMO(Analysis Management Objects)에 대해 정의하고, MicrosoftSQL ServerAnalysis Services의 아키텍처에 제공되는 다른 도구 및 라이브러리와 AMO의 관계를 설명하고, AMO에 포함된 모든 주요 개체의 개념을 설명합니다.

AMO는 Analysis Services용 관리 클래스를 모두 포함하는 컬렉션으로, 관리되는 환경의 Microsoft.AnalysisServices 네임스페이스에서 프로그래밍 방식으로 사용할 수 있습니다. 해당 클래스는 AnalysisServices.dll 파일에 포함되어 있으며 이 파일은 일반적으로 SQL Server 설치 폴더의 \100\SDK\Assemblies\ 폴더에 있습니다. AMO 클래스를 사용하려면 이 어셈블리에 대한 참조를 프로젝트에 포함합니다.

AMO를 사용하면 큐브, 차원, 마이닝 구조 및 Analysis Services 데이터베이스와 같은 개체를 만들고 수정하고 삭제할 수 있으며, .NET Framework의 응용 프로그램에서 이러한 모든 개체에 대해 동작을 수행할 수 있습니다. Analysis Services 데이터베이스에 저장된 정보를 처리하고 업데이트할 수도 있습니다.

AMO를 사용하여 데이터를 쿼리할 수는 없습니다. 데이터를 쿼리하려면 ADOMD.NET을 사용합니다.

이 항목에는 다음과 같은 섹션이 포함되어 있습니다.

Analysis Services 아키텍처의 AMO

AMO 아키텍처

AMO 사용

AMO를 사용하여 관리 태스크 자동화

Analysis Services 아키텍처의 AMO

AMO는 개체 관리용으로만 설계되었으며 데이터를 쿼리하는 데는 사용할 수 없습니다. 사용자가 클라이언트 응용 프로그램에서 Analysis Services 데이터를 쿼리해야 하는 경우에는 해당 클라이언트 응용 프로그램이 ADOMD.NET을 사용해야 합니다.

AMO 아키텍처

AMO는 클라이언트 응용 프로그램에서 .NET Framework 버전 2.0의 관리 코드로 Analysis Services의 인스턴스를 관리하기 위해 설계된 클래스가 모두 포함된 라이브러리입니다.

AMO 클래스 라이브러리는 클래스 계층 구조로 설계되었으며 일부 클래스는 다른 클래스보다 먼저 인스턴스화되어야 코드에서 사용할 수 있습니다. 코드에서 언제든지 인스턴스화할 수 있는 보조 클래스도 있지만 대개는 이러한 보조 클래스 중 하나를 사용하기 전에 하나 이상의 계층 구조 클래스를 이미 인스턴스화한 경우가 많습니다.

다음 그림에서는 주요 클래스가 포함된 AMO 계층 구조를 개괄적으로 보여 줍니다. 이 그림에서는 클래스의 위치를 클래스의 컨테이너 및 피어 위치와 구분하여 보여 줍니다. DimensionDatabaseServer에 속하며 DataSourceMiningStructure와 동시에 만들어질 수 있습니다. 일부 피어 클래스는 다른 클래스를 사용하기 전에 인스턴스화되어야 합니다. 예를 들어 새 Dimension 또는 MiningStructure를 추가하려면 먼저 DataSource의 인스턴스를 만들어야 합니다.

AMO 클래스 높은 수준의 뷰

주요 개체는 다른 개체의 일부가 아니라 전체 엔터티인 완전한 개체를 나타내는 클래스입니다. Server, Cube, DimensionMiningStructure는 그 자체가 엔터티이므로 주요 개체에 해당합니다. 그러나 LevelDimension을 구성하는 요소이므로 주요 개체가 아닙니다. 주요 개체는 다른 개체와는 독립적으로 만들고 삭제, 수정 및 처리할 수 있습니다. 보조 개체는 부모 주요 개체를 만드는 작업의 일부로서만 만들 수 있는 개체입니다. 보조 개체는 일반적으로 주요 개체가 만들어질 때 만들어집니다. 보조 개체의 경우에는 기본 생성 개체가 없으므로 해당 개체를 만들 때 개체 값을 정의해야 합니다.

다음 그림에서는 Server 개체에 포함된 주요 개체를 보여 줍니다.

강조 표시된 AMO 주요 개체강조 표시된 AMO 주요 개체(2)

AMO를 사용하여 프로그래밍할 때 클래스와 포함된 클래스 간의 연결에는 ServerDimension과 같은 컬렉션 형식 특성이 사용됩니다. 포함된 클래스의 한 인스턴스를 사용하려면 먼저 해당 클래스를 포함하거나 포함할 수 있는 컬렉션 개체에 대한 참조를 가져와야 합니다. 그런 다음 컬렉션에서 찾으려는 특정 개체를 찾고 해당 개체에 대한 참조를 가져와서 작업을 시작할 수 있습니다.

AMO 클래스

AMO는 클라이언트 응용 프로그램에서 Analysis Services의 인스턴스를 관리하기 위해 설계된 클래스 라이브러리입니다. AMO 라이브러리는 특정 태스크를 수행하기 위해 논리적으로 관련된 개체 그룹이라고 생각할 수 있습니다. AMO 클래스는 다음과 같이 분류될 수 있습니다.

클래스 집합

용도

AMO 기본 클래스

다른 클래스 집합을 사용하는 데 필요한 클래스입니다.

AMO OLAP 클래스

Analysis Services에서 OLAP 개체를 관리하는 데 사용되는 클래스입니다.

AMO 데이터 마이닝 클래스

Analysis Services에서 데이터 마이닝 개체를 관리하는 데 사용되는 클래스입니다.

AMO 보안 클래스

다른 개체에 대한 액세스를 제어하고 보안을 유지하는 데 사용되는 클래스입니다.

AMO 기타 클래스 및 메서드

OLAP 또는 데이터 마이닝 관리자의 일상 업무에 도움이 되는 클래스와 메서드입니다.

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를 사용할 수 있습니다.. AMO는 또한 Analysis Services를 사용하여 비즈니스 인텔리전스를 위한 특수화된 응용 프로그램을 개발하려는 경우에도 유용합니다.

자동 개체 관리

AMO를 사용하면 사용자 입력 또는 새로 받은 데이터를 기반으로 Database, Dimension, Cube, MiningStructure, MiningModel 또는 Role과 같은 Analysis Services 개체를 만들거나 업데이트하거나 삭제하기가 매우 쉽습니다. AMO는 개발된 솔루션을 ISV(Independent Software Vendor)부터 최종 고객에게까지 배포해야 하는 설치 응용 프로그램에 이상적입니다. 설치 응용 프로그램에서는 이전 버전이 있는지 확인하고, 구조를 업데이트하고, 더 이상 유용하지 않은 개체를 제거하고, 새 개체를 만들 수 있습니다. 이전 버전이 없으면 모든 항목을 처음부터 새로 만들 수 있습니다.

AMO를 사용하면 매우 간단하게 새 데이터를 기반으로 새 파티션을 만들 수 있으며 프로젝트 범위를 벗어난 이전 파티션은 제거할 수 있습니다. 예를 들어 최근 36개월 동안의 데이터를 사용하는 재무 분석 솔루션의 경우 한 달 동안의 데이터를 새로 받는 즉시 37개월 전의 데이터는 제거될 수 있습니다. 또한 성능을 최적화하기 위해 사용량에 따라 새 집계를 디자인하여 최근 12개월에 적용할 수 있습니다.

자동 개체 처리

AMO를 사용하여 Integration Services를 사용하는 예약된 태스크와 일반적인 데이터 흐름의 범위를 벗어나는 특정 이벤트에 응답함으로써 개체를 처리하고 가용성을 업데이트할 수 있습니다.

자동 보안 관리

보안 관리를 자동화하여 역할 및 사용 권한에 새 사용자를 포함하거나 다른 사용자의 기간이 만료되는 즉시 해당 사용자를 제거할 수 있습니다. 새 인터페이스를 만들어 보안 관리자의 보안 관리 작업을 간단하게 할 수도 있습니다. 이는 Business Intelligence Development Studio를 사용하는 것보다 간단할 수 있습니다.

자동 백업 관리

자동 백업 관리는 Integration Services 태스크를 사용하여 수행하거나 자동으로 실행되는 특수화된 AMO 응용 프로그램을 만들어 수행할 수 있습니다. AMO를 사용하면 운영자의 일상 업무에 도움이 되는 운영자용 백업 인터페이스를 개발할 수 있습니다.

AMO를 사용할 수 없는 태스크

AMO는 데이터를 쿼리하는 데는 사용할 수 없습니다. 큐브 및 마이닝 모델을 포함한 Analysis Services 데이터를 쿼리하려면 사용자 응용 프로그램에서 ADOMD.NET을 사용해야 합니다. 자세한 내용은 ADOMD.NET을 참조하십시오.