Analysis Services는 다양한 유형의 Analysis Services 모델에서 사용하는 메모리 아키텍처 및 런타임 환경을 결정하는 서버 배포 모드에서 작동합니다. 서버 모드는 설치하는 동안 결정됩니다. 다차원 및 데이터 마이닝 모드 는 기존의 OLAP 및 데이터 마이닝을 지원합니다. 테이블 형식 모드 는 테이블 형식 모델을 지원합니다. SharePoint 통합 모드 는 통합 문서 내에서 Excel 또는 PowerPivot 데이터 모델을 로드하고 쿼리하는 데 사용되는 SharePoint용 PowerPivot으로 설치된 Analysis Services 인스턴스를 나타냅니다.
이 항목에서는 다차원 및 데이터 마이닝 모드에서 작동할 때 Analysis Services의 기본 아키텍처에 대해 설명합니다. 다른 모드에 대한 자세한 내용은 테이블 형식 모델링(SSAS 테이블 형식) 및 테이블 형식 및 다차원 솔루션 비교(SSAS)를 참조하세요.
기본 아키텍처
Analysis Services 인스턴스에는 여러 데이터베이스가 포함될 수 있으며 데이터베이스에는 OLAP 개체와 데이터 마이닝 개체가 동시에 있을 수 있습니다. 애플리케이션은 Analysis Services의 지정된 인스턴스 및 지정된 데이터베이스에 연결됩니다. 서버 컴퓨터는 Analysis Services의 여러 인스턴스를 호스트할 수 있습니다. Analysis Services 인스턴스의 이름은 "<ServerName>\<InstanceName>"입니다. 다음 그림에서는 Analysis Services 개체 간에 언급된 모든 관계를 보여 줍니다.
기본 클래스는 큐브를 빌드하는 데 필요한 최소 개체 집합입니다. 이 최소 개체 집합은 차원, 측정값 그룹 및 파티션입니다. 집계는 선택 사항입니다.
차원은 특성 및 계층 구조에서 빌드됩니다. 계층 구조는 순서가 지정된 특성 집합에 의해 구성됩니다. 여기서 집합의 각 특성은 계층의 수준에 해당합니다.
큐브는 차원 및 측정값 그룹에서 빌드됩니다. 큐브의 차원 컬렉션에 있는 차원은 데이터베이스의 차원 컬렉션에 속합니다. 측정값 그룹은 데이터 원본 뷰가 동일하고 큐브에서 차원의 하위 집합이 동일한 측정값의 컬렉션입니다. 측정값 그룹에는 물리적 데이터를 관리하는 하나 이상의 파티션이 있습니다. 측정값 그룹에는 기본 집계 디자인이 있을 수 있습니다. 기본 집계 디자인은 측정값 그룹의 모든 파티션에서 사용할 수 있습니다. 또한 각 파티션에는 자체 집계 디자인이 있을 수 있습니다.
서버 개체 Analysis Services의 각 인스턴스는 AMO에서 다른 서버 개체로 표시됩니다. 각 다른 인스턴스는 서로 다른 연결로 Server 개체에 연결됩니다. 각 서버 개체에는 하나 이상의 데이터 원본, 데이터 원본 뷰 및 데이터베이스 개체뿐만 아니라 어셈블리 및 보안 역할이 포함됩니다.
차원 개체 각 데이터베이스 개체에는 여러 차원 개체가 포함됩니다. 각 차원 개체에는 계층 구조로 구성된 하나 이상의 특성이 포함됩니다.
Cube Objects 각 데이터베이스 개체에는 하나 이상의 큐브 개체가 포함되어 있습니다. 큐브는 해당 측정값 및 차원으로 정의됩니다. 큐브의 측정값 및 차원은 큐브의 기반이 되거나 측정값 및 차원 정의에서 생성되는 데이터 원본 뷰의 테이블 및 뷰에서 파생됩니다.
개체 상속
ASSL 개체 모델에는 여러 반복된 요소 그룹이 포함되어 있습니다. 예를 들어 요소 그룹 "Dimensions contain Hierarchies"는 요소의 차원 계층 구조를 정의합니다. 둘 다 Cubes 및 MeasureGroups 요소 그룹을 포함합니다. "Dimensions contain Hierarchies."
명시적으로 재정의되지 않는 한 요소는 상위 수준에서 이러한 반복된 요소 그룹의 세부 정보를 상속합니다. 예를 들어 Translations for a CubeDimension 는 상위 요소Cube의 Translations 경우와 동일합니다.
상위 수준 개체에서 상속된 속성을 명시적으로 재정의하려면 개체가 상위 수준 개체의 전체 구조 및 속성을 명시적으로 반복할 필요가 없습니다. 개체가 명시적으로 상태 지정해야 하는 유일한 속성은 개체가 재정의하려는 속성뿐입니다. 예를 들어 표시 CubeDimension 유형을 변경 Level 해야 하거나 Cube일부 세부 정보가 수준에서 제공되지 Dimension 않은 항목만 Hierarchies 나열할 수 있습니다.
개체에 지정된 일부 속성은 자식 또는 하위 개체의 동일한 속성에 대한 기본값을 제공합니다. 예를 들어 . Cube.StorageModePartition.StorageMode 상속된 기본값의 경우 ASSL은 상속된 기본값에 대해 다음 규칙을 적용합니다.
XML에서 자식 개체의 속성이 null이면 속성의 값은 기본적으로 상속된 값으로 설정됩니다. 그러나 서버에서 값을 쿼리하는 경우 서버는 XML 요소의 null 값을 반환합니다.
자식 개체의 속성이 자식 개체에 직접 설정되었는지 또는 상속되었는지 여부를 프로그래밍 방식으로 확인할 수 없습니다.
예시
Imports 큐브에는 패키지와 마지막의 두 측정값과 경로, 원본 및 시간의 세 가지 관련 차원이 포함됩니다.
큐브 주위의 작은 영숫자 값은 차원의 멤버입니다. 예제 멤버는 ground(Route 차원의 멤버), 아프리카(원본 차원의 멤버) 및 1분기(시간 차원의 멤버)입니다.
조치
큐브 셀 내의 값은 Packages와 Last의 두 측정값을 나타냅니다. Packages 측정값은 가져온 패키지 수를 나타내며 Sum , 이 함수는 팩트를 집계하는 데 사용됩니다. 마지막 측정값은 수신 날짜를 나타내며 Max , 이 함수는 팩트를 집계하는 데 사용됩니다.
치수
경로 차원은 가져오기가 대상에 도달하는 수단을 나타냅니다. 이 차원의 멤버는 지상, 비그라운드, 공기, 바다, 도로 또는 레일을 포함합니다. 원본 차원은 아프리카 또는 아시아와 같이 수입이 생산되는 위치를 나타냅니다. 시간 차원은 1년의 분기와 절반을 나타냅니다.
집합체
Analysis Services는 필요에 따라 상위 수준에서 값을 집계하기 때문에 큐브의 비즈니스 사용자는 차원 내의 멤버 수준에 관계없이 모든 차원의 각 멤버에 대한 측정값을 결정할 수 있습니다. 예를 들어 다음 다이어그램에 나와 있는 것처럼 시간 차원의 달력 시간 계층 구조를 사용하여 이전 그림의 측정값을 표준 달력 계층 구조에 따라 집계할 수 있습니다.
값
단일 차원을 사용하여 측정값을 집계하는 것 외에도 다른 차원의 멤버 조합을 사용하여 측정값을 집계할 수 있습니다. 이를 통해 비즈니스 사용자는 여러 차원의 측정값을 동시에 평가할 수 있습니다. 예를 들어 비즈니스 사용자가 동반구 및 서반구에서 공기로 도착한 분기별 가져오기를 분석하려는 경우 비즈니스 사용자는 큐브에 대한 쿼리를 실행하여 다음 데이터 세트를 검색할 수 있습니다.
| 패키지 | 지난 | |||||||
|---|---|---|---|---|---|---|---|---|
| 모든 원본 | 동반구 | 서반구 | 모든 원본 | 동반구 | 서반구 | |||
| 모든 시간 | 25110 | 6547 | 18563 | 12월 29-99일 | 12월 22-99일 | 12월 29-99일 | ||
| 첫 번째 절반 | 11173 | 2977 | 8196 | 6월 28-99일 | 6월 20-99일 | 6월 28-99일 | ||
| 1분기 | 5108 | 1452 | 3656 | 3월 30-99일 | 3월 19-99일 | 3월 30-99일 | ||
| 2분기 | 6065 | 1525 | 4540 | 6월 28-99일 | 6월 20-99일 | 6월 28-99일 | ||
| 2번째 절반 | 13937 | 3570 | 10367 | 12월 29-99일 | 12월 22-99일 | 12월 29-99일 | ||
| 3분기 | 6119 | 1444 | 4675 | 9월 30-99일 | 9월 18-99일 | 9월 30-99일 | ||
| 4분기 | 7818 | 2126 | 5692 | 12월 29-99일 | 12월 22-99일 | 12월 29-99일 |
큐브가 정의되면 새 집계를 만들거나 기존 집계를 변경하여 처리 중에 집계가 미리 계산되는지 또는 쿼리 시간에 계산되는지와 같은 옵션을 설정할 수 있습니다. 관련 항목:집계 및 집계 디자인.
매핑 측정값, 특성 및 계층 구조
예제 큐브의 측정값, 특성 및 계층 구조는 큐브 팩트 및 차원 테이블의 다음 열에서 파생됩니다.
| 측정값 또는 특성(수준) | 구성원 | 원본 테이블 | 원본 열 | 샘플 열 값 |
|---|---|---|---|---|
| 패키지 측정값 | 해당 없음 | ImportsFactTable | 패키지 | 12 |
| 마지막 측정값 | 해당 없음 | ImportsFactTable | 지난 | 5월 3일-99일 |
| 경로 차원의 경로 범주 수준 | nonground,ground | RouteDimensionTable | Route_Category | 비그라운드 |
| Route 차원의 경로 특성 | 공기, 바다, 도로, 철도 | RouteDimensionTable | 경로 | 바다 |
| 원본 차원의 반구 특성 | 동반구, 서반구 | SourceDimensionTable | 반구 | 동반구 |
| 원본 차원의 대륙 특성 | 아프리카, 아시아, 오스트레일리아 유로프, N. 아메리카,S. 미국 | SourceDimensionTable | 대륙 | 유럽 |
| 시간 차원의 절반 특성 | 1번째 절반,2번째 절반 | TimeDimensionTable | 반 | 2번째 절반 |
| 시간 차원의 분기 특성 | 1분기,2분기,3분기,4분기 | TimeDimensionTable | 분기 | 3분기 |
단일 큐브 셀의 데이터는 일반적으로 팩트 테이블의 여러 행에서 파생됩니다. 예를 들어 에어 멤버, 아프리카 멤버 및 1분기 멤버의 교차점에 있는 큐브 셀에는 ImportsFactTable 팩트 테이블의 다음 행을 집계하여 파생되는 값이 포함됩니다.
| Import_ReceiptKey | RouteKey | SourceKey | TimeKey | 패키지 | 지난 |
| 3516987 | 1 | 6 | 1 | 15 | 1월 10-99일 |
| 3554790 | 1 | 6 | 1 | 40 | 1월 19-99일 |
| 3572673 | 1 | 6 | 1 | 34 | 1월 27-99일 |
| 3600974 | 1 | 6 | 1 | 45 | 2월 2일-99일 |
| 3645541 | 1 | 6 | 1 | 20 | 2월 9일-99일 |
| 3674906 | 1 | 6 | 1 | 36 | 2월 17-99일 |
앞의 표에서 각 행은 RouteKey, SourceKey 및 TimeKey 열에 대해 동일한 값을 가지 며, 이는 이러한 행이 동일한 큐브 셀에 기여함을 나타냅니다.
여기에 표시된 예제는 큐브에 단일 측정값 그룹이 있고 모든 차원 테이블이 별모양 스키마의 팩트 테이블에 조인된다는 점에서 매우 간단한 큐브를 나타냅니다. 또 다른 일반적인 스키마는 팩트 테이블에 직접 조인하는 대신 하나 이상의 차원 테이블이 다른 차원 테이블에 조인되는 눈송이 스키마입니다. 관련 항목:차원(Analysis Services - 다차원 데이터).
여기에 표시된 예제에는 단일 팩트 테이블만 포함됩니다. 큐브에 여러 팩트 테이블이 있는 경우 각 팩트 테이블의 측정값은 측정값 그룹으로 구성되고 측정값 그룹은 정의된 차원 관계에 따라 특정 차원 집합과 관련이 있습니다. 이러한 관계는 데이터 원본 뷰에 참여하는 테이블과 관계의 세분성을 지정하여 정의됩니다. 관련 항목:차원 관계.