Ao implementar o SAP HANA, a utilização eficiente dos recursos de hardware é fundamental para obter melhor desempenho e escalabilidade, ao mesmo tempo que reduz o TCO.
Antes do SPS09, o SAP HANA suportava múltiplos esquemas em um sistema SAP HANA e múltiplos sistemas SAP HANA em um único hardware virtualizado do SAP HANA. Com o SPS09, o SAP HANA adicionou suporte para múltiplos bancos de dados de inquilinos em um sistema SAP HANA para uso em produção. Chamamos essa característica de "Contêineres de Banco de Dados Multi-Inquilino".
Um sistema SAP HANA com a característica de contêineres de banco de dados multi-inquilino pode conter múltiplos bancos de dados de inquilinos. Todos os bancos de dados de inquilinos no mesmo sistema compartilham os mesmos recursos do sistema (memória e núcleos de CPU). No entanto, cada banco de dados de inquilino está completamente isolado com seus próprios usuários de banco de dados, catálogo, repositório, persistência (arquivos de dados e arquivos de log) e serviços de banco de dados, permitindo, por exemplo, a execução tanto do SAP Business Suite quanto do SAP Business Warehouse (BW) em um sistema SAP HANA.
Com os contêineres de banco de dados multi-inquilino, é possível atribuir limites de recursos do sistema (memória e núcleos de CPU) a cada banco de dados de inquilino, de modo que uma carga de trabalho mais alta em um banco de dados de inquilino não afete outros bancos de dados de inquilinos. Também é possível alterar os recursos atribuídos a qualquer momento, de acordo com as necessidades de cada banco de dados de inquilino. Por exemplo, se um SAP Business Suite e um SAP BW estão sendo executados em um sistema SAP HANA, é possível aumentar os recursos para o SAP BW durante o fechamento do mês, quando são necessários mais relatórios do sistema SAP BW. Além disso, é possível fazer backup e recuperar todos os bancos de dados de inquilinos de uma vez ou um de cada vez. Isso significa que, ao executar múltiplos bancos de dados de inquilinos em um sistema SAP HANA e gerenciá-los como um só, é possível reduzir os custos de capital com uma melhor utilização dos recursos do sistema e os custos operacionais com uma manutenção simplificada do banco de dados.
Outro benefício importante da característica de contêineres de banco de dados multi-inquilino é que simplifica o desenvolvimento e a implementação de aplicativos em nuvem seguros e multi-inquilino. Embora seja possível construir aplicativos em nuvem sem um banco de dados multi-inquilino, há várias vantagens em usá-lo. Quando não se utiliza um banco de dados multi-inquilino, geralmente opta-se por um desses três enfoques comuns.
1) Armazenar dados de aplicativos com ID de cliente (adicionar uma coluna "cliente" em todas as tabelas) e selecionar/atualizar dados usando o ID do cliente.
Resultado: São necessárias autorizações complexas de banco de dados para implementar a segurança, já que todos os clientes compartilham as mesmas tabelas. A consulta de um cliente pode utilizar muitos recursos do banco de dados e afetar negativamente o desempenho de outros clientes.
2) Criar um esquema para cada cliente
Resultado: Melhora a segurança dos dados em comparação com o primeiro enfoque, mas ainda são necessárias autorizações complexas de banco de dados, já que os esquemas no sistema são acessíveis a todos os usuários do banco de dados. Ainda assim, a consulta de um cliente pode utilizar muitos recursos do banco de dados e afetar negativamente o desempenho de outros clientes.
3) Criar uma instância virtual de banco de dados para cada cliente
Resultado: Segurança. A virtualização causa uma sobrecarga adicional que possivelmente afeta negativamente o desempenho.
Ao utilizar um banco de dados multi-inquilino e criar um banco de dados de inquilino para cada cliente, é possível alcançar um alto grau de segurança, como no cenário de virtualização. Como a característica de contêineres de banco de dados multi-inquilino está integrada à arquitetura do SAP HANA, não há sobrecarga de camada de virtualização, proporcionando aos contêineres de banco de dados multi-inquilino vantagens de desempenho e escalabilidade.
Dito isso, a virtualização pode ser de particular interesse para empresas que seguem uma abordagem de centro de dados definido por software. A virtualização oferece benefícios como mover instâncias produtivas de um sistema de hardware para outro e capacidades adicionais de alta disponibilidade/recuperação de desastres. Além disso, a virtualização proporciona a capacidade de executar múltiplos sistemas SAP HANA com diferentes versões em uma única instalação de hardware. É possível utilizar a característica de contêineres de banco de dados multi-inquilino em um sistema SAP HANA virtualizado.
Arquitetura de alto nível dos contêineres de banco de dados multi-inquilino do SAP HANA:
Um sistema SAP HANA com a característica de contêineres de banco de dados multi-inquilino inclui um banco de dados de sistema e qualquer número de bancos de dados de inquilinos, conforme mostrado na imagem a seguir.
Utiliza-se o banco de dados de sistema para criar, excluir, iniciar, parar bancos de dados de inquilinos e realizar atividades de administração de bancos de dados (backup/recuperação, replicação do sistema) para todos os bancos de dados de inquilinos de uma vez.
Em um cenário de escalonamento, um banco de dados de inquilino pode abranger múltiplos nós do SAP HANA, conforme mostrado na imagem a seguir.
Isso significa que o tamanho do banco de dados de inquilino não é limitado pelo tamanho de um único nó do SAP HANA. Embora haja apenas um banco de dados de sistema ativo em um determinado momento, é fornecida uma redundância máxima. Em outras palavras, sempre que um nó do SAP HANA estiver operacional, o banco de dados de sistema estará operacional.
Em resumo, os contêineres de banco de dados multi-inquilino são uma nova característica do SAP HANA introduzida no SPS09 que permite executar múltiplos bancos de dados de inquilinos em um sistema SAP HANA e gerenciá-los como um só. Essa característica ajuda a reduzir
Pedro Pascal
Se unió el 07/03/2018