Banco de Dados Orientado a Coluna?

Posted on by 1 comment

Este é um assunto que não está muito ligado à SOA, mas gostaria de compartilhar com vocês uma tecnologia que é parte da maioria dos sistemas: o banco de dados. Algumas semanas atrás conversei com um representante de um grande fornecedor americano de banco de dados. Ele me apresentou algo que, para mim, era novo: o banco de dados orientado a colunas.

Este conceito não é novo. Como funciona?

Vejamos, como exemplo a tabela abaixo:

Pois bem, em um banco de dados relacional “orientado a linhas”, todos os dados são armazenados em uma linha, após o último elemento desta linha vem o primeiro elemento da linha seguinte:

2152, Eduardo, “R Estela, 222″, SP; 3421, Mariana, “R Gov Pedro, 34″, CE;

Se estes dados estivessem armazenados em um “orientado a colunas”, teríamos a informação da mesma coluna armazenada em sequencia, com o final de uma coluna seguida do primeiro elemento da coluna seguinte. Parece complicado, mas não é, veja:

2152, 3421, 2156; Eduardo, Mariana, Ricardo; “R Estela, 222″, “R Gov Pedro, 34″, “R Jaguare. 45 ap.61″; SP,…

Claro que todos os bancos de dados tem seus mecanismos para ganhar performance, mas não vamos tratar deste assunto aqui.

Dependendo da forma como o dado é recuperado, o banco de dados “orientado a colunas” é mais eficiente. Veja uma tabela onde um é melhor que outro:

Como podemos ver cada situação exige uma abordagem diferente.

O Caso do Yahoo!

O Yahoo! tem um case interessante de utilização de “column-oriented database”, como nos conta este post da ComputerWorld. Segundo o autor, o Yahoo! tem o datawarehouse mais rápido utilizando a tecnologia de bancos de dados “orientado a colunas”.

São mais de 2 petabytes de dados e, segundo o VP Waqar Hasan, irá crescer várias dezenas até o final de 2009. A empresa utiliza o SybaseIQ.


Até tu Google?

Claro que o onipresente Google não poderia ficar de fora. Não encontrando nenhuma solução que tivesse uma performance exigida pelos seus clientes, o gigante de buscas construiu seu próprio banco de dados, chamado pelo sugestivo nome de BigTable.

O BigTable foi construido utilizando um file system também do Google, o Google File System (GFS). YouTube, Google Earth, Blogger, Orkut, Google Maps etc são usuários deste banco de dados.

BigTable é considerado um DBMS extremamente rápido e, sim, várias características de bancos de dados “orientado a colunas”. Na verdade possui características de bancos de dados tradicionais também (“orientado a linhas”). Foi projetado para ter vários petabytes e ser distribuido através de centenas e milhares de máquinas (vide a nuvem do Google).

One comment on “Banco de Dados Orientado a Coluna?

  1. [...] Fonte: http://soasimples.com/blog/?p=240 [...]

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>