처리 성능을 향상시키기 위해 측정값 그룹에 대한 추가 파티션을 만들 수 있습니다. 파티션이 여러 개 있으면 로컬 및 원격 서버의 해당 수의 실제 데이터 파일에 팩트 데이터를 할당할 수 있습니다. Analysis Services에서 파티션은 독립적으로 병렬로 처리될 수 있으므로 서버에서 워크로드를 더 효율적으로 처리할 수 있습니다.
모델 디자인 중에 또는 SQL Server Management Studio 또는 XMLA를 사용하여 솔루션을 배포한 후 SQL Server Data Tools에서 파티션을 만들 수 있습니다. 한 가지 방법만 선택하는 것이 좋습니다. 도구를 번갈아 사용하는 경우 SQL Server Data Tools에서 솔루션을 다시 배포할 때 SQL Server Management Studio에서 배포된 데이터베이스에 대한 변경 내용을 덮어쓸 수 있습니다.
시작하기 전에
비즈니스 인텔리전스 버전 또는 엔터프라이즈 버전이 있는지 확인합니다. Standard Edition은 여러 파티션을 지원하지 않습니다. 버전을 확인하려면 SQL Server Management Studio에서 서버 노드를 마우스 오른쪽 단추로 클릭하고 보고서 | 일반을 선택합니다. 기능 가용성에 대한 자세한 내용은 SQL Server 2014 버전에서 지원하는 기능을 참조하세요.
처음부터 파티션을 나중에 병합하려면 파티션이 동일한 집계 디자인을 공유해야 한다는 것을 이해하는 것이 중요합니다. 파티션은 동일한 집계 디자인 및 스토리지 모드가 있는 경우에만 병합할 수 있습니다.
팁 (조언)
분할하는 데이터의 범위와 깊이를 이해하려면 DSV(데이터 원본 뷰)의 데이터를 탐색합니다. 예를 들어 날짜별로 분할하는 경우 날짜 열을 정렬하여 각 파티션의 상한과 하한을 결정할 수 있습니다.
방법 선택
파티션을 만들 때 가장 중요한 고려 사항은 중복 행이 없도록 데이터를 분할하는 것입니다. 행을 두 번 계산하지 않도록 데이터를 하나의 파티션과 하나의 파티션에만 저장해야 합니다. 따라서 각 파티션 간에 명확한 경계를 정의할 수 있도록 DATE별로 분할하는 것이 일반적입니다.
두 방법 중 하나를 사용하여 팩트 데이터를 여러 파티션에 분산할 수 있습니다. 다음 기술을 사용하여 데이터를 분할할 수 있습니다.
| 기법 | 권장 사항 |
|---|---|
| SQL 쿼리를 사용하여 팩트 데이터 분할 | 파티션은 SQL 쿼리에서 원본으로 사용할 수 있습니다. 처리하는 동안 SQL 쿼리는 데이터를 검색하는 것입니다. 쿼리의 WHERE 절은 각 파티션에 대한 데이터를 분할하는 필터를 제공합니다. Analysis Services는 쿼리를 생성하지만 데이터를 올바르게 분할하려면 WHERE 절을 입력해야 합니다. 이 방법의 주요 이점은 단일 원본 테이블에서 데이터를 분할할 수 있는 용이성입니다. 모든 원본 데이터가 큰 팩트 테이블에서 시작되는 경우 DSV(데이터 원본 뷰)에서 추가 데이터 구조를 만들지 않고도 해당 데이터를 불연속 파티션으로 필터링하는 쿼리를 작성할 수 있습니다. 한 가지 단점은 쿼리를 사용하면 파티션과 DSV 간의 바인딩이 중단된다는 것입니다. 나중에 팩트 테이블에 열을 추가하는 등 Analysis Services 프로젝트에서 DSV를 업데이트하는 경우 새 열을 포함하도록 각 파티션에 대한 쿼리를 수동으로 편집해야 합니다. 다음에 설명된 두 번째 방법은 이러한 단점이 없습니다. |
| DSV의 테이블을 사용하여 팩트 데이터 분할 | DSV에서 테이블, 명명된 쿼리 또는 뷰에 파티션을 바인딩할 수 있습니다. 파티션의 기초로, 세 가지 모두 기능적으로 동일합니다. 전체 테이블, 명명된 쿼리 또는 뷰는 모든 데이터를 단일 파티션에 제공합니다. 테이블, 뷰 또는 명명된 쿼리를 사용하면 모든 데이터 선택 논리가 DSV에 배치되어 시간이 지남에 따라 관리 및 유지 관리가 더 쉬워질 수 있습니다. 이 방법의 중요한 이점은 테이블 바인딩이 유지된다는 것입니다. 나중에 원본 테이블을 업데이트하는 경우 원본 테이블을 사용하는 파티션을 수정할 필요가 없습니다. 둘째, 명명된 쿼리 및 뷰라는 모든 테이블이 공통 작업 공간에 있으므로 파티션 쿼리를 개별적으로 열고 편집하는 것보다 업데이트가 더 편리합니다. |
옵션 1: 여러 파티션에 대한 팩트 테이블 필터링
여러 파티션을 만들려면 먼저 기본 파티션의 Source 속성을 수정합니다. 기본적으로 측정값 그룹은 DSV의 단일 테이블에 바인딩된 단일 파티션을 사용하여 만들어집니다. 파티션을 더 추가하려면 먼저 팩트 데이터의 일부만 포함하도록 원래 파티션을 수정해야 합니다. 그런 다음 나머지 데이터를 저장하기 위한 추가 파티션을 만들 수 있습니다.
데이터가 파티션 간에 중복되지 않도록 필터를 생성합니다. 파티션의 필터는 파티션에서 사용되는 팩트 테이블의 데이터를 지정합니다. 큐브의 모든 파티션에 대한 필터는 팩트 테이블에서 상호 배타적인 데이터 세트를 추출하는 것이 중요합니다. 동일한 팩트 데이터는 여러 파티션에 표시되는 경우 두 번 계산될 수 있습니다.
SQL Server 데이터 도구의 솔루션 탐색기에서 큐브를 두 번 클릭하여 큐브 디자이너에서 연 다음 파티션 탭을 클릭합니다.
파티션을 추가하는 측정값 그룹을 확장합니다. 기본적으로 각 측정값 그룹에는 DSV의 팩트 테이블에 바인딩된 하나의 파티션이 있습니다.
원본 열에서 찾아보기(. .) 단추를 클릭하여 파티션 원본 대화 상자를 엽니다.
바인딩 형식에서 쿼리 바인딩을 선택합니다. 데이터를 선택하는 SQL 쿼리가 자동으로 나타납니다.
아래쪽의 WHERE 절에서 이 파티션에 대한 데이터를 분할하는 필터를 추가합니다.
WHERE 절 구문의 예는
WHERE OrderDateKey >= '20060101'또는WHERE OrderDateKey BETWEEN '20051001' AND '20051201'입니다. 다른 예제는 WHERE(Transact-SQL)를 참조하세요.다음 필터는 각 집합 내에서 상호 배타적입니다.
설정 1: "판매연도" = 2012
"판매연도" = 2013설정 2: "대륙" = 'NorthAmerica'
"대륙" = '유럽'
"대륙" = 'SouthAmerica'설정 3: "Country" = 'USA'
"국가" = 'Mexico'
("국가" <> 'USA' 및 "Country" <> 'Mexico')확인을 클릭하여 구문 오류를 확인한 다음 확인을 클릭합니다.
이전 단계를 반복하여 나머지 파티션을 만들고 매번 WHERE 절을 수정하여 다음 데이터 조각을 선택합니다.
솔루션을 배포하거나 파티션을 처리하여 데이터를 로드합니다. 모든 파티션을 처리해야 합니다.
큐브를 찾아 올바른 데이터가 반환되는지 확인합니다.
여러 측정값 그룹을 사용하는 측정값 그룹이 있으면 SQL Server Management Studio에서 추가 파티션을 만들 수 있습니다. 측정값 그룹에서 파티션 폴더를 마우스 오른쪽 단추로 클릭하고 새 파티션을 선택하여 마법사를 시작합니다.
비고
파티션에서 데이터를 필터링하는 대신 동일한 쿼리를 사용하여 DSV에서 이름 쿼리를 만든 다음 명명된 쿼리에 파티션을 기반으로 할 수 있습니다.
옵션 2: 테이블, 뷰 또는 명명된 쿼리 사용
DSV가 이미 팩트를 개별 테이블(예: 연도 또는 분기)으로 구성하는 경우 각 파티션에 고유한 데이터 원본 테이블이 있는 개별 테이블을 기반으로 파티션을 만들 수 있습니다. 이는 기본적으로 측정값 그룹이 분할되는 방법이지만 여러 파티션의 경우 원래 파티션을 여러 파티션으로 분할하고 각 새 파티션을 데이터 제공 데이터 원본 테이블에 매핑합니다.
뷰 및 명명된 쿼리는 세 개체가 모두 DSV에 정의되고 파티션 원본 대화 상자의 테이블 바인딩 옵션을 사용하여 파티션에 바인딩된다는 측면에서 테이블과 동일합니다. 뷰 또는 명명된 쿼리를 만들어 각 파티션에 필요한 데이터 세그먼트를 생성할 수 있습니다. 자세한 내용은 데이터 원본 뷰에서 명명된 쿼리 정의(Analysis Services)를 참조하세요.
중요합니다
DSV에서 파티션에 대한 상호 배타적인 명명된 쿼리를 만들 때 파티션의 결합된 데이터에 큐브에 포함하려는 측정값 그룹의 모든 데이터가 포함되는지 확인합니다. 쿼리가 전체 테이블에 기반할 경우 쿼리 기반 파티션과 겹치는 문제가 발생하므로, 측정값 그룹의 기본 파티션을 전체 테이블에 기반하여 남겨두지 않도록 주의해야 합니다.
파티션 원본으로 사용할 하나 이상의 명명된 쿼리를 만듭니다. 자세한 내용은 데이터 원본 뷰에서 명명된 쿼리 정의(Analysis Services)를 참조하세요.
명명된 쿼리는 측정값 그룹과 연결된 팩트 테이블을 기반으로 해야 합니다. 예를 들어 FactInternetSales 측정값 그룹을 분할하는 경우 DSV의 명명된 쿼리는 FROM 문에서 FactInternetSales 테이블을 지정해야 합니다.
SQL Server 데이터 도구의 솔루션 탐색기에서 큐브를 두 번 클릭하여 큐브 디자이너에서 연 다음 파티션 탭을 클릭합니다.
파티션을 추가할 해당 측정값 그룹을 확장합니다.
새 파티션을 클릭하여 파티션 마법사를 시작합니다. 측정값 그룹에 바인딩된 팩트 테이블을 사용하여 명명된 쿼리를 만든 경우 이전 단계에서 만든 명명된 각 쿼리가 표시됩니다.
원본 정보 지정에서 이전 단계에서 만든 명명된 쿼리 중 하나를 선택합니다. 명명된 쿼리가 표시되지 않으면 DSV로 돌아가 FROM 문을 확인합니다.
다음을 클릭하여 각 후속 페이지의 기본값을 적용합니다.
마법사를 완료하는 마지막 페이지에서 파티션에 설명이 포함된 이름을 지정합니다.
완료를 클릭합니다.
이전 단계를 반복하여 나머지 파티션을 만들고 매번 다른 명명된 쿼리를 선택하여 다음 데이터 조각을 선택합니다.
솔루션을 배포하거나 파티션을 처리하여 데이터를 로드합니다. 모든 파티션을 처리해야 합니다.
큐브를 찾아 올바른 데이터가 반환되는지 확인합니다.
다음 단계
파티션에 대한 상호 배타적 쿼리를 만들 때 결합된 파티션 데이터에 큐브에 포함하려는 모든 데이터가 포함되어 있는지 확인합니다.
마지막 단계로 일반적으로 테이블 자체를 기반으로 하는 기본 파티션을 제거하려고 합니다(여전히 있는 경우). 그렇지 않으면 쿼리 기반 파티션이 전체 테이블에 따라 쿼리와 겹칩니다.
또한 참조하십시오
파티션(Analysis Services - 다차원 데이터)원격 파티션Analysis Services에서의 파티션 병합(SSAS - 다차원)