Project Description

Cliente: administradora de cartões de crédito.

Por conta do acordo de confidencialidade entre as empresas, detalhes específicos do projeto não serão divulgados. Somente serão descritas informações de conhecimento geral e/ou domínio público sobre hardware, software e atividades que sejam inerentes à administração de banco de dados.

Descrição do projeto:

O cliente precisava de um diagnóstico dos seus bancos de dados SQL Server e da execução de todos os ajustes necessários. Uma vez ajustados, precisava de uma análise que determinasse os upgrades necessários para maximizar a performance, ter sempre alta-disponibilidade e garantir a segurança para os bancos de dados e aplicações.

O projeto foi dividido em 03 etapas: Diagnóstico/ajustes, sugestões e cenários.

Diagnóstico e Ajustes:

Coletamos informações do uso dos bancos de dados por 03 dias. Os focos principais foram: uso de CPU, memória e disco. Sugerimos alguns ajustes em índices, performance, integridade dos dados, backup/recovery, etc. O cliente possuía 02 servidores em cluster com SQL Server 2012 Standard e aproximadamente 30 bases de dados.

Sugestões:
Após os ajustes das bases de dados em uso, a segunda etapa foi o detalhamos cada recurso do SQL Server por versão, tomando como base os itens que melhorassem a performance, alta-disponibilidade e a segurança dos bancos de dados:

Cenários:

A tabela acima foi detalhada em todos os itens e apresentamos alguns cenários possíveis. Em reuniões com o cliente foi determinado o cenário ideal.

Desafios

  • Diagnosticar e ajustar as bases de dados atuais;
  • Determinar todas as necessidades para:
    • Melhorar a performance;
    • Obter alta-disponibilidade para os bancos de dados; e
    • Aumentar a segurança dos dados armazenados.

Tecnologias de Banco de Dados Utilizadas

O Always On Availability Groups (AG) é uma solução de alta disponibilidade e de recuperação de desastres que fornece a melhor alternativa para espelhamento de banco de dados, porém é exclusiva da versão Enterprise do banco de dados. A solução fornece alta disponibilidade, recuperação de desastre e balanceamento de escala de leitura.

Cada conjunto de bancos de dados de disponibilidade é hospedado por uma réplica de disponibilidade. Existem dois tipos de réplicas de disponibilidade: uma réplica primária única que hospeda os bancos de dados primários, e de uma a oito réplicas secundárias, cada uma hospedando um conjunto de bancos de dados secundários e atuando como destinos de failover para o grupo de disponibilidade. Cada réplica é configurada em seu próprio disco, criando também a redundâncias de storage, dispensando o armazenamento compartilhado necessário ao FCI.

Quando uma instância do SQL Server é configurada para ser uma FCI em vez de uma instância autônoma, a alta disponibilidade dessa instância é protegida pela presença de nós redundantes configurados via WSFC (Windows Server Failover Clustering), compartilhados por um Storage. No caso de uma falha no primeiro nó, o segundo nó assume a operação e o banco de dados continua a funcionar normalmente. A detecção de problema e o failover automático podem ser configurados.

Com o TDE pode-se criptografar dados confidenciais no banco de dados e protegê-los com chaves usadas para criptografar os dados com um certificado. Isso impede que alguém sem as chaves visualize os dados do banco de dados. Por exemplo, em um cenário onde a mídia física (como unidades ou fitas de backup) é roubada, um terceiro mal-intencionado não poderá restaurar o banco de dados e navegar pelos dados. A TDE protege os dados “em repouso”, ou seja, os arquivos de dados e de log do banco de dados. Fornece a capacidade de se adequar a muitas leis, regulamentos e diretrizes estabelecidos em vários setores.

A criptografia do arquivo de banco de dados é executada no nível de página (blocos de dados). As páginas em um banco de dados TDE são criptografadas antes de serem gravadas no disco e descriptografadas quando lidas na memória.

Resultados Alcançados

Configuração escolhida:

  • 03 Servidores de Banco de Dados (02 locais e 01 para o DR);
  • 02 Storages: um para o site local e o outro para o site de desastre (DR);
  • SQL Server Enterprise principalmente por conta da alta-disponibilidade do Always On AG, da criptografia com o TDE (Transparent Data Encryption) e do rebuild online de índices.

Resultados:

  • Possibilidade de utilização total dos recursos de hardware;
  • Máxima disponibilidade e redundância possível em configurações Windows (WSFC) e SQL Server (Always On FCI e AG);
  • Criação e reconstrução online dos índices;
  • Investimento no ambiente de desastre é compensado pela possibilidade de execução de relatórios real-time e de backups com o Always On AG;
  • Máxima segurança contra invasões;
  • Criptografia dos dados em trânsito (Always Encrypted) e dos dados armazenados no banco de dados (TDE).

Com isso o cliente passou a ter mais performance, alta-disponibilidade e segurança para os bancos de dados.