Noções Básicas sobre Semântica da Transação no Essbase

Quando um cubo está no modo de leitura/gravação, o Essbase considera cada solicitação de atualização para o servidor (como uma carga de dados, um cálculo ou uma instrução em um script de cálculo) como uma transação.

Cada transação tem um estado atual: ativo, confirmado ou anulado. Quando os dados são confirmados, eles são retirados da memória do servidor e gravados no cubo no disco.

As opções Commit de Blocos/Commit de Linhas na guia Transações das configurações do inspetor de cubos indicam a frequência com que o Essbase faz commit de blocos ou linhas de dados.

O Essbase permite que as transações mantenham bloqueios de leitura/gravação bloco a bloco. O Essbase libera um bloco depois que ele é atualizado, mas só faz commit de blocos quando a transação é concluída ou quando um limite definido (um "ponto de sincronização") é atingido.

Você controla quando o Essbase executa uma operação de confirmação explícita especificando os seguintes parâmetros de ponto de sincronização:


Imagem da opção de acesso não confirmado na guia > Definições > Transações do inspetor de cubos na interface Web do Essbase.

  • Commit de Blocos (número de blocos modificados antes de ocorrer um ponto de sincronização). O Essbase faz o commit após o número especificado de blocos ser atingido. Esta frequência pode ajustar-se dinamicamente durante um cálculo.

    Se você definir Commit de Blocos como 0, o ponto de sincronização ocorrerá no final da transação.

  • Commit de Linhas (número de linhas a serem carregadas antes da criação de um ponto de sincronização). O padrão é 0, o que significa que o ponto de sincronização ocorre no final do carregamento de dados.

Se a opção Commit de Blocos ou Commit de Linhas tiver um valor diferente de zero, ocorrerá um ponto de sincronização quando o primeiro limite for atingido. Por exemplo, se a opção Commit de Blocos for 10, mas a opção Commit de Linhas for 0 e você carregar dados, ocorrerá um ponto de sincronização após a atualização de 10 blocos. Se a opção Commit de Blocos for 5 e a opção Commit de Linhas for 5 e você carregar dados, um ponto de sincronização ocorrerá após 5 linhas serem carregadas ou 5 blocos serem atualizados, o que ocorrer primeiro.

Se o Servidor Essbase for executado no Oracle Exalytics In-Memory Machine, as configurações de acesso sem commit não serão aplicáveis. O commit ocorre no final do comando ou da solicitação. Quaisquer alterações feitas nas definições das opções Commit de Blocos ou Commit de Linhas serão ignoradas.

Se o Essbase Server for executado em uma implantação independente no Windows, a opção Commit de Blocos será definida como 3.000 por padrão.

Se um limite definido pelo usuário for excedido durante uma operação, o Essbase criará um ponto de sincronização para confirmar os dados processados nesse ponto. O Essbase cria quantos pontos de sincronização forem necessários para concluir a operação.

O Essbase analisa o valor de Commit de Blocos e Commit de Linhas durante sua análise de viabilidade para uso de cálculo paralelo. Se o Essbase achar os valores definidos muito baixos, ele os aumentará automaticamente.

O Essbase retém dados redundantes para reforçar a semântica transacional. Permite espaço em disco para o dobro do tamanho do banco de dados para acomodar dados redundantes, principalmente se as opções Commit de Blocos e Commit de Linhas estiverem definidas como 0.

Para definir commit de blocos e linhas
  1. Navegue até Transações na interface web do Essbase.
    Na Interface Redwood:
    1. Na página Aplicativos, abra o aplicativo e, em seguida, abra o banco de dados (cubo).
    2. Clique em Personalização, Definições e Transações.
    Na Interface Web do Essbase:
    1. Na página Aplicativos, expanda o aplicativo.
    2. No menu Ações, à direita do nome do cubo, clique em Definições; em seguida, clique em Transações.
  2. Faça suas seleções e clique em Salvar.