논리 아키텍처 개요(Analysis Services - 다차원 데이터)

적용 대상: SQL Server Analysis Services Azure Analysis Services 패브릭/Power BI Premium

Analysis Services는 여러 가지 유형의 Analysis Services 모델에 사용되는 메모리 아키텍처 및 런타임 환경을 결정하는 서버 배포 모드에서 작동합니다. 서버 모드는 설치 중에 결정됩니다. 다차원 및 데이터 마이닝 모드 는 기존 OLAP 및 데이터 마이닝을 지원합니다. 테이블 형식 모드 는 테이블 형식 모델을 지원합니다. SharePoint 통합 모드는 통합 문서 내에서 Excel 또는 Power Pivot 데이터 모델을 로드하고 쿼리하는 데 사용되는 SharePoint용 파워 피벗으로 설치된 Analysis Services의 instance 나타냅니다.

이 항목에서는 다차원 및 데이터 마이닝 모드에서 작업할 때의 기본 Analysis Services 아키텍처에 대해 설명합니다. 다른 모드에 대한 자세한 내용은 테이블 형식 모델링테이블 형식 및 다차원 솔루션 비교를 참조하세요.

기본 아키텍처

SQL Server Analysis Services instance 여러 데이터베이스를 포함할 수 있으며 데이터베이스에는 OLAP 개체와 데이터 마이닝 개체가 동시에 있을 수 있습니다. 애플리케이션은 지정된 instance SQL Server Analysis Services 및 지정된 데이터베이스에 연결합니다. 서버 컴퓨터는 여러 SQL Server Analysis Services 인스턴스를 호스트할 수 있습니다. SQL Server Analysis Services 인스턴스의 이름은 "<ServerName>\<InstanceName>"입니다. 다음 그림에서는 SQL Server Analysis Services 개체 간에 언급된 모든 관계를 보여 줍니다.

개체 관계를 실행하는 AMO

기본 클래스는 큐브를 만드는 데 필요한 최소 개체 집합입니다. 이 최소 개체 집합은 차원, 측정값 그룹 및 파티션입니다. 집계는 선택 사항입니다.

차원은 특성과 계층으로 만들어집니다. 계층은 순서가 지정된 특성 집합으로 만들어집니다. 여기서 각 특성은 계층의 수준에 해당합니다.

큐브는 차원과 측정값 그룹으로 만들어집니다. 큐브의 차원 컬렉션에 있는 차원은 데이터베이스의 차원 컬렉션에 속합니다. 측정값 그룹은 동일한 데이터 원본 뷰를 가지며 큐브에서 동일한 차원 하위 집합을 갖는 측정값의 컬렉션입니다. 측정값 그룹에는 실제 데이터를 관리하는 하나 이상의 파티션이 있으며, 기본 집계 디자인이 있을 수도 있습니다. 기본 집계 디자인은 측정 그룹의 모든 파티션에서 사용될 수 있으며, 각 파티션에는 자체 집계 디자인이 있을 수 있습니다.

Server 개체
SQL Server Analysis Services 각 instance AMO에서 다른 서버 개체로 표시됩니다. 서로 다른 각 instance 서로 다른 연결로 Server 개체에 연결됩니다. 각 서버 개체에는 어셈블리 및 보안 역할과 함께 하나 이상의 데이터 원본, 데이터 원본 뷰 및 데이터베이스 개체가 포함되어 있습니다.

차원 개체
각 데이터베이스 개체에는 여러 차원 개체가 포함되어 있고, 각 차원 개체에는 계층으로 구성되는 하나 이상의 특성이 포함되어 있습니다.

큐브 개체
각 데이터베이스 개체에는 하나 이상의 큐브 개체가 포함되어 있습니다. 큐브는 해당 측정값과 차원에 의해 정의됩니다. 큐브의 측정값과 차원은 큐브의 기반이 되고 측정값과 차원 정의에서 생성된 데이터 원본 뷰에 있는 테이블과 뷰에서 파생됩니다.

개체 상속

ASSL 개체 모델에는 많은 반복 요소 그룹이 포함되어 있습니다. 예를 들어 요소 그룹 "차원 에는 계층 구조 포함"이 요소의 차원 계층 구조를 정의합니다. 큐브와MeasureGroup에는 모두 "차원에는 계층 구조가 포함됩니다."라는 요소 그룹이 포함됩니다.

명시적으로 재정의되지 않는 한 요소는 상위 수준에서 이러한 반복 요소 그룹의 정보를 상속합니다. 예를 들어 CubeDimension에 대한 번역은 상위 요소인 CubeTranslations와 동일합니다.

상위 수준 개체에서 상속된 속성을 명시적으로 재정의하려는 경우 개체는 상위 수준 개체의 전체 구조와 속성을 명시적으로 반복하지 않아도 되며, 재정의하려는 속성만 명시적으로 표시하면 됩니다. 예를 들어 CubeDimension큐브에서 사용하지 않도록 설정해야 하거나 표시 유형을 변경해야 하거나 차원 수준에서 일부 수준 세부 정보가 제공되지 않은 계층만 나열할 수 있습니다.

개체에 지정된 일부 속성은 자식 또는 하위 항목 개체의 동일한 속성에 기본값을 제공합니다. 예를 들어 Cube.StorageModePartition.StorageMode의 기본값을 제공합니다. 상속된 기본값의 경우 ASSL은 상속된 기본값에 대한 이러한 규칙을 적용합니다.

  • XML에서 자식 개체의 속성이 null이면 기본적으로 속성의 기본값이 상속된 값으로 설정됩니다. 그러나 서버의 값을 쿼리하는 경우 서버가 XML 요소의 null 값을 반환합니다.

  • 자식 개체의 속성이 자식 개체에 직접 설정되었는지 또는 상속되었는지 여부를 프로그래밍 방식으로 확인할 수는 없습니다.

예제

Packages와 Last라는 두 개의 측정값과 Route, Source, Time이라는 세 개의 관련 차원이 있는 Imports 큐브가 있다고 가정합니다.

큐브 예제 1

큐브 주위의 더 작은 영숫자 값이 차원의 멤버입니다. 예제 멤버는 ground(Route 차원의 멤버), Africa(Source 차원의 멤버) 및 1st quarter(Time 차원의 멤버)입니다.

측정값

큐브 셀 내의 값은 Packages와 Last라는 두 가지 측정값을 나타냅니다. Packages 측정값은 가져온 패키지 수를 나타내며 Sum 함수는 팩트를 집계하는 데 사용됩니다. Last 측정값은 수신 날짜를 나타내며 Max 함수는 팩트를 집계하는 데 사용됩니다.

차원

Route 차원은 수입품이 목적지에 도착하는 방법을 나타냅니다. 이 차원의 멤버에는 ground, nonground, air, sea, road 또는 rail이 있습니다. Source 차원은 수입품이 생산되는 Africa 또는 Asia 등의 지역을 나타냅니다. Time 차원은 단일 연도의 분기와 반기를 나타냅니다.

집계

큐브의 비즈니스 사용자는 차원 내의 멤버 수준에 관계없이 모든 차원의 각 멤버에 대한 측정값의 값을 확인할 수 있습니다. SQL Server Analysis Services 필요에 따라 상위 수준에서 값을 집계하기 때문입니다. 예를 들어 다음 다이어그램에 나와 있는 것처럼 시간 차원의 달력 시간 계층 구조를 사용하여 앞 그림의 측정값을 표준 달력 계층 구조에 따라 집계할 수 있습니다.

시간 차원을 따라 구성된 측정값

단일 차원을 사용하여 측정값을 집계하는 것 외에도 다른 차원의 멤버를 조합하여 측정값을 집계할 수 있습니다. 이렇게 하면 비즈니스 사용자가 동시에 여러 차원에서 측정값을 평가할 수 있습니다. 예를 들어 비즈니스 사용자가 Eastern Hemisphere와 Western Hemisphere에서 항공편으로 도착한 분기별 수입품을 분석하려는 경우 큐브에 대해 쿼리를 실행하여 다음과 같은 데이터 세트을 검색할 수 있습니다.

패키지 | 시간 프레임 | 모든 원본 | 동반구 | 서반구 | | ---------- | ----------- | ------------------ | ------------------ |
|모든 시간|25110|6547|18563|
|1번째 절반|11173|2977|8196|
|1분기|5108|1452|3656|
|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일|

마지막 | 시간 프레임 | 모든 원본 | 동반구 | 서반구 | | ---------- | ----------- | ------------------ | ------------------ | |All Time|12월 29-99일|12월 22-99일|12월 29-99일|
|1번째 절반|6월 28-99일|6월 20-99일|6월 28-99일|
|1분기|3월 30-99일|3월 19-99일|3월 30-99일|
|2분기|6월 28-99일|6월 20-99일|6월 28-99일|
|2번째 절반|12월 29-99일|12월 22-99일|12월 29-99일|
|3분기|9월 30-99일|9월 18-99일|9월 30-99일|
|4분기|12월 29-99일|12월 22-99일|12월 29-99일|

큐브를 정의한 다음에는 새 집계를 만들거나, 집계를 처리하는 동안 미리 계산할 것인지 또는 쿼리 시 계산할 것인지와 같은 옵션을 설정하기 위해 기존 집계를 변경할 수 있습니다. 관련 항목:집계 및 집계 디자인.

측정값, 특성 및 계층 매핑

이 예제 큐브의 측정값, 특성 및 계층은 큐브의 팩트 및 차원 테이블의 다음 열에서 파생됩니다.

측정값 또는 특성(수준) 멤버 원본 테이블 원본 열 열 값의 예
Packages 측정값 해당 없음 ImportsFactTable 패키지 12
Last 측정값 해당 없음 ImportsFactTable 마지막 May-03-99
Route 차원의 Route Category 수준 nonground,ground RouteDimensionTable Route_Category Nonground
Route 차원의 Route 특성 air,sea,road,rail RouteDimensionTable 경로 Sea
Source 차원의 Hemisphere 특성 Eastern Hemisphere,Western Hemisphere SourceDimensionTable Hemisphere Eastern Hemisphere
Source 차원의 Continent 특성 Africa,Asia,AustraliaEurope,N. America,S. America SourceDimensionTable Continent 유럽
Time 차원의 Half 특성 1st half,2nd half TimeDimensionTable Half 2nd half
Time 차원의 Quarter 특성 1st quarter,2nd quarter,3rd quarter,4th quarter TimeDimensionTable Quarter 3rd quarter

단일 큐브 셀의 데이터는 일반적으로 팩트 테이블의 여러 행에서 파생됩니다. 예를 들어 에어 멤버, 아프리카 멤버 및 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 Jan-27-99
3600974 1 6 1 45 Feb-02-99
3645541 1 6 1 20 Feb-09-99
3674906 1 6 1 36 Feb-17-99

앞의 표에서 각 행은 RouteKey, SourceKeyTimeKey 열에 대해 동일한 값을 가지 며, 이는 이러한 행이 동일한 큐브 셀에 기여함을 나타냅니다.

여기에 제시된 예는 큐브에 단일 측정값 그룹이 있으며 모든 차원 테이블이 별모양 스키마로 팩트 테이블에 조인된다는 점에서 매우 단순한 큐브를 나타냅니다. 팩트 테이블에 직접 조인되는 것이 아니라 또 다른 차원 테이블에 하나 이상의 차원 테이블이 조인되는 눈송이 스키마도 많이 사용됩니다. 관련 항목:차원(Analysis Services - 다차원 데이터).

여기에 제시된 예에는 단일 팩트 테이블만 있습니다. 큐브에 팩트 테이블이 여러 개 있는 경우 각 팩트 테이블의 측정값은 측정값 그룹으로 구성되고 측정값 그룹은 정의된 차원 관계에 따라 특정 차원 집합에 연결됩니다. 이러한 관계는 참여하는 테이블을 데이터 원본 뷰에 지정하고 관계의 세분성을 지정하여 정의됩니다. 관련 항목:차원 관계.

참고 항목

다차원 모델 데이터베이스