31 janeiro 2009

Matt Mullenweg: Utilize muitas tabelas com PHP e MySQL para escalabilidade

Ninguém precisa questionar a autoridade de Matt Mullenweg com PHP. Ele simplesmente desenvolveu o sistema de blogs mais popular do mundo: Wordpress.

Depois de criar o Wordpress, Matt e companhia lançaram o Wordpress.com, um site gratuito de blogs baseado no Wordpress MU. Atualmente o Wordpress.com hospeda mais de 4 milhões de blogs.
Se alguem sabe criar como criar um site com boa escalabilidade, é o Matt. Em 2006 ele explicou porquê o Wordpress utiliza uma tabela do MySQL separada para cada blog, ao contrário de usar uma tabela gigante para todos os blogs.

"Nós testamos essa técnica para o MU, mas descobrimos que é muito 'caro' escalar após um determinado ponto. Com estruturas monolíticas, você esbarra em uma parede baseada no seu hardware. No MU, os usuários são divididos e é possível particionar facilmente, por exemplo no WordPress.com nós temos usuários particionados entre 4096 bases de dados, o que te permite escalar eficientemente para centenas de milhares e até milhões de usuários com tráfego extremamente alto."


Poder migrar essas tabelas permite que o código e os blogs sejam executados mais rapidamente. Paralelamente, a utilização de cache e o uso inteligente de banco de dados, Matt mostrou que sites extremamente populares como Facebook e Wordpress.com podem administrar incríveis quantidades de informações

Obs.: Este post é o segundo de uma série que mostra dicas de desenvolvimento pelos mestres do PHP. O post original em inglês foi feito pelo Glen Stansberry e pode ser visto clicando aqui

Nenhum comentário:

Postar um comentário