sexta-feira, outubro 15, 2010

Twitter armazena dados em formato desenvolvido pela Google

A decisão foi crucial para a empresa, que, atualmente, armazena 12 TB de dados por dia com o intuito de utilizá-los posteriormente.

20100218122220aLaRa

Ao invés de escolher formatos populares como XML, CSV e JSON para armazenar dados relacionados ao sistema e aos usuários, o Twitter optou por um formato relativamente desconhecido chamado de Protocol Buffers, desenvolvido pela Google.

A decisão sobre o melhor formato foi crucial para a empresa, que, atualmente, armazena 12 TB de dados por dia com o intuito de utilizá-los posteriormente. 

"Ela está se preparando para o momento em que alcançará a marca de um trilhão de tweets", disse Kevin Weil, analista da rede social. Segundo ele, o intuito é ter ferramentas para analisar todas as informações armazenadas. A combinação da linguagem criada pela gigante de buscas, juntamente com a plataforma Hadoop e outras tecnologias associadas, deve agilizar ainda mais este trabalho, explicou Weil.

"Quando armazenado, cada tweet é composto por 17 campos, dos quais seis têm pelo menos um subcampo e a empresa, provavelmente, adicionará novos campos no futuro", comentou o analista.

A escolha de um formato para armazenar todos esses dados foi uma tarefa difícil. Uma escolha óbvia seria o tradicional XML (Extensible Markup Language). Entretanto, segundo Weil, ele seria pouco prático. "Neste formato um petabyte de um trilhão de Tweets poderia se tornar 10 petabytes", comentou.

O formato JSON (JavaScript Object Notation), embora tenha sido projetado para simplificar o XML, também é considerado pouco prático pelo especialista, à medida em que ele, assim como XML, também armazena o nome da chave de acordo com cada entrada.

Existe também o formato CSV (Comma Separated Values). Como o nome sugere, CSV separa cada elemento de dados apenas com uma vírgula. Embora simples, não é bom para os elementos de distribuição de informações em subcampos, explicou Weil. 

Uma desvantagem de todos eles é que, para conseguir acesso dentro e fora das aplicações, os desenvolvedores têm de repetidamente criar estruturas para codificar e analisar os dados, comentou.

Já o formato Protocol Buffers, amplamente utilizada na Google, pode ser ampliado para o agrupamento das informações, além de ser mais simples que o XML. Ele também consegue otimizar o processo de recriação das estruturas de dados com os aplicativos.

Embora as cópias primárias das mensagens dos usuários estejam sendo mantidas em bancos de dados MySQL e Cassandra, a empresa também está construindo uma segundo repositório de dados, rodando o software Hadoop, que pode ser usada para análises e aplicações.

Autoria: (IDG News Service - Joab Jackson)

Nenhum comentário: