SAP HANA Archiarquitetura, LandScape, dimensionamento: tutorial completo

O banco de dados SAP HANA é uma plataforma de gerenciamento de dados centrada na memória principal. O banco de dados SAP HANA é executado no SUSE Linux Enterprises Server e baseia-se na linguagem C++.

O banco de dados SAP HANA pode ser distribuído para várias máquinas.

As vantagens do SAP HANA são mencionadas abaixo -

  • SAP HANA é útil porque é muito rápido devido a todos os dados carregados na memória e sem necessidade de carregar dados do disco.
  • SAP HANA pode ser usado para fins de OLAP (análise on-line) e OLTP (transação on-line) em um único banco de dados.

O banco de dados SAP HANA consiste em um conjunto de mecanismos de processamento na memória. O mecanismo de cálculo é o principal mecanismo de processamento na memória em SAP HANA. Ele funciona com outro mecanismo de processamento, como mecanismo de banco de dados relacional (mecanismo de linha e coluna), mecanismo OLAP, etc.

A tabela do banco de dados relacional reside no armazenamento de colunas ou linhas.

Existem dois tipos de armazenamento para tabela SAP HANA.

  1. Armazenamento de tipo de linha (para tabela de linhas).
  2. Armazenamento de tipo de coluna (para tabela de colunas).

Os dados de texto e os dados do gráfico residem no Text Engine e no Graph Engine, respectivamente. Existem mais alguns mecanismos no banco de dados SAP HANA. Os dados podem ser armazenados nesses mecanismos, desde que haja espaço suficiente disponível.

SAP HANA Archiarquitetura

Os dados são compactados por diferentes técnicas de compactação (por exemplo, codificação de dicionário, codificação de comprimento de execução, codificação esparsa, codificação de cluster, codificação indireta) no armazenamento de colunas SAP HANA.

Quando o limite da memória principal é atingido no SAP HANA, todos os objetos do banco de dados (tabela, visualização, etc.) que não são utilizados serão descarregados da memória principal e salvos no disco.

Os nomes desses objetos são definidos pela semântica do aplicativo e recarregados na memória principal a partir do disco quando necessários novamente. Em circunstâncias normais, o banco de dados SAP HANA gerencia o descarregamento e o carregamento de dados automaticamente.

No entanto, o usuário pode carregar e descarregar dados de uma tabela individual manualmente selecionando uma tabela em Estúdio SAP HANA no respectivo esquema clicando com o botão direito e selecionando a opção “Descarregar/Carregar”.

O servidor SAP HANA consiste em

  1. Servidor de indexação
  2. Servidor pré-processador
  3. Name Server
  4. Servidor de Estatísticas
  5. Motor XS

    SAP HANA Archiarquitetura

  1. Servidor de índice SAP HANA O servidor principal do banco de dados SAP HANA é um servidor de indexação. Os detalhes de cada servidor estão abaixo-
  • É o principal componente do banco de dados SAP HANA
  • Ele contém armazenamentos de dados reais e o mecanismo para processar os dados.
  • Index Server processa entrada SQL ou instrução MDX.

Abaixo está o archiestrutura do Index Server.

SAP HANA Archiarquitetura

Visão geral do servidor de índice SAP HANA

  • Gerenciador de sessões e transações: O componente de sessão gerencia sessões e conexões para o banco de dados SAP HANA. O Transaction Manager coordena e controla as transações.
  • Processador SQL e MDX: O componente SQL Processor consulta dados e os envia no mecanismo de processamento de consultas, ou seja, SQL/SQL Script / R / Calc Engine. O processador MDX consulta e manipula dados multidimensionais (por exemplo, Analytic View no SAP HANA).
  • SQL / SQL Script / R / Mecanismo Calc: Este componente executa script SQL/SQL e converte dados de cálculo em modelo de cálculo.
  • Repositório: O repositório mantém o controle de versão do objeto de metadados SAP HANA, por exemplo (visualização de atributos, visualização analítica, procedimento armazenado).
  • Camada de persistência: Esta camada usa o recurso integrado “Recuperação de desastres” do banco de dados SAP HANA. O backup é salvo nele como pontos de salvamento no volume de dados.
    1. Servidor pré-processador

    Este servidor é utilizado em Análise de Texto e extrai dados de um texto quando a função de pesquisa é utilizada.

    1. Name Server

    Este servidor contém todas as informações sobre o cenário do sistema. No servidor distribuído, o servidor de nomes contém informações sobre cada componente em execução e localização dos dados no servidor. Este servidor contém informações sobre o servidor no qual existem dados.

    1. Servidor de estatísticas

    O servidor de estatísticas é responsável por coletar os dados relacionados ao status, alocação/consumo de recursos e desempenho do sistema SAP HANA.

    1. Servidor XS

    O XS Server contém o XS Engine. Ele permite que aplicativos e desenvolvedores externos usem o banco de dados SAP HANA por meio do cliente XS Engine. O aplicativo cliente externo pode usar HTTP para transmitir dados via mecanismo XS para servidor HTTP.

    Cenário SAP HANA

    “HANA” significa Aparelho analítico de alto desempenho é uma combinação de plataforma de hardware e software.

    • Devido a mudança no computador archiarquitetura, o computador mais poderoso está disponível em termos de CPU, RAM e disco rígido.
    • SAP HANA é a solução para gargalos de desempenho, em que todos os dados são armazenados na memória principal e não há necessidade de transferir dados frequentemente da E/S do disco para a memória principal.

    Abaixo estão SAP HANA Innovana área de Hardware/Software.

    Cenário SAP HANA

    Existem dois tipos de armazenamentos de dados relacionais no SAP HANA: Row Store e Column Store.

    Loja de linha

    • É igual ao banco de dados tradicional, por exemplo (Oracle, Servidor SQL). A única diferença é que todos os dados são armazenados em área de armazenamento de linhas na memória do SAP HANA, ao contrário de um banco de dados tradicional, onde os dados são armazenados no disco rígido.

    Armazenamento de colunas

    • O armazenamento de colunas faz parte do banco de dados SAP HANA e gerencia os dados de forma colunar na memória SAP HANA. As tabelas de colunas são armazenadas na área de armazenamento de colunas. O armazenamento de colunas oferece bom desempenho para operações de gravação e ao mesmo tempo otimiza a operação de leitura.

    Desempenho de operação de leitura e gravação otimizado com duas estruturas de dados abaixo.

    Cenário SAP HANA

    Armazenamento principal

    O armazenamento principal contém a parte principal dos dados. No armazenamento principal, um método de compactação de dados adequado (codificação de dicionário, codificação de cluster, codificação esparsa, codificação de comprimento de execução, etc.) é aplicado para compactar dados com o objetivo de economizar memória e acelerar pesquisas.

    • No armazenamento principal, as operações de gravação em dados compactados serão caras, portanto, as operações de gravação não modificam diretamente os dados compactados no armazenamento principal. Em vez disso, todas as alterações são gravadas em uma área separada no armazenamento de colunas conhecida como “Delta Armazenar."
    • Delta o armazenamento é otimizado para uma operação de gravação e usa compactação normal. As operações de gravação não são permitidas no armazenamento principal, mas são permitidas no delta armazenar. As operações de leitura são permitidas em ambos os armazenamentos.

    Podemos carregar dados manualmente na memória principal pela opção “Carregar na memória” e descarregar dados da memória principal pela opção “Descarregar da memória” conforme mostrado abaixo.

    Cenário SAP HANA

    Delta Armazenamento

    Delta o armazenamento é usado para uma operação de gravação e usa compactação básica. Todas as modificações não confirmadas nos dados da tabela de colunas armazenados em delta armazenamento.

    Quando quisermos mover essas alterações para o armazenamento principal, use “delta operação de mesclagem” do estúdio SAP HANA conforme abaixo –

    Cenário SAP HANA

    • A finalidade do delta operação de mesclagem é mover as alterações, que são coletadas em delta armazenamento para o armazenamento principal.
    • Depois de executar Delta Operação de mesclagem na tabela de colunas SAP, o conteúdo do armazenamento principal é salvo no disco e a compactação recalculada.

    Processo de movimentação de dados de Delta para o armazenamento principal durante delta fundir

    Cenário SAP HANA

    Há um buffer armazenar (L1-Delta) que é o armazenamento de linha. Portanto, no SAP HANA, a tabela de colunas atua como armazenamento de linhas devido a L1-delta.

    1. O usuário executa a consulta de atualização/inserção na tabela (o operador físico são instruções SQL).
    2. Os dados vão primeiro para L1. Quando L1 move os dados ainda mais (L1-Dados não confirmados)
    3. Então os dados vão para L2-delta buffer, que é orientado a colunas. (L2- Dados confirmados)
    4. Quando L2-delta o processo for concluído, os dados vão para o armazenamento principal.

    Portanto, o armazenamento da coluna é otimizado para gravação e leitura devido ao L1-Delta e armazenamento principal, respectivamente. L1-Delta contém todos os dados não confirmados. Os dados confirmados são transferidos para a Loja Principal através de L2-Delta. Do armazenamento principal, os dados vão para a camada de persistência (a seta indicando aqui é um operador físico que envia a instrução SQL no armazenamento de colunas). Após processar a instrução SQL no armazenamento de colunas, os dados vão para a camada de persistência.

    Por exemplo, abaixo está uma tabela baseada em linhas

    Cenário SAP HANA

    Os dados da tabela são armazenados no disco em formato linear, então abaixo está o formato de como os dados são armazenados no disco para tabelas de linhas e colunas –

    Na memória SAP HANA, esta tabela é armazenada no Row Store em disco como formato –

    Cenário SAP HANA
    Endereço de memória

    E na coluna, os dados são armazenados no disco como –

    Cenário SAP HANA

    Endereço de memória

    Os dados são armazenados em colunaswise no formato linear no disco. Os dados podem ser compactados pela técnica de compactação.

    Portanto, o armazenamento de colunas tem a vantagem de economizar memória.

    Cenário SAP HANA

    Dimensionamento SAP HANA

    Dimensionamento é um termo usado para determinar os requisitos de hardware para o sistema SAP HANA, como RAM, disco rígido e CPU, etc.

    O principal componente de dimensionamento importante é a memória, e o segundo componente de dimensionamento importante é a CPU. O terceiro componente principal é um disco, mas o dimensionamento depende totalmente da memória e da CPU.

    Na implementação do SAP HANA, uma das tarefas críticas é determinar o tamanho certo de um servidor de acordo com os requisitos do negócio.

    SAP HANA DB difere no dimensionamento do normal DBMS em termos de -

    • Requisito de memória principal para SAP HANA (o dimensionamento da memória é determinado pelos metadados e dados de transação no SAP HANA)
    • Requisito de CPU para SAP HANA (a previsão de CPU é estimada e não é precisa).
    • Requisito de espaço em disco para SAP HANA (é calculado para persistência de dados e para registro de dados)

    A CPU do servidor de aplicativos e a memória do servidor de aplicativos permanecem inalteradas.

    Para o cálculo do dimensionamento, a SAP forneceu várias diretrizes e métodos para calcular o tamanho correto.

    Podemos usar o método abaixo-

    1. Dimensionamento utilizando relatório ABAP.
    2. Dimensionamento usando DB Script.
    3. Dimensionamento usando a ferramenta Quicksizer.

    Ao usar a ferramenta Quicksizer, o requisito será exibido no formato abaixo-

    Dimensionamento SAP HANA