SQL Server

Como anda a saúde do seu ambiente SQL Server?

Health-check

Health-Check

Assim como fazer revisão do seu carro ou um check-up médico, é necessário fazer o mesmo com seu ambiente de banco de dados SQL Server. Isto é, existem muitas funcionalidades, configurações e definições que podem tanto melhorar quanto piorar a saúde do seu ambiente. Ou seja, para saber se a “saúde” do seu ambiente está OK, é necessário fazer um Health Check. O Health Check, consistem realizar uma varredura no seu ambiente de banco de dados, com o intuito de analisar todas as configurações, definições, entidades, objetos, etc.

Para cada ambiente de SQL Server, esses itens devem ser configurados de forma correta. Portanto, uma configuração correta pode melhorar muito a performance, assim como, essa mesma configuração parametrizada de forma incorreta poderá, e irá diminuir em muito sua performance. Além disso, também pode afetar o consumo do seu storage, assim como uma configuração errada de funcionalidades, que aparentemente foram feitas para melhorar seu ambiente, podem trazer grandes prejuízos.

A configuração de um índice, por exemplo, à primeira vista vai melhorar a performance na leitura do seu banco de dados, mas o que poucas pessoas sabem é que o mesmo índice pode piorar o tempo de inserção de dados. Muitos dos índices que são criados por sugestão do SQL Server, nunca são usados ou são usados apenas uma vez. O que muitas vezes acarreta apenas em mais um processo na hora de inserir dados, ocupando ainda mais espaço em seu storage.

Itens como a configuração certa da quantidade de arquivos da TempDB.Assim como, definição de limite de memória disponível para o SQL Server. Configuração do Autogrowth e a definição correta do tipo de Recovery Model. Definição correta dos tipos de dados, fragmentação de tabela e dos índices. Uso dos índices, os índices duplicados, compressão de tabelas e entre outros. Desse modo, todos isso pode trazer melhorias relevantes para seu ambiente, desde que analisados e configuradas de acordo com as melhores práticas e necessidade do cliente.

Só para exemplificar, abaixo abordaremos apenas um dos pontos que são analisados em um Health Check, a definição de tipos de dados e mostraremos na prática quanto se pode ganhar quando a saúde do seu ambiente está OK.

O primeiro exemplo mostra o ganho de espaço em storage: até 26 vezes mais espaço. O segundo exemplo mostra o ganho de performance em uma consulta: 10 vezes mais rápida.

Observem que:

  • As tabelas com sufixo BAD estão com o tipo de dados MAL definidos
  • As tabelas com sufixo GREAT estão com os tipos de dados BEM definidos
  • Todas as tabelas têm a mesma estrutura de colunas e a mesma quantidade de registros (100 mil registros)

Exemplo 1) Economia Storage

Nesse exemplo podemos ver que as tabelas “hc_tbCliente_BAD” e “hc_tbEndereço_BAD” ocupam muito mais espaço (até 26 vezes mais) do que as tabelas “hc_tbCliente_GREAT” e “hc_tbEndereço_GREAT“.

A tabela “hc_tbCliente_BAD” está ocupando 400,136 KB enquanto a “hc_tbCliente_GREAT” ocupa apenas 15,112 KB. Nesse caso o ganho é de 26 vezes menos espaço em armazenamento no seu storage.

Tamanho das tabelas no SQL Server
Espaço utilizado pelas tabelas

Exemplo 2) Melhoria de Performance

Esse exemplo é um JOIN entre as tabelas de Cliente e Endereço. Do lado esquerdo temos as tabelas com os tipos de dados BEM definidos, do lado direito as tabelas com os tipos de dados MAL definidos.

As tabelas com os tipos de dados BEM definidos retornaram os dados em uma consulta 10 vezes mais rápido.

Se você acha que tem a necessidade de escalar seu ambiente adquirindo mais hardware, o Health Check pode ser uma solução bem mais barata e simples.

Tabelas SQL Server
Tabelas com dados definidos da forma correta e da forma incorreta

Entre em contato com a Biz Tecnologia e melhore a performance do seu banco de dados (leitura, escrita e atualização de dados), economize espaço no seu storage, descubra problemas críticos que podem ocasionar uma parada repentina do ambiente e tenha mais segurança nos seus dados.