Compressão de banco de dados DB2 com BLU Acceleration

BLU Acceleration é o nome dado a um conjunto de tecnologias introduzidas na versão 10.5 do DB2, focadas no processamento analítico, e com o objetivo de oferecer compressão de dados baseado em três proposições de valor: reduzir custo, otimizar a utilização do hardware e melhorar o desempenho.

Compressão em banco de dados ainda é um tabu para grande parte dos DBAs, muito por conta do desempenho sofrível nos primórdios desta tecnologia. Era praticamente impossível encontrar cenários em que a compressão fosse uma opção melhor do que simplesmente adicionar mais discos.

Se você é um destes DBAs que não querem saber de compressão, eis algumas vantagens das tecnologias atuais que podem fazer você mudar de ideia:

Espaço. Obviamente, economizar espaço em disco é o que vem à cabeça quando falamos de compressão, e espaço em disco não é mais tão barato assim como costumávamos dizer. Em tempos de Big Data, no qual os bancos de dados crescem em taxas colossais, otimizar o uso do espaço em disco passou a ser visto com outros olhos.

Desempenho. Isso mesmo, desempenho. Compressão significa que cada leitura traz mais dados. Menos leitura significa menos tempo de espera no sistema de disco. Não importa o quão rápido ele seja, o disco ainda é o componente mais lento, e evitar o seu acesso é sempre uma boa ideia.

Memória. Se estamos trazendo dados compactados, consequentemente, fazemos uso mais inteligente da memória. Menos memória para um processo em particular significa mais memória disponível para todo o sistema.

E tratando-se especificamente do BLU Acceleration, como ele consegue essas proezas?

  • Usando uma técnica de compressão que preserva a ordem lógica da query para permitir sua execução com os dados compactados, fazendo a descompactação apenas no final.
  • Armazenando os dados dinamicamente na memória e organizados por coluna (ao invés do tradicional por linha), evitando assim a necessidade de índices, MQTs ou MDCs.
  • Melhorando o processamento paralelo. Agora os planos de acesso para tabelas organizadas por coluna fazem o uso de todos os cores do servidor simultaneamente para melhorar o desempenho das queries de processamento analítico.
  • Explorando recursos do processador através de instruções SIMD (Single Instruction, Multiple Datastreams), que permite processar grandes quantidades de dados através de uma única instrução e operando na velocidade dos registradores – muito mais rápidos que a memória RAM.
  • Mantendo o controle de quais páginas de dados contém os valores da coluna, e dessa maneira evitando operações de I/O e processamento simplesmente ignorando os dados que não se qualificam para determinada consulta.

Imagine um banco de dados com 10 TB de dados em disco. Ele então é compactado e armazenado na memória RAM usando apenas 1 TB. O armazenamento dos dados por coluna significa que, em uma determinada consulta, apenas 10 GB e dados é acessado, sendo que, destes 10 GB, apenas 1 GB se qualifica para esta consulta. O processamento destes dados são espalhados para vários cores, portanto, cada um fica responsável por apenas 32 MB, e o uso do SIMD significa que eles serão processados muito mais rapidamente. Esse é um resumo muito simplificado do funcionamento do BLU.

Do ponto de vista prático, o BLU está integrado ao DB2, que foi estendido para criar e gerenciar tabelas armazenadas por coluna (além do armazenamento por linha e XML). Agora o DB2 possui um novo núcleo que sabe como como acessar esses dados organizados por coluna. As tabelas com BLU podem ser criadas sem preocupação com o funcionamento da compressão, indexação ou otimização. Ele automaticamente gerencia seu desempenho ao longo do tempo, de maneira a evitar degradação a medida que o banco de dados é usado.

O DB2 BLU mostra que não é preciso desenvolver um novo sistema de banco de dados a partir do zero para se adaptar às tecnologias de hardware atuais, ou para alcançar melhorias revolucionárias em desempenho e compressão para processamento analítico. Esta revolução, através de conceitos de evolução, permitiram a introdução sem disrupção de uma tecnologia radicalmente nova, preservando as demais funcionalidades do banco de dados.

Quer testar? Baixe uma versão de avaliação em:

http://www.ibm.com/developerworks/downloads/im/db2/index.html

Referências:

Eaton, Chris (21-08-2013).BLU Acceleration and 7 Big Ideas. Toolbox.com. Acessado em 24-08-2013.
Nelson, Philip (08-04-2013).DB2 10.5 with BLU Acceleration: Some Thoughts. Toolbox.com. Acessado em 24-08-2013.
Raman, Vijayshankar, L et al. DB2 with BLU Acceleration: So Much More than Just a Column Store IBM Research, 2013.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *