Como o Facebook escala utilizando open source

08set 2010, às 09:30

Publicado em Ferramentas Tecnologia | Comentários desativados »

publicado por: Magno Valdetaro

facebook

Quando se trata de de velocidade e escala de seu serviço e lidar com as demandas cada vez maiores, não tem exemplo melhor do que o Facebook. O gigante das redes sociais partiu de um serviço para os estudantes de Harvard para cerca de 500 milhões de usuários.

Porém somente esse número não reflete a demanda da empresa por armazenamento e escala. Então aqui está algumas estatísticas: Os  usuários gastam 8.000 milhões de minutos no sites todos os dias. Há 3,5 bilhão de itens de conteúdo compartilhado por semana. 2.500.000 fotos são uplodadas (neologismo desgraçado) a cada mês, e 1,2 milhões de fotos são visualizadas a cada segundo. E, como 70% dos usuários do Facebook está fora dos Estados Unidos, a quantidade de dados a serem armazenados e servidos fica ainda mais complicado pela localização dos usuários e data centers.

Como o Facebook não para de crescer, não é nenhuma surpresa, que as formas tradicionais de dimensionamento não satisfaça a sede da rede criada por Mark Zuckerberg (the social network). A empresa tem trabalhado para desenvolver ferramentas para lidar com todo esse volume de dados, tanto em termos de armazenagem e entrega de conteúdos, e tem muito open source neste Angú. Desde o início o Facebook foi construído com tecnologias open source,de acordo com David Recordon, gerente de programas open source na Facebook. Mas o uso do open source no Facebook vai além do LAMP (Linux, Apache, MySQL, PHP, Perl ou Python) ou mesmo além do Memcached, este utilizado por muitos grandes da web como: Wikipédia, Flickr, Youtube, Digg, Wordpress, Twitter, entre outros.

A empresa também criou e lançou vários projetos de código aberto e participa ativamente em outros, principalmente o Apache Hadoop.

Confira algumas das ferramentas abertas que ajudam o Facebook com a lidar com a enorme quantidades de dados:

Cassandra

Criado pelo Facebook e mantido pela Apache Software Foundation , o Cassandra é um banco de dados não relacionais também conhecido como NoSQL destinado a escala de enormes volumes de dados entre servidores. Originalmente desenvolvido para ajudar o funcionamento da caixa de busca do Facebook, Cassandra é um do crescente número de soluções de banco de dados NoSQL que tem surgido em nosso tempo.

Hive

Também um projeto Apache, Hive é uma infra-estrutura de armazenamento de dados construída em cima do Hadoop, que oferece ferramentas que permitem fácil indexação de dados, consultas ad hoc e análise de grandes conjuntos de dados. Além disso, Hive entrega uma linguagem de consulta simples chamada Hive Ql, baseada em SQL.

HipHop

A fim de economizar recursos para seus servidores, o Facebook desenvolveu o HipHop, que transforma o código fonte do PHP em C++ altamente otimizado.

Scribe

São gerados cerca de 25 terabytes de dados por dia no Facebook. Sendo nenhuma outra ferramenta mostrado eficiência em escalar este volume de dados, o Facebook desenvolveu o Scribe para registrar dados enviados em tempo real a partir de um grande número de servidores.

Thrift

Thrift é um framework desenvolvido para serviços com alta performance escaláveis , surgindo como uma alternativa tão ou mais simples do que webservices baseados em HTTP. Ele se destaca pela grande compatibilidades entre linguagens (C + +, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C #, Cacau, Smalltalk, e OCaml).

Fonte: http://www.readwriteweb.com/

Posts relacionados:

Compartilhe:
  • Twitter
  • Rec6
  • Ueba
  • doMelhor
  • Dihitt
  • FriendFeed
  • Linkk
  • Ping.fm
  • Sapo
  • StumbleUpon
  • Technorati
  • LinkedIn
  • Facebook
  • del.icio.us
  • Turn this article into a PDF!
  • E-mail this story to a friend!

Continue acompanhando através do Feed RSS, por e-mail ou via Twitter.

Comentários encerrados.

Design Kamikaze 2009-2012'

(CC) Alguns direitos reservados.

Política de Privacidade