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 não há necessidade de carregar dados do disco.
- O 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 em memória. O mecanismo de cálculo é o principal mecanismo de processamento em memória do 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 de banco de dados relacional reside no armazenamento de coluna ou linha.
Existem dois tipos de armazenamento para a tabela SAP HANA.
- Armazenamento de tipo de linha (para tabela de linha).
- Armazenamento de tipo de coluna (para tabela de coluna).
Os dados de texto e os dados de gráfico residem no mecanismo de texto e no mecanismo de gráfico, 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.
Neste tutorial, você aprenderá-
- Arquitetura SAP HANA
- SAP HANA Landscape
- Dimensionamento SAP HANA
Arquitetura SAP HANA
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 SAP HANA Column store.
Quando o limite de memória principal é atingido no SAP HANA, todos os objetos do banco de dados (tabela, visão, etc.) que não são usados serão descarregados da memória principal e salvos no disco.
Esses nomes de objetos são definidos pela semântica do aplicativo e recarregados na memória principal do disco quando necessário 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 no SAP HANA studio no respectivo Esquema, clicando com o botão direito e selecionando a opção "Descarregar / Carregar".
Servidor SAP HANA consiste em
- Index Server
- Servidor Pré-processador
- Nome do servidor
- Servidor de Estatísticas
- XS Engine
- Servidor de índice SAP HANA
O servidor principal do banco de dados SAP HANA é um servidor de indexação. Os detalhes de cada servidor são os seguintes-
- É o principal componente do banco de dados SAP HANA
- Ele contém armazenamentos de dados reais e o mecanismo para processar os dados.
- O Index Server processa a instrução SQL ou MDX de entrada.
Abaixo está a arquitetura do Index Server.
Visão geral do SAP HANA Index Server
- Servidor Pré-processador
Este servidor é usado em Análise de Texto e extrai dados de um texto quando a função de pesquisa é usada.
- Nome do servidor
Este servidor contém todas as informações sobre a paisagem do sistema. No servidor distribuído, o servidor de nomes contém informações sobre cada componente em execução e a localização dos dados no servidor. Este servidor contém informações sobre o servidor no qual existem dados.
- Servidor Estatístico
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.
- Servidor XS
O servidor XS contém o XS Engine. Ele permite que aplicativos externos e desenvolvedores usem o banco de dados SAP HANA por meio do cliente XS Engine. O aplicativo cliente externo pode usar HTTP para transmitir dados por meio do mecanismo XS para o servidor HTTP.
SAP HANA Landscape
"HANA" significa High Performance Analytic Appliance é uma combinação de plataforma de hardware e software.
- Devido às mudanças na arquitetura do computador, o computador mais poderoso está disponível em termos de CPU, RAM e disco rígido.
- SAP HANA é a solução para gargalo de desempenho, em que todos os dados são armazenados na memória principal e não há necessidade de transferir dados com frequência do disco I / O para a memória principal.
Abaixo estão as inovações SAP HANA na área de Hardware / Software.
Existem dois tipos de armazenamento de dados relacionais no SAP HANA: Armazenamento de linha e Armazenamento de coluna.
Loja de fileiras
- É o mesmo que banco de dados tradicional, por exemplo (Oracle, SQL Server). A única diferença é que todos os dados são armazenados na área de armazenamento em linha 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 coluna
- 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 coluna 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 as duas estruturas de dados abaixo.
Armazenamento Principal
Armazenamento principal contém a parte principal dos dados. No armazenamento principal, o 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 as pesquisas.
- No armazenamento principal, as operações de gravação em dados compactados serão caras, portanto, a operação de gravação não modifica diretamente os dados compactados no armazenamento principal. Em vez disso, todas as alterações são gravadas em uma área separada no armazenamento de coluna conhecida como "Armazenamento Delta".
- O armazenamento Delta é 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 permitidas no armazenamento delta. 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.
Delta Storage
O armazenamento Delta é 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 da coluna armazenados no armazenamento delta.
Quando quisermos mover essas alterações para o armazenamento principal, use a "operação de mesclagem delta" do SAP HANA Studio conforme abaixo -
- O objetivo da operação de mesclagem delta é mover as alterações, que são coletadas no armazenamento delta para o armazenamento principal.
- Depois de executar a operação Delta Merge na tabela da coluna sap, o conteúdo do armazenamento principal é salvo no disco e a compressão recalculada.
Processo de movimentação de dados do Delta para o armazenamento principal durante a fusão delta
Há um armazenamento de buffer (L1-Delta) que é o armazenamento de linha. Portanto, no SAP HANA, a tabela de colunas atua como armazenamento de linha devido ao L1-delta.
- O usuário executa a consulta de atualização / inserção na tabela (Operador físico são instruções SQL.).
- Os dados vão primeiro para L1. Quando L1 move os dados adiante (L1- dados não confirmados)
- Em seguida, os dados vão para o buffer L2-delta, que é orientado por colunas. (L2- dados comprometidos)
- Quando o processo L2-delta é concluído, os dados vão para o armazenamento principal.
Portanto, o armazenamento de coluna é otimizado para gravação e leitura devido ao L1-Delta e ao armazenamento principal, respectivamente. L1-Delta contém todos os dados não confirmados. Os dados confirmados são movidos para o armazenamento principal por meio 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 coluna). Após o processamento da instrução SQL no armazenamento de colunas, os dados vão para a camada de persistência.
Por exemplo, abaixo está a tabela baseada em linha
Os dados da tabela são armazenados no disco em formato linear, portanto, abaixo está o formato como os dados são armazenados no disco para a tabela de linha e coluna -
Na memória do SAP HANA, esta tabela é armazenada no Row Store no disco como formato -
Endereço de memória
E na coluna, os dados são armazenados no disco como -
Endereço de memória
Os dados são armazenados em colunas no formato linear no disco. Os dados podem ser compactados pela técnica de compactação.
Portanto, o armazenamento de coluna tem a vantagem de economizar memória.
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 importante de dimensionamento é a CPU. O terceiro componente principal é um disco, mas o tamanho depende completamente 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 de negócios.
O SAP HANA DB difere no dimensionamento do DBMS normal em termos de -
- Requisito de memória principal para SAP HANA (o tamanho da memória é determinado pelos metadados e dados de transação no SAP HANA)
- Requisito de CPU para SAP HANA (previsão de CPU estimada incorreta).
- Requisito de espaço em disco para SAP HANA (é calculado para persistência de dados e para dados de registro)
A CPU do servidor de aplicativos e a memória do servidor de aplicativos permanecem inalteradas.
Para o cálculo do tamanho, a SAP forneceu várias diretrizes e métodos para calcular o tamanho correto.
Podemos usar o método abaixo
- Dimensionamento usando relatório ABAP.
- Dimensionamento usando DB Script.
- Dimensionamento usando a ferramenta Quicksizer.
Ao usar a ferramenta Quicksizer, o Requisito será exibido no formato abaixo-