파티션의 스토리지 모드는 파티션과 해당 부모 측정값 그룹 및 큐브의 쿼리 및 처리 성능, 스토리지 요구 사항 및 스토리지 위치에 영향을 줍니다. 스토리지 모드 선택은 처리 선택에도 영향을 줍니다.
파티션은 다음 세 가지 기본 스토리지 모드 중 하나를 사용할 수 있습니다.
MOLAP(다차원 OLAP)
ROLAP(관계형 OLAP)
HOLAP(하이브리드 OLAP)
Microsoft SQL Server Analysis Services는 세 가지 기본 스토리지 모드를 모두 지원합니다. 또한 데이터 및 쿼리 성능의 즉각성을 위해 ROLAP 및 MOLAP 스토리지의 특성을 결합할 수 있는 자동 관리 캐싱도 지원합니다. 자세한 내용은 자동 관리 캐싱(파티션)을 참조하세요.
MOLAP
MOLAP 스토리지 모드를 사용하면 파티션이 처리될 때 파티션의 집계와 원본 데이터의 복사본이 Analysis Services의 다차원 구조에 저장됩니다. 이 MOLAP 구조는 쿼리 성능을 최대화하도록 고도로 최적화되어 있습니다. 스토리지 위치는 파티션이 정의된 컴퓨터 또는 Analysis Services를 실행하는 다른 컴퓨터에 있을 수 있습니다. 원본 데이터의 복사본은 다차원 구조에 있으므로 파티션의 원본 데이터에 액세스하지 않고 쿼리를 확인할 수 있습니다. 집계를 사용하여 쿼리 응답 시간을 크게 줄일 수 있습니다. 파티션의 MOLAP 구조에 있는 데이터는 파티션의 가장 최근 처리만큼 최신 상태일 뿐입니다.
원본 데이터가 변경되면 MOLAP 스토리지의 개체를 주기적으로 처리하여 이러한 변경 내용을 통합하고 사용자가 사용할 수 있도록 해야 합니다. 처리하면 MOLAP 구조의 데이터가 완전히 또는 증분 방식으로 업데이트됩니다. 한 처리와 다음 처리 사이의 시간은 OLAP 개체의 데이터가 원본 데이터와 일치하지 않을 수 있는 대기 시간 기간을 만듭니다. 파티션 또는 큐브를 오프라인으로 전환하지 않고 MOLAP 스토리지에서 개체를 증분 또는 완전히 업데이트할 수 있습니다. 그러나 OLAP 개체에 대한 특정 구조적 변경을 처리하기 위해 큐브를 오프라인으로 전환해야 하는 경우가 있습니다. 스테이징 서버에서 큐브를 업데이트 및 처리하고 데이터베이스 동기화를 사용하여 처리된 개체를 프로덕션 서버에 복사하여 MOLAP 스토리지를 업데이트하는 데 필요한 가동 중지 시간을 최소화할 수 있습니다. 자동 관리 캐싱을 사용하여 대기 시간을 최소화하고 가용성을 최대화하는 동시에 MOLAP 스토리지의 성능 이점을 대부분 유지할 수도 있습니다. 자세한 내용은 자동 관리 캐싱(파티션), Analysis Services 데이터베이스 동기화 및 다차원 모델 개체 처리를 참조하세요.
ROLAP
ROLAP 스토리지 모드를 사용하면 파티션의 데이터 원본에 지정된 관계형 데이터베이스의 인덱싱된 뷰에 파티션의 집계가 저장됩니다. MOLAP 스토리지 모드와 달리 ROLAP는 원본 데이터의 복사본을 Analysis Services 데이터 폴더에 저장하지 않습니다. 대신 쿼리 캐시에서 결과를 파생할 수 없는 경우 데이터 원본의 인덱싱된 뷰에 액세스하여 쿼리에 응답합니다. 쿼리 응답은 일반적으로 MOLAP 또는 HOLAP 스토리지 모드보다 ROLAP 스토리지에서 느립니다. 처리 시간도 일반적으로 ROLAP로 더 느립니다. 그러나 ROLAP를 사용하면 사용자가 실시간으로 데이터를 볼 수 있으며, 순수하게 기록 데이터와 같이 자주 쿼리되지 않는 큰 데이터 세트로 작업할 때 스토리지 공간을 절약할 수 있습니다.
비고
ROLAP를 사용하는 경우 조인이 GROUP BY 절과 결합된 경우 Analysis Services는 알 수 없는 멤버와 관련된 잘못된 정보를 반환할 수 있습니다. Analysis Services는 알 수 없는 멤버 값을 반환하는 대신 관계형 무결성 오류를 제거합니다.
파티션이 ROLAP 스토리지 모드를 사용하고 원본 데이터가 SQL Server 데이터베이스 엔진에 저장되는 경우 Analysis Services는 파티션의 집계를 포함하도록 인덱싱된 뷰를 만들려고 합니다. Analysis Services에서 인덱싱된 뷰를 만들 수 없는 경우 집계 테이블을 만들지 않습니다. Analysis Services는 SQL Server 데이터베이스 엔진에서 인덱싱된 뷰를 만들기 위한 세션 요구 사항을 처리하지만 Analysis Services에서 집계에 대한 인덱싱된 뷰를 만들려면 ROLAP 파티션 및 해당 스키마의 테이블에 의해 다음 조건을 충족해야 합니다.
파티션에는 함수를 사용하거나
Max집계하는 측정값을Min포함할 수 없습니다.ROLAP 파티션의 스키마에 있는 각 테이블은 한 번만 사용해야 합니다. 예를 들어 스키마는 [dbo]를 포함할 수 없습니다. [주소] AS "고객 주소" 및 [dbo]. [주소] AS "SalesRep 주소".
각 테이블은 뷰가 아닌 테이블이어야 합니다.
파티션 스키마의 모든 테이블 이름은 소유자 이름(예: [dbo])으로 한정되어야 합니다. [고객].
파티션 스키마의 모든 테이블에는 동일한 소유자가 있어야 합니다. 예를 들어 테이블 [tk]를 참조하는 FROM 절을 사용할 수 없습니다. [고객], [john]. [store], [dave]. [sales_fact_2004].
파티션 측정값의 원본 열은 null을 허용하지 않아야 합니다.
보기에 사용된 모든 테이블은 다음 옵션을 ON으로 설정하여 만들어야 합니다.
ANSI_NULLS (NULL 처리를 ANSI 표준으로 설정하는 옵션)
따옴표로 묶인 식별자
SQL Server 데이터베이스 엔진에서 인덱스 키의 총 크기는 900바이트를 초과할 수 없습니다. SQL Server 데이터베이스 엔진은 CREATE INDEX 문이 처리될 때 고정 길이 키 열을 기반으로 이 조건을 어설션합니다. 그러나 인덱스 키에 가변 길이 열이 있는 경우 SQL Server 데이터베이스 엔진은 기본 테이블에 대한 모든 업데이트에 대해 이 조건을 어설션합니다. 다른 집계에는 보기 정의가 다르기 때문에 집계 디자인에 따라 인덱싱된 뷰를 사용한 ROLAP 처리가 성공하거나 실패할 수 있습니다.
인덱싱된 뷰를 만드는 세션에는 ARITHABORT, CONCAT_NULL_YEILDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING 및 ANSI_WARNING 설정되는 옵션이 있어야 합니다. 이 설정은 SQL Server Management Studio에서 수행할 수 있습니다.
인덱싱된 뷰를 만드는 세션에는 OFF로 설정된 옵션이 있어야 NUMERIC_ROUNDABORT. 이 설정은 SQL Server Management Studio에서 수행할 수 있습니다.
HOLAP
HOLAP 스토리지 모드는 MOLAP 및 ROLAP의 특성을 결합합니다. MOLAP와 마찬가지로 HOLAP는 파티션의 집계를 SQL Server Analysis Services 인스턴스의 다차원 구조에 저장합니다. HOLAP는 원본 데이터의 복사본을 저장하지 않습니다. 파티션 집계의 요약 데이터에만 액세스하는 쿼리의 경우 HOLAP는 MOLAP와 동일합니다. 예를 들어 집계 데이터가 없는 원자성 큐브 셀로 드릴다운하려는 경우 원본 데이터에 액세스하는 쿼리는 관계형 데이터베이스에서 데이터를 검색해야 하며 원본 데이터가 MOLAP 구조에 저장된 경우만큼 빠르지 않습니다. HOLAP 스토리지 모드에서 사용자는 일반적으로 쿼리를 캐시 또는 집계에서 확인할 수 있는지와 원본 데이터 자체에서 확인할 수 있는지에 따라 쿼리 시간에 상당한 차이가 발생합니다.
HOLAP로 저장된 파티션은 원본 데이터가 포함되지 않고 요약 데이터와 관련된 쿼리에 대해 ROLAP 파티션보다 빠르게 응답하므로 동일한 MOLAP 파티션보다 작습니다. HOLAP 스토리지 모드는 일반적으로 대량의 원본 데이터를 기반으로 하는 요약에 대한 빠른 쿼리 응답이 필요한 큐브의 파티션에 적합합니다. 그러나 사용자가 리프 수준 데이터(예: 중앙값 계산)를 터치해야 하는 쿼리를 생성하는 경우 MOLAP는 일반적으로 더 나은 선택입니다.
또한 참조하십시오
사전 대비 캐싱(파티션)
Analysis Services 데이터베이스 동기화
파티션(Analysis Services - 다차원 데이터)