Escalabilidade de aplicações Web: futuro vs presente = Cassandra vs Mysql+memcached

Muito interessante o post do Digg que fala sobre as tecnologias, estratégias e problemas que o Digg (assim como outras aplicações gigantes na Web) vive ao redor do tema escalabilidade.

Quando se trata de aplicações web populares como Digg, Twitter e Facebook, escalabilidade se torna um desafio e tanto, e manter a aplicação com redundância, performance e consistência gera um custo grande de manutenção e monitoramento.

Até muito recentemente, ou até hoje mesmo, muitos desses sites usam a solução de Mysql + memcached para poderem suportar o nível de escalabilidade necessário. Por exemplo, até o fim de 2008, o Facebook possuía mais de 800 servidores de memcached para poder servir mais de 28 terabytes de cache. É mole? 28 Tera de cache! E isso, só para poder servir a leitura de dados em cache.  Na hora de escrever os dados, aí usa-se uma solução de Mysql configurado com Master-Slave, e muitas vezes com particionamento vertical.

O fato atualmente é: esta solução não está mais dando conta do recado. Alguns desses sites estão saindo da solução com Mysql+memcached e estão indo para o mundo não SQL. E o que muitos deles estão adotando é o Cassandra.

Cassandra é um banco de dados distribuído, altamente escalável, baseado no conceito de BigTable.

É isso. E vem por aí uma nova era para as soluções de aplicações web de alto volume.
Vale a leitura do post do Digg.
Abcs

3 comentários:

Diego Gomes 29 de março de 2010 11:11

Cara, muito legal este post. Temos um blog que trata do assunto, o escalabilidade.com . Se tiver interesse de discutir estes assuntos ou mesmo publicar alguma coisa por lá, entre em contato!

Felipe Nascimento 6 de abril de 2010 12:15

Olá Diego
obrigado pelo comentário.
Teria grande prazer em participar do escalabilidade.com
Como fazemos? Se puder entrar em contato comigo, meu e-mail é o felipenasc AT gmail

Felipe Nascimento 3 de maio de 2010 21:58

Muito interessante o post do blog highscalability.com sobre as soluções (visão completa) usadas pelo site MocoSpace:
http://highscalability.com/blog/2010/5/3/mocospace-architecture-3-billion-mobile-page-views-a-month.html