Sites parceiros

sexta-feira, 16 de março de 2012

Como a Google consegue armazenar tanta coisa?


Entenda como a gigante de Mountain View consegue dar vazão a uma quantidade enorme de dados sem deixar ninguém na mão.

Abrir a página inicial do Google, digitar um termo e aguardar pelos resultados da busca é uma das tarefas mais simples que você pode fazer na internet. O serviço da gigante de Mountain View conquistou boa parte de sua fama aliando simplicidade no uso com um eficiente algoritmo, capaz de encontrar até mesmo as opções mais remotas de sites na web.

Contudo, o que você não percebe é que por trás desse processo simples existe uma grande necessidade de recursos sendo consumidos. No exato momento em que você faz as suas buscas, milhões de outras pessoas em todo o planeta também estão fazendo o mesmo. Então, como é que não acontece uma pane no sistema e o site permanece no ar, apesar do tráfego de dados cada vez maior a que é submetido?

(Fonte da imagem: Ars Technica)

Aguentando tudo

O sistema de armazenamento de backups do motor de busca precisa ser capaz de atender a milhões de requisições simultaneamente. Além disso, o tamanho do espaço precisa crescer continuamente para acomodar as novas páginas da web. No total, esses processos consomem mais de 20 petabytes por dia.

A mesma situação vale para outros gigantes da rede mundial, como o Facebook e a Amazon. Apesar das arquiteturas tradicionais mais eficientes existentes, ainda há o risco de que um número expressivo de internautas acessando um determinado serviço ao mesmo tempo gere um gargalo no desempenho do fluxo de dados.

Milhões de acessos simulatâneos. (Fonte da imagem: Reprodução/Google)

Para conseguir dar vazão a uma quantidade de dados em constante crescimento, empresas como Google, Microsoft e Facebook adotaram um tipo diferente de solução de armazenamento: trata-se de um sistema de arquivos distribuídos tendo como parâmetro um objeto-base de armazenamento.

Em outras palavras, a arquitetura de nuvens das grandes empresas separa os metadados (dados referentes a um conteúdo específico) a partir do conteúdo em si. Ou seja, ao acessar uma foto, por exemplo, você tem acesso primeiro às informações sobre a imagem (dados) para somente depois reunir os dados e acessar a imagem propriamente dita. Essa técnica reduz consideravelmente os volumes de leitura e escrita de conteúdo.

Google File System

A Google foi a primeira das grandes empresas a enfrentar o problema do crescimento da informação em larga escala. Em 2003, os engenheiros da empresa criaram o Google File System (GFS), centro estratégico de armazenamento de dados da companhia e base para quase todos os serviços da empresa.

(Fonte da imagem: Reprodução/Google)

A empresa tende a armazenar os dados para as suas aplicações em arquivos enormes que funcionam como uma espécie de "poupa-tempo". Centenas de máquinas coletam esses dados e aplicativos específicos analisam e combinam as informações, muitas vezes quando os dados ainda estão sendo gerados.

Detalhes técnicos de como funciona o GFS são guardados a sete chaves pela empresa. Para a Google, é muito mais importante ter velocidade no acesso às informações do que qualquer outra coisa. Além disso, é importante que o sistema possa trabalhar com uma margem capaz de suprir eventuais falhas.

Contudo, alguns detalhes adicionais já são de conhecimento do público. A GFS é composta por três camadas: um cliente GFS que lida com solicitações de dados de aplicativos, um servidor-mestre, que usa um índice de memória para rastrear os nomes dos arquivos, e os servidores em si. Cada servidor-mestre é capaz de lidar com 100 milhões de arquivos.



Nenhum comentário:

Postar um comentário