Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

큐브 계산을 위한 전략은 무엇입니까?

<시간/>

다음과 같은 데이터 큐브의 효율적인 계산을 위한 다음과 같은 일반적인 최적화 기술이 있습니다.

  • 정렬, 해싱 및 그룹화 − 관련 튜플을 재정렬하고 클러스터링하기 위해 차원 속성에 정렬, 해싱 및 그룹화 작업을 사용해야 합니다. 큐브 계산에서 집계는 유사한 차원 값 집합을 공유하는 튜플(또는 셀)에서 구현됩니다. 따라서 이러한 집계의 계산을 촉진하기 위해 이러한 데이터에 액세스하고 그룹화하기 위해 정렬, 해싱 및 그룹화 서비스를 탐색하는 것이 필수적입니다.

    예를 들어, 분기별, 요일별, 품목별로 총 매출을 평가할 수 있으며, 튜플이나 셀을 분기별로, 따라서 일별로 정렬한 다음 품목명에 따라 그룹화하는 것이 더 효과적입니다. 방대한 데이터 세트에서 이러한 작업의 효과적인 구현은 데이터베이스 연구 커뮤니티에서 광범위하게 계산되었습니다. 이러한 구현은 데이터 큐브 계산으로 계산할 수 있습니다.

  • 동시 집계 및 중간 결과 캐싱 − 큐브 계산에서는 기본 팩트 테이블이 아닌 이전에 계산된 하위 수준 집계에서 상위 수준 집계를 계산하는 것이 적절합니다. 또한 캐시된 중간 계산 결과에서 동시 집계를 통해 비용이 많이 드는 디스크 I/O 작업을 줄일 수 있습니다.

    예를 들어, 지점별 매출을 계산하거나 지점별, 일별 매출을 포함하여 하위 직육면체 계산에서 변경된 중간 결과를 사용할 수 있습니다. 이 방법은 분할 상환 스캔을 구현하도록 확장될 수 있습니다(즉, 디스크 읽기를 분할 상환하기 위해 가능한 한 많은 정육면체를 동시에 계산).

  • 자식 직육면체가 여러 개 있는 경우 가장 작은 자부터 집계 − 자식 직육면체가 여러 개 있는 경우 이전에 계산된 가장 작은 자식 직육면체에서 원하는 부모(즉, 보다 일반화된) 직육면체를 평가하는 것이 일반적으로 더 효과적입니다.

    예를 들어 판매 직육면체 CBranch를 계산할 수 있습니다. , 이전에 계산된 두 개의 직육면체가 있는 경우 C{Branch, Year} 및 C{분기, 항목} , CBranch를 계산하는 것이 더 효율적입니다. 별개의 연도보다 더 많은 별개의 항목이 있는 경우 후자보다 전자에서.

  • Apriori 가지치기 방법을 탐색하여 빙산 큐브를 효율적으로 계산할 수 있음 − 데이터 큐브의 컨텍스트에서 Apriori 속성은 다음과 같이 설명합니다. 주어진 셀이 최소 지원을 충족하지 않으면 셀의 하위 항목(즉, 더 기능적이거나 정확한 버전)도 최소 지원을 충족하지 않습니다. 이 속성은 빙산 큐브 계산을 상당히 줄이는 데 사용할 수 있습니다.

    빙산 큐브의 사양에는 빙산 조건이 포함되며, 이는 구체화할 셀에 대한 제약 조건입니다. 일반적인 빙산 조건은 세포가 최소 개수 또는 합계를 포함하여 최소 지원 임계값을 충족해야 한다는 것입니다. 이 경우 Apriori 속성을 사용하여 셀의 자손 탐색을 단축할 수 있습니다.