Como o Facebook escala utilizando open source
08set 2010, às 09:30
Publicado em Ferramentas Tecnologia | Comentários desativados »
publicado por: Magno Valdetaro

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/


























