Por que eu devo ler este artigo:É visível o aumento da relevância que os dados têm para os negócios nos últimos tempos e isso se comprova ao observar como conceitos como Big Data têm se tornado mais evidentes. Saber utilizar a tecnologia mais adequada para lidar com dados que são gerados em um volume e velocidade cada vez maiores é fundamental para conseguir extrair deles o máximo de informação. Um dos aspectos tecnológicos é a forma como o dado é armazenado e o armazenamento colunar pode ser um grande aliado para se ter um banco de dados altamente performático para consultas analíticas. Neste artigo será discutido o funcionamento de mecanismos de armazenamento de dados baseado em colunas em comparação com o baseado em linhas, quais os pontos fortes e fracos dessa abordagem e como implementar esse tipo de solução utilizando o Infobright integrado ao MySQL. O armazenamento colunar é útil quando é necessário trabalhar com tabelas com muita escrita, pouca ou nenhuma alteração e com consultas que leem grandes volumes de dados, como tabelas de log ou estruturas de Data Warehouse.

É evidente que cada vez mais as empresas enxergam os dados que detém como um de seus ativos, algo de valor que pode trazer vantagem competitiva ao saber lidar com eles. Saber interpretar os dados pode ajudar a entender mais sobre o negócio e a tomar decisões com mais eficácia. Empresas de sucesso como Google, Facebook e Amazon estão o tempo todo coletando e estudando os dados que seus usuários geram. Através desses estudos, eles podem entender melhor a sua audiência reconhecendo padrões, tendências e oportunidades, de forma a sempre tentar oferecer para os usuários algo que faça mais sentido para eles.

É importante empregar a tecnologia correta para lidar com esses dados de forma que seja eficiente e fácil de trabalhar com eles (quanto mais rápido for possível extrair informação dos dados, menor a chance de perder oportunidades). Um dos aspectos tecnológicos a ser considerado é a forma como os dados são armazenados. Saber usar a tecnologia certa faz a diferença quando é preciso processar milhões ou até bilhões de registros em poucos segundos.

Quando se pensa em banco de dados, é comum que a representação mais óbvia para ilustrar uma tabela seja algo similar a uma planilha em que temos um identificador para cada linha e uma série de colunas, cada uma com um valor. Em se tratando de um banco de dados orientado a linhas, a forma como os dados são guardados segue exatamente esse princípio e ele faz todo o sentido quando estamos tratando de dados transacionais ou cadastrais.

Sistemas transacionais são muito comuns e para esse tipo de sistema é importante que o banco de dados responda rapidamente para consultas referentes a um determinado atributo identificador (como um CPF de uma pessoa, um código de barras de um produto, etc.). Nessa situação, normalmente temos um volume grande de consultas, inserções e alterações dos dados das tabelas, mas que impactam em um volume pequeno de registros. Esse tipo de cenário é chamado de OLTP (Online Transction Processing).

Agora, considere uma tabela que guarde todos os registros de vendas de uma determinada empresa e que é necessário saber o montante total dessas vendas. Esse tipo de consulta é muito comum para a geração de relatórios, e situações dessa natureza normalmente precisam varrer grandes quantidades de dados, sendo que eles sofrem pouca ou nenhuma alteração com o decorrer do tempo. Esse tipo de cenário é chamado de OLAP (Online Analytical Processing).

Em um sistema orientado a linhas, para realizar a consulta descrita no parágrafo anterior seria preciso percorrer todas as linhas da tabela e ler todas as colunas, independentemente de elas serem necessárias ou não para se obter o resultado da consulta dada a forma como o dado é armazenado. E se a coluna que guarda o valor da venda fosse armazenada de forma totalmente independente das outras colunas da tabela? Seria muito menos custoso ler apenas os dados dessa coluna para se obter o resultado da consulta. Essa é justamente a proposta quando se trata de armazenamento colunar.

Como funciona o armazenamento colunar

A forma como um sistema de banco de dados com armazenamento colunar (também conhecido como orientado a colunas) guarda os dados é bem diferente da forma mais tradicional orientada a linhas, considere como exemplo a tabela representada na Figura 1.

Representação de uma tabela orientada a linhas ...
Quer ler esse conteúdo completo? Tenha acesso completo