AMO 개념 및 개체 모델
적용 대상: SQL Server Analysis Services Azure Analysis Services
패브릭/Power BI Premium
이 문서에서는 AMO(Analysis Management Objects), AMO가 Analysis Services 아키텍처에서 제공되는 다른 도구 및 라이브러리와 어떻게 관련되어 있는지, 그리고 AMO의 모든 주요 개체에 대한 개념적 설명을 설명합니다.
AMO는 관리되는 환경에서 의 네임스페이스 아래에서 프로그래밍 방식으로 사용할 수 있는 관리 클래스의 Microsoft.AnalysisServices전체 컬렉션입니다. 클래스는 일반적으로 설치 프로그램이 파일을 설치하는 위치인 \100\SDK\Assemblies\폴더 아래에 있는 AnalysisServices.dll 파일에 포함됩니다. AMO 클래스를 사용하려면 이 어셈블리에 대한 참조를 프로젝트에 포함합니다.
AMO를 사용하면 큐브, 차원, 마이닝 구조 및 데이터베이스와 같은 개체를 만들고 수정하고 삭제할 수 있습니다. 이러한 모든 개체에 대해 .NET Framework 애플리케이션에서 작업을 수행할 수 있습니다. 데이터베이스에 저장된 정보를 처리하고 업데이트할 수도 있습니다.
Analysis Services 아키텍처의 AMO
AMO는 개체 관리용으로만 설계되었으며 데이터를 쿼리하는 데는 사용할 수 없습니다. 사용자가 클라이언트 애플리케이션에서 데이터를 쿼리해야 하는 경우 클라이언트 애플리케이션은 ADOMD.NET 사용해야 합니다.
AMO 아키텍처
AMO는 .NET Framework 버전 2.0 이상에서 관리 코드의 클라이언트 애플리케이션에서 Analysis Services instance 관리하도록 설계된 클래스의 전체 라이브러리입니다.
AMO 클래스 라이브러리는 클래스 계층 구조로 설계되었으며 일부 클래스는 다른 클래스보다 먼저 인스턴스화되어야 코드에서 사용할 수 있습니다. 코드에서 언제든지 인스턴스화할 수 있는 보조 클래스도 있지만 대개는 이러한 보조 클래스 중 하나를 사용하기 전에 하나 이상의 계층 구조 클래스를 이미 인스턴스화한 경우가 많습니다.
다음 그림에서는 주요 클래스가 포함된 AMO 계층 구조를 개괄적으로 보여 줍니다. 이 그림에서는 클래스의 위치를 클래스의 컨테이너 및 피어 위치와 구분하여 보여 줍니다. 는 Dimension 및 Server에 Database 속하며 및 와 MiningStructure동시에 DataSource 만들 수 있습니다. 일부 피어 클래스는 다른 클래스를 사용하기 전에 인스턴스화되어야 합니다. 예를 들어 새 Dimension 또는 MiningStructure를 추가하기 전에 의 DataSource instance 만들어야 합니다.
주 개체는 전체 개체를 다른 개체의 일부가 아닌 전체 엔터티로 나타내는 클래스입니다. 주 개체에는 , Cube, Dimension및 MiningStructure가 포함Server됩니다. 이러한 개체는 자체 엔터티이기 때문입니다. 그러나 는 Level 의 구성 요소이므로 주요 개체가 Dimension아닙니다. 주요 개체는 다른 개체와는 독립적으로 만들고 삭제, 수정 및 처리할 수 있습니다. 보조 개체는 부모 주요 개체를 만드는 작업의 일부로서만 만들 수 있는 개체입니다. 보조 개체는 일반적으로 주요 개체가 만들어질 때 만들어집니다. 보조 개체의 경우에는 기본 생성 개체가 없으므로 해당 개체를 만들 때 개체 값을 정의해야 합니다.
다음 그림에서는 개체에 포함된 주요 개체를 Server 보여 줍니다.
AMO를 사용하여 프로그래밍할 때 클래스와 포함된 클래스 간의 연결은 컬렉션 형식 특성(예 Server : 및 )을 Dimension사용합니다. 포함된 클래스의 한 인스턴스를 사용하려면 먼저 해당 클래스를 포함하거나 포함할 수 있는 컬렉션 개체에 대한 참조를 가져와야 합니다. 그런 다음 컬렉션에서 찾으려는 특정 개체를 찾고 해당 개체에 대한 참조를 가져와서 작업을 시작할 수 있습니다.
AMO 클래스
AMO는 클라이언트 애플리케이션에서 Analysis Services의 instance 관리하도록 설계된 클래스 라이브러리입니다. AMO 라이브러리는 특정 태스크를 수행하기 위해 논리적으로 관련된 개체 그룹이라고 생각할 수 있습니다. AMO 클래스는 다음과 같이 분류될 수 있습니다.
클래스 집합 | 목적 |
---|---|
AMO 기본 클래스 | 다른 클래스 집합을 사용하는 데 필요한 클래스입니다. |
AMO OLAP 클래스 | OLAP 개체를 관리할 수 있는 클래스입니다. |
AMO 데이터 마이닝 클래스 | 데이터 마이닝 개체를 관리할 수 있는 클래스입니다. |
AMO 보안 클래스 | 다른 개체에 대한 액세스를 제어하고 보안을 유지하는 데 사용되는 클래스입니다. |
AMO 기타 클래스 및 메서드 | OLAP 또는 데이터 마이닝 관리자의 일상 업무에 도움이 되는 클래스와 메서드입니다. |
AMO 사용
AMO는 예를 들어 팩트 테이블의 새 데이터를 기반으로 측정값 그룹에 새 파티션을 만들거나 새 데이터를 기반으로 마이닝 모델을 다시 학습하는 등의 반복적인 태스크를 자동화하는 데 특히 유용합니다. 새 개체를 만드는 이러한 태스크는 일반적으로 월별, 주별 또는 분기별로 수행되며 응용 프로그램에서는 새 데이터를 기반으로 새 개체의 이름을 쉽게 지정할 수 있습니다.
Analysis Services 관리자
관리자는 AMO를 사용하여 데이터베이스 처리를 자동화할 수 있습니다. 데이터베이스를 디자인하고 배포하려면 Visual Studio를 사용합니다.
개발자
개발자는 AMO를 사용하여 지정된 사용자 집합을 위한 관리 인터페이스를 개발할 수 있습니다. 이러한 인터페이스는 개체에 대한 액세스를 제한하고 사용자를 특정 작업으로 제한할 수 있습니다. 예를 들어 AMO를 사용하면 사용자가 모든 데이터베이스 개체를 보고, 데이터베이스 중 하나를 선택하고, 지정된 디바이스 집합 중 하나에 백업할 수 있는 백업 애플리케이션을 만들 수 있습니다.
개발자는 애플리케이션에 논리를 포함할 수도 있습니다. 이를 위해 개발자는 사용자 입력 또는 기타 요소를 기반으로 큐브, 차원, 마이닝 구조 및 마이닝 모델을 만들 수 있습니다.
OLAP 고급 사용자
OLAP 고급 사용자는 일반적으로 프로그래밍 배경 지식이 풍부하며 데이터 개체를 보다 정밀하게 사용하여 데이터 분석 기능을 향상시키려는 데이터 분석가나 그 밖의 경험 있는 데이터 사용자입니다. 오프라인으로 작업해야 하는 사용자의 경우에는 오프라인으로 전환하기 전에 로컬 큐브를 만드는 과정을 자동화하는 데 AMO를 유용하게 사용할 수 있습니다.
데이터 마이닝 고급 사용자
데이터 마이닝 고급 사용자의 경우 AMO는 정기적으로 다시 학습해야 하는 모델 집합이 매우 많을 때 가장 유용합니다.
AMO를 사용하여 관리 작업 자동화
대부분의 반복 작업은 선택한 언어로 애플리케이션으로 개발된 경우보다 Integration Services를 사용하여 개발된 경우 가장 잘 설계, 배포 및 유지 관리됩니다. 그러나 Integration Services를 사용하여 자동화할 수 없는 반복적인 작업의 경우 AMO를 사용할 수 있습니다.
자동 개체 관리
AMO를 사용하면 사용자 입력 또는 새로 획득한 데이터에 따라 개체(예Database: , , Dimension, Cube마이닝 MiningStructure, 또는 MiningModelRole)를 쉽게 만들거나 업데이트하거나 삭제할 수 있습니다. AMO는 개발된 솔루션을 ISV(Independent Software Vendor)부터 최종 고객에게까지 배포해야 하는 설치 응용 프로그램에 이상적입니다. 설치 응용 프로그램에서는 이전 버전이 있는지 확인하고, 구조를 업데이트하고, 더 이상 유용하지 않은 개체를 제거하고, 새 개체를 만들 수 있습니다. 이전 버전이 없으면 모든 항목을 처음부터 새로 만들 수 있습니다.
AMO는 새 데이터를 기반으로 새 파티션을 만들 때 강력할 수 있으며 프로젝트의 scope 넘어간 이전 파티션을 제거할 수 있습니다. 예를 들어 최근 36개월 동안의 데이터를 사용하는 재무 분석 솔루션의 경우 한 달 동안의 데이터를 새로 받는 즉시 37개월 전의 데이터는 제거될 수 있습니다. 또한 성능을 최적화하기 위해 사용량에 따라 새 집계를 디자인하여 최근 12개월에 적용할 수 있습니다.
자동 개체 처리
AMO를 사용하여 Integration Services를 사용하는 일반 흐름 데이터 및 예약된 작업 이외의 특정 이벤트에 응답하여 개체 처리 및 업데이트된 가용성을 달성할 수 있습니다.
자동 보안 관리
보안 관리를 자동화하여 역할 및 사용 권한에 새 사용자를 포함하거나 다른 사용자의 기간이 만료되는 즉시 해당 사용자를 제거할 수 있습니다. 새 인터페이스를 만들어 보안 관리자의 보안 관리 작업을 간단하게 할 수도 있습니다. Visual Studio를 사용하는 것보다 더 간단할 수 있습니다.
자동 백업 관리
자동 백업 관리는 Integration Services 작업을 사용하거나 자동으로 실행되는 특수한 AMO 애플리케이션을 만들어 수행할 수 있습니다. AMO를 사용하면 운영자의 일상 업무에 도움이 되는 운영자용 백업 인터페이스를 개발할 수 있습니다.
작업 AMO는 데이터를 쿼리하기 위한 것이 아닙니다.
AMO는 데이터를 쿼리하는 데는 사용할 수 없습니다. 큐브 및 마이닝 모델을 포함한 데이터를 쿼리하려면 사용자 애플리케이션의 ADOMD.NET 사용합니다. 자세한 내용은 ADOMD.NET 사용하여 개발을 참조하세요.