Algumas práticas comuns a este tipo de desafio é a avaliação da infraestrutura disponível, qualidade do código implementado e criação de índices.
Este artigo
se concentra neste último ponto e aborda a teoria e prática dos índices
baseados em colunas (Columnstore). Este tipo de índice é recomendado para
ambientes OLAP (Online Analytical
Processing) nos quais usualmente são executados processos de carga de dados
em massa e podem melhorar o desempenho de suas consultas em até 10 vezes.
Autores: Weslley Moura e Emerson Silva
Cada vez mais as empresas vêm provando que os dados produzidos dentro e fora do ambiente corporativo podem ser extremamente úteis para a definição de novas estratégias ou até mesmo criação de novos produtos e serviços.
Neste contexto, armazenar os dados de uma forma estruturada e recuperável são requisitos básicos para um ambiente analítico.
No mesmo sentido, à medida que um volume maior de informações é produzido e armazenado nos bancos de dados das empresas, os procedimentos para garantir um bom desempenho destes sistemas ganham ainda mais relevância.
Um dos recursos de banco de dados utilizado para tratar o desempenho das aplicações são os índices, que são estruturas criadas para agilizar a execução de consultas disparadas contra determinadas tabelas.
Estabelecendo uma analogia com o mundo físico, pode-se comparar os índices de banco de dados aos índices de um livro. A forma mais rápida do leitor encontrar um assunto específico em um livro é procurando o tema de interesse em seu sumário. Ao encontrar o assunto de interesse, o leitor acessa a página desejada sem a necessidade de passar pelas demais.
Por outro lado, em situações em que o leitor não deseja procurar por assuntos específicos, mas sim efetuar uma leitura completa e sequencial das páginas, o índice passa a ser desnecessário, pois não será usado pelo leitor.
No mundo de banco de dados nos deparamos com as mesmas preocupações, ou seja, existem situações em que os índices são úteis e outras em que apenas ocupariam espaço e processamento de máquina se fossem criados.
Não será debatido aqui as melhores práticas para implementação e manutenção de índices de banco de dados. O nosso foco é mostrar uma nova opção para criação de índices incorporada no SQL Server 2012 que permite o armazenamento das informações dos índices em formato colunar.
Antes de debater sobre índices colunares, no entanto, serão apresentados alguns conceitos básicos sobre as estruturas de índices já existentes no SQL Server (índices clusterizados e não clusterizados). Estas opções continuam sendo importantes para o planejamento de um banco de dados que garanta integridade e bom desempenho em suas consultas.
Os índices colunares devem ser introduzidos nas arquiteturas atuais de bancos de dados que utilizam o SQL Server como incremento às estruturas e padrões de projeto já existentes. Portanto, antes de começar a implementar este novo recurso, como em qualquer outro tipo de trabalho, é necessária uma análise detalhada sobre os possíveis ganhos de sua aplicação.
Vale ressaltar ...