다음을 통해 공유


파티션(Analysis Services - 다차원 데이터)

파티션은 측정값 그룹 데이터의 일부에 대한 컨테이너입니다. 파티션은 MDX 쿼리에서 표시되지 않습니다. 모든 쿼리는 측정값 그룹에 대해 정의된 파티션 수에 관계없이 측정값 그룹의 전체 콘텐츠를 반영합니다. 파티션의 데이터 콘텐츠는 파티션의 쿼리 바인딩 및 조각화 식에 의해 정의됩니다.

간단한 Partition 개체는 기본 정보, 조각화 정의, 집계 디자인 등으로 구성됩니다. 기본 정보에는 파티션 이름, 스토리지 모드, 처리 모드 등이 포함됩니다. 조각화 정의는 튜플 또는 집합을 지정하는 MDX 식입니다. 조각화 정의에는 StrToSet MDX 함수와 동일한 제한이 있습니다. 조각화 정의는 CONSTRAINED 매개 변수와 함께 차원, 계층 구조, 수준 및 멤버 이름, 키, 고유 이름 또는 큐브의 다른 명명된 개체를 사용할 수 있지만 MDX 함수를 사용할 수는 없습니다. 집계 디자인은 여러 파티션에서 공유할 수 있는 집계 정의의 컬렉션입니다. 기본값은 부모 큐브의 집계 디자인에서 가져옵니다.

파티션은 Microsoft SQL Server Analysis Services에서 큐브의 측정값 그룹에 대한 데이터 및 집계를 관리하고 저장하는 데 사용됩니다. 모든 측정값 그룹에는 하나 이상의 파티션이 있습니다. 이 파티션은 측정값 그룹이 정의되면 만들어집니다. 측정값 그룹에 대한 새 파티션을 만들면 측정값 그룹에 이미 존재하는 파티션 집합에 새 파티션이 추가됩니다. 측정값 그룹은 모든 파티션에 포함된 결합된 데이터를 반영합니다. 즉, 측정값 그룹의 파티션에 대한 데이터가 측정값 그룹에 두 번 이상 반영되지 않도록 측정값 그룹의 다른 파티션에 대한 데이터를 제외해야 합니다. 측정값 그룹의 원래 파티션은 큐브의 데이터 원본 뷰에 있는 단일 팩트 테이블을 기반으로 합니다. 측정값 그룹에 대한 파티션이 여러 개 있는 경우 각 파티션은 데이터 원본 뷰 또는 큐브의 기본 관계형 데이터 원본에서 다른 테이블을 참조할 수 있습니다. 각 파티션이 테이블의 다른 행으로 제한되는 경우 측정값 그룹의 두 개 이상의 파티션이 동일한 테이블을 참조할 수 있습니다.

파티션은 큐브, 특히 큰 큐브를 관리하는 강력하고 유연한 수단입니다. 예를 들어 판매 정보가 포함된 큐브에는 지난 해의 데이터에 대한 파티션과 현재 연도의 각 분기에 대한 파티션도 포함될 수 있습니다. 현재 정보가 큐브에 추가될 때 현재 분기 파티션만 처리해야 합니다. 더 적은 양의 데이터를 처리하면 처리 시간이 줄어 처리 성능이 향상됩니다. 연말에 4개의 분기별 파티션을 연도의 단일 파티션과 새해 1분기용으로 만든 새 파티션으로 병합할 수 있습니다. 또한 이 새로운 파티션 생성 프로세스는 데이터 웨어하우스 로드 및 큐브 처리 절차의 일부로 자동화할 수 있습니다.

파티션은 큐브의 비즈니스 사용자에게 표시되지 않습니다. 그러나 관리자는 파티션을 구성, 추가 또는 삭제할 수 있습니다. 각 파티션은 별도의 파일 집합에 저장됩니다. 각 파티션의 집계 데이터는 파티션이 정의된 Analysis Services 인스턴스, Analysis Services의 다른 인스턴스 또는 파티션의 원본 데이터를 제공하는 데 사용되는 데이터 원본에 저장할 수 있습니다. 파티션을 사용하면 큐브의 원본 데이터와 집계 데이터를 여러 하드 드라이브와 여러 서버 컴퓨터 간에 분산할 수 있습니다. 보통에서 큰 크기의 큐브의 경우 파티션은 쿼리 성능, 로드 성능 및 큐브 유지 관리의 용이성을 크게 향상시킬 수 있습니다. 원격 파티션에 대한 자세한 내용은 원격 파티션을 참조하세요.

각 파티션의 스토리지 모드는 측정값 그룹의 다른 파티션과 독립적으로 구성할 수 있습니다. 파티션은 원본 데이터 위치, 스토리지 모드, 사전 관리 캐싱 및 집계 디자인에 대한 옵션 조합을 사용하여 저장할 수 있습니다. 실시간 OLAP 및 자동 관리 캐싱 옵션을 사용하면 파티션을 디자인할 때 쿼리 속도와 대기 시간의 균형을 맞출 수 있습니다. 스토리지 옵션은 관련 차원 및 측정값 그룹의 팩트에도 적용할 수 있습니다. 이러한 유연성을 통해 요구 사항에 적합한 큐브 스토리지 전략을 설계할 수 있습니다. 자세한 내용은 파티션 스토리지 모드 및 처리, 집계 및 집계 디자인 및자동 관리 캐싱(파티션)을 참조하세요.

파티션 구조

파티션의 구조는 해당 측정값 그룹의 구조와 일치해야 합니다. 즉, 측정값 그룹을 정의하는 측정값도 파티션에 모든 관련 차원과 함께 정의되어야 합니다. 따라서 파티션이 만들어지면 측정값 그룹에 대해 정의된 것과 동일한 측정값 및 관련 차원 집합을 자동으로 상속합니다.

그러나 측정값 그룹의 각 파티션에는 다른 팩트 테이블이 있을 수 있으며 이러한 팩트 테이블은 서로 다른 데이터 원본에서 생성될 수 있습니다. 측정값 그룹의 여러 파티션에 팩트 테이블이 서로 다른 경우 테이블은 측정값 그룹의 구조를 유지하기에 충분히 유사해야 합니다. 즉, 처리 쿼리는 모든 파티션의 모든 팩트 테이블에 대해 동일한 열과 동일한 데이터 형식을 반환합니다.

다른 파티션에 대한 팩트 테이블이 서로 다른 데이터 원본에서 온 경우 모든 관련 차원의 원본 테이블과 중간 팩트 테이블도 모든 데이터 원본에 있어야 하며 모든 데이터베이스에 동일한 구조가 있어야 합니다. 또한 측정값 그룹과 관련된 큐브 차원의 특성을 정의하는 데 사용되는 모든 차원 테이블 열이 모든 데이터 원본에 있어야 합니다. 파티션 원본 테이블에 측정값 그룹의 원본 테이블과 동일한 구조가 있는 경우 파티션의 원본 테이블과 관련 차원 테이블 간의 모든 조인을 정의할 필요가 없습니다.

측정값 그룹에서 측정값을 정의하는 데 사용되지 않는 열은 일부 팩트 테이블에 있을 수 있지만 다른 팩트 테이블에는 없을 수 있습니다. 마찬가지로 관련 차원 테이블의 특성을 정의하는 데 사용되지 않는 열은 일부 데이터베이스에 있을 수 있지만 다른 데이터베이스에는 없을 수 있습니다. 팩트 테이블 또는 관련 차원 테이블에 사용되지 않는 테이블은 일부 데이터베이스에 있을 수 있지만 다른 데이터베이스에는 없을 수 있습니다.

데이터 원본 및 파티션 스토리지

파티션은 데이터 원본의 테이블 또는 뷰 또는 데이터 원본 뷰의 테이블 또는 명명된 쿼리를 기반으로 합니다. 파티션 데이터가 저장되는 위치는 데이터 원본 바인딩에 의해 정의됩니다. 일반적으로 측정값 그룹을 가로 또는 세로로 분할할 수 있습니다.

  • 가로 분할 측정값 그룹에서 측정값 그룹의 각 파티션은 별도의 테이블을 기반으로 합니다. 이러한 종류의 분할은 데이터를 여러 테이블로 구분할 때 적합합니다. 예를 들어 일부 관계형 데이터베이스에는 매월 데이터에 대한 별도의 테이블이 있습니다.

  • 세로로 분할된 측정값 그룹에서 측정값 그룹은 단일 테이블을 기반으로 하며 각 파티션은 파티션에 대한 데이터를 필터링하는 원본 시스템 쿼리를 기반으로 합니다. 예를 들어 단일 테이블에 몇 달 데이터가 포함된 경우 각 파티션에 대해 별도의 월 데이터를 반환하는 Transact-SQL WHERE 절을 적용하여 측정값 그룹을 월별로 분할할 수 있습니다.

각 파티션에는 파티션의 데이터 및 집계가 Analysis Services의 로컬 인스턴스에 저장되는지 아니면 Analysis Services의 다른 인스턴스를 사용하여 원격 파티션에 저장되는지 여부를 결정하는 스토리지 설정이 있습니다. 스토리지 설정은 스토리지 모드 및 자동 관리 캐싱을 사용하여 파티션의 대기 시간을 제어할지 여부를 지정할 수도 있습니다. 자세한 내용은 파티션 스토리지 모드 및 처리, 자동 관리 캐싱(파티션)원격 파티션을 참조하세요.

증분 업데이트

다중 파티션 측정값 그룹에서 파티션을 만들고 관리하는 경우 큐브 데이터가 정확한지 보장하기 위해 특별한 예방 조치를 취해야 합니다. 이러한 주의 사항은 일반적으로 단일 파티션 측정값 그룹에 적용되지 않지만 파티션을 증분 방식으로 업데이트할 때 적용됩니다. 파티션을 증분 방식으로 업데이트하면 원본 파티션과 동일한 구조를 가진 새 임시 파티션이 만들어집니다. 임시 파티션이 처리된 후 원본 파티션과 병합됩니다. 따라서 임시 파티션을 채우는 처리 쿼리가 기존 파티션에 이미 있는 데이터를 복제하지 않도록 해야 합니다.

또한 참조하십시오

측정값 속성 구성
다차원 모델의 큐브