Facebook, Google, LinkedIn e Twitter anunciaram hoje o WebScaleSQL, um projeto colaborativo que une os engenheiros ds empresas para resolver os desafios de trabalhar com grandes bases de dados. Como o próprio nome sugere, WebScaleSQL é uma versão personalizada do MySQL para empresas da Web de grande escala.
As quatro gigantes irão compartilhar um conjunto comum de alterações do MySQL, que ficará disponível em código aberto. O projeto incluirá contribuições de equipes de engenharia do próprio MySQL e, como será aberto, outros que tiverem recursos para personalizar o MySQL serão capazes de juntar-se aos esforços e contribuir também.
Em seu blog, o Facebook revelou o que os engenheiros envolvidos no WebScaleSQL alteraram até agora para ajudar no desenvolvimento do novo projeto:
► Um framework automatizado que, para cada alteração proposta, executa e publica os resultados do sistema embutido de testes MySOL (mtr).
► Um novo conjunto completo de “stress tests” e um sistema protótipo de testes de desempenho automatizado.
► Várias alterações nos testes já realizados no MySQL, e na estrutura de códigos existentes para evitar problemas onde mudanças seguras de códigos antigos já haviam causado falhas em testes ou conflitos desnecessários. Estas alterações tornam mais fácil trabalhar no código e ajudaram a começar a criar o WebScaleSQL.
► Diversas alterações para melhorar a performance do WebScaleSQL, incluindo melhorias de buffer pool flushing, otimizações para certos tipos de consultas, apoio para a política NUMA e muito mais.
► Novos recursos que fazem o WebScaleSQL operar com mais facilidade em escala web de verdade, como o super_read_only e a possibilidade de especificar milissegundos para client timeouts.
A rede social também revelou no que sua própria equipe WebScaleSQL está trabalhando atualmente, incluindo um cliente MySQL assíncrono (links aqui e aqui), de modo que não há necessidade de conectar, enviar ou recuperar enquanto você consulta o MySQL. A equipe também adicionou seu mecanismo lógico de leitura antecipada para melhorias de velocidade de até 10x ao fazer busca completa de tabela.