집계 스토리지 큐브의 아웃라인 페이징

ASO(집계 저장 영역) 큐브 아웃라인은 페이지화가 가능하므로 매우 큰 큐브에 대한 메모리 사용량이 크게 줄어듭니다. Essbase는 아웃라인의 일부를 메모리로 미리 로드합니다. 데이터 검색 중 Essbase는 필요에 따라 아웃라인의 다른 부분을 메모리에 페이지화합니다.

집계 저장 영역 큐브를 생성하면 페이지 지정 가능한 형식으로 아웃라인이 생성됩니다.

아웃라인을 메모리에 페이징하면 Essbase가 매우 큰 아웃라인(예: 1천만 개 이상의 멤버)을 처리할 수 있지만 잠재적으로 데이터 검색 시간이 늘어납니다.

주:

페이징 가능한 아웃라인이 있는 집계 저장 영역 큐브에는 메모리 페이지가 포함되어 있으므로 해당 아웃라인 파일이 이진 블록 저장 영역 아웃라인 파일보다 클 수 있습니다.

아웃라인 페이징 제한

빌드 가능한 아웃라인의 최대 크기(멤버 수)는 다음과 같은 여러 요소에 따라 달라집니다.

  • Essbase에 사용할 수 있는 메모리입니다.

  • 다른 용도로 할당된 Essbase의 메모리 양

  • 각 멤버에 필요한 메모리 양(및 각 멤버에 대한 별칭)

Essbase는 시작 시 약 40MB의 메모리를 사용합니다. 또한 다양한 캐시에는 다음과 같은 메모리 할당이 필요합니다.

  • 아웃라인 페이징 캐시: 8MB

  • 집계 저장 영역 데이터 캐시: 32MB

  • 집계 저장 영역 집계 캐시: 10MB

따라서 Essbase의 초기 메모리 공간은 약 90MB입니다. 또한 들어오는 query 요청을 처리하려면 메모리를 할당해야 합니다. 이 목적을 위해 예약할 일반적인 메모리는 약 300MB입니다. 따라서 Essbase에 할당된 총 메모리는 390MB입니다.

1.85GB의 주소 지정 가능한 메모리가 있는 Windows 시스템에서는 아웃라인을 빌드하고 로드하는 데 사용할 수 있는 용량이 약 1.46GB(1.85GB - 390MB = 1.46GB)입니다.

최대 아웃라인 크기는 차원 빌드를 사용하여 빌드되는지 아니면 이미 Essbase에 로드된 아웃라인에서 빌드되는지에 따라 달라집니다.

차원 빌드 개요 페이징 제한

차원 빌드를 사용하여 아웃라인을 빌드하기 위해 Essbase는 멤버당 약 100바이트, 멤버 이름 크기, 멤버의 모든 별칭 이름 크기(최대 10개의 별칭 허용)를 할당합니다.

평균 멤버 이름이 15자이고 멤버당 하나의 별칭(20자)이 있는 샘플 아웃라인(단일 바이트 코드 페이지 사용)의 경우 추가된 각 멤버에 대한 메모리 요구 사항은 다음과 같습니다.

100 + 15 + 20바이트 = 135바이트

차원 빌드에 추가할 수 있는 총 멤버 수는 사용 가능한 메모리(1.46GB 또는 153,092,060바이트)를 멤버당 바이트 수(135), 약 1,100만 멤버로 나눈 것입니다.

주소 지정 가능한 메모리가 2GB를 초과하는 시스템에서는 사용 가능한 추가 메모리에 비례하여 아웃라인이 더 커질 수 있습니다.

차원 빌드가 완료되면 dbname.otn 파일이 큐브 디렉토리에 저장됩니다. .otn 파일은 아웃라인 재구성 프로세스에 대한 입력으로 사용되며, 이전 아웃라인을 새 아웃라인으로 바꿉니다. 재구성하는 동안 Outline의 두 복사본이 메모리, 이전 복사본(잠재적으로 비어 있음) 및 새 복사본에 로드되므로 재구성할 수 있는 Outline의 최대 크기는 이전 Outline의 크기에 따라 달라집니다.

빈 아웃라인으로 시작하는 차원 빌드에서 하나의 아웃라인만 메모리에 로드됩니다.

로드된 아웃라인 페이징 제한

런타임 시 또는 재구성 중에 Essbase로 로드된 아웃라인에 대한 메모리 요구 사항은 차원 빌드에 대한 메모리 요구 사항과 다릅니다. Essbase는 멤버당 약 60바이트, 멤버 이름 및 5바이트의 크기, 멤버의 모든 별칭 이름 크기(최대 10개의 별칭 허용) 및 5바이트를 할당합니다. 평균 멤버 이름이 15자이고 멤버당 하나의 별칭(20자)이 있는 샘플 아웃라인의 경우 추가된 각 멤버에 대한 메모리 요구 사항은 다음과 같습니다.

60 + 15 + 5 + 20 + 5바이트 = 멤버당 105바이트

사용 가능한 메모리가 1.46GB인 경우 로드할 수 있는 아웃라인의 최대 크기는 1400만 멤버(1.46GB/105바이트)가 있는 아웃라인입니다.

1,400만 멤버는 재구성 중에 로드된 두 개의 Outline의 합계입니다. 예를 들어, 기존 아웃라인에 5백만 명의 멤버가 있는 경우 새 아웃라인에는 최대 9백만 명의 멤버가 있을 수 있습니다. 증분 차원 빌드에서는 최대 아웃라인 크기를 허용하기 위해 더 작은 차원을 먼저 빌드하고 더 큰 차원을 마지막으로 빌드하는 것이 좋습니다.