Paginação do Outline em Cubos de Armazenamento Agregados

Os contornos de cubo de armazenamento agregado (ASO) são pageable, reduzindo significativamente o uso de memória para cubos muito grandes. O Essbase pré-carrega parte do outline na memória. Durante a recuperação de dados, o Essbase coloca outras partes do outline na memória, conforme necessário.

Quando você cria um cubo de armazenamento agregado, o outline é criado em um formato de pageable.

O envio de um outline para a memória permite que o Essbase trate outlines muito grandes (por exemplo, 10 milhões ou mais membros), mas potencialmente aumenta o tempo de recuperação de dados.

Observação:

Cubos de armazenamento agregados que têm contornos de pageable contêm páginas de memória e, portanto, seus arquivos de outline podem ser maiores que os arquivos de outline de armazenamento em blocos binários.

Limites de Paginação de Estrutura

O tamanho máximo de um esboço construível (o número de membros) depende de vários fatores:

  • A memória disponível para o Essbase

  • A quantidade de memória no Essbase alocada para outros usos

  • A quantidade de memória necessária para cada membro (e aliases para cada membro)

O Essbase usa cerca de 40 MB de memória na inicialização. Além disso, os vários caches exigem as seguintes alocações de memória:

  • Cache de paginação do esboço: 8 MB

  • Cache de dados de armazenamento agregado: 32 MB

  • Cache de agregação de armazenamento agregado: 10 MB

Portanto, o volume de memória inicial do Essbase é de cerca de 90 MB. Além disso, a memória deve ser alocada para processar solicitações de consulta de entrada. A memória típica a ser reservada para este fim é de cerca de 300 MB. O total de memória alocada para o Essbase é, portanto, de 390 MB.

Em um sistema Windows com 1,85 GB de memória endereçável, a quantidade disponível para construir e carregar o contorno é de cerca de 1,46 GB (1,85 GB - 390 MB = 1,46 GB).

O tamanho máximo do outline depende de ele ser criado usando um build de dimensão ou de um outline já carregado no Essbase.

Limite de Paginação do Outline de Criação de Dimensão

Para criar o outline usando um build de dimensão, o Essbase aloca cerca de 100 bytes por membro, mais o tamanho do nome do membro, mais o tamanho de todos os nomes de alias do membro (até 10 aliases são permitidos).

Para um outline de amostra (usando uma única página de código de byte), em que o nome médio do membro é de 15 caracteres e há um alias (de 20 caracteres) por membro, o requisito de memória para cada membro que é adicionado:

100+15+20 bytes = 135 bytes

O número total de membros que podem ser adicionados em uma compilação de dimensão é a memória disponível (1,46 GB, ou 153.092.060 bytes) dividida pelo número de bytes por membro (135), aproximadamente 11 milhões de membros.

Em sistemas com mais de 2 GB de memória endereçável, o contorno pode ser maior em proporção à memória extra disponível.

Quando a criação da dimensão é concluída, um arquivo dbname.otn é salvo no diretório de cubo. O arquivo .otn é usado como entrada para o processo de reestruturação de outline, que substitui o outline antigo pelo novo. Durante a reestruturação, duas cópias do contorno são carregadas na memória, a antiga (potencialmente vazia) e a nova, de modo que o tamanho máximo de um contorno que pode ser reestruturado depende do tamanho do contorno antigo.

Em uma construção de dimensão, que começa com um contorno vazio, apenas um contorno é carregado na memória.

Limite de Paginação da Estrutura de Tópicos Carregada

O requisito de memória para um outline carregado no Essbase durante o runtime ou durante a reestruturação é diferente dos requisitos de memória para uma criação de dimensão. O Essbase aloca cerca de 60 bytes por membro, mais o tamanho do nome do membro mais 5 bytes, mais o tamanho de todos os nomes de alias do membro (até 10 aliases são permitidos) mais 5 bytes. Para um outline de amostra em que o nome médio do membro é de 15 caracteres e há um alias (de 20 caracteres) por membro, o requisito de memória para cada membro que é adicionado:

60+15+5+20+5 bytes=105 bytes por membro

Assumindo 1,46 GB de memória disponível, o tamanho máximo de um outline que pode ser carregado é um com 14 milhões de membros (1,46 GB/105 bytes).

Os 14 milhões de membros são a soma de dois contornos que são carregados durante a reestruturação. Por exemplo, se um outline existente tiver 5 milhões de membros, o novo outline poderá ter um máximo de 9 milhões de membros. Em uma criação de dimensão incremental, é recomendado criar as dimensões menores primeiro e as maiores por último para permitir um tamanho de contorno máximo.