Em 14-10-2011 14:23, Guimarães Faria Corcete DUTRA, Leandro escreveu:
> Não é verdade. O problema do Twitter foi com o MySQL, não com o
> modelo relacional.
O MySql é muito usado hoje porque notadamente escala melhor em enormes
quantidades de requisições. Ele consegue isto sendo apenas um
repositório de dados com o myisan que é muito menos rigoroso com relação
ao que o modelo relacional exige: restrição de tipos não é levada a
sério, nada de foreign keys, transações, etc...
>> Ele agora usa Apache Cassandra.
>
> Apenas parcialmente, e continua parando…
E se usasse PostGreSql? Como ele se comportaria com um pico de 1.6
bilhões de querys por dia? e picos de 18 mil tweets por segundo? Tente
colocar um foreign key aí pra garantir integridade dos dados.
Integridade para que? Se um twetter for perdido, lança-se outro e pronto.
Sua confiança no Elefante e no modelo relacional é admirável, mas as
vezes isso te cega. E o faz de tal forma que você não consegue perceber
que toda a ferramenta foi feita para um propósito em mente e que o
PostGreSql (eu gosto de caixa alta) não foi feito para resolver todos os
problemas do mundo.
Um último detalhe, os engenheiros do Twitter estão trabalhando em um
novo sgdb NoSql [1] ainda mais leve que o Cassandra feito em Scala. Já
está em produção inclusive e com uma performance incrível, e estou
falando da performance que o twitter precisa, não a que você acha que
ele precisa. Eu gostaria de ver o PostGreSql (sim, usei novamente a
caixa propositalmente, eu gosto dela) escalando horizontalmente em
centenas de servidores e servindo 100k leituras e 20k escritas por segundo.
O que você tem de bom é conhecer bem o modelo relacional, o que tem de
ruim é achar que ele é a solução para tudo, conhecer bem significa
também saber suas limitações.
[1] https://github.com/twitter/flockdb
--
Shander Lyrio
http://about.me/shander
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral