Arquivo da categoria: Performance

O MySQL e o uso de Cache (NoSQL)

Fiz uma pesquisa, recentemente, para entender como as pessoas estão usando cache com banco de dados, logicamente, com MySQL. O resultado, confesso que foi muito diferente do que eu imaginava.

 31% dos usuários de MySQL usam MemCache. 19% ficam o Query Cache, o cache nativo do MySQL. Isto significa que 50% usam algum tipo de cache, o que faz muito sentido para mim.

 Uma surpresa espantosa foi aqueles que disseram que “não sabem para que serve cache” e os que “não sabem dizer se usam ou não”. Estamos falando de 19% da amostragem! Tudo bem, ninguém nasce sabendo. Cheguei a conclusão que seria muito bancana intensificar a criação de artigos sobre o assunto.

Cache é para todos? Não, não é. Obviamente, todo tipo de aplicação pode tirar proveito de um cache. No entanto, às vezes o benefício trazido pelo cache é tão pequeno que não compensa usá-lo, vez que algumas novas linhas de código seriam necessárias em sua aplicação. Certamente, alguns irão discordar deste parágrafo. Mas, depois de tantos anos de consultoria, o titio chegou a conclusão que esta é uma verdade inexorável.

Continue lendo O MySQL e o uso de Cache (NoSQL)

O MySQL e a Resolução de Nomes

O MySQL e o DNS (servidor de nomes – domain name server) são dois caras que não se entendem muito bem não.  E, para reduzir esta briga ao máximo é preciso compreender como o MySQL interpreta e trata a resolução de nomes.

Primeiro, é importante dizer que a maioria das aplicações que rodam hoje em dia são do tipo servidor, ou seja, o cliente (usuário) executa a aplicação em um servidor de aplicação e não, diretamente, em seu desktop.

Continue lendo O MySQL e a Resolução de Nomes

MySQL Query Cache – Vilão ou Mocinho?

Alguém disse, algum dia que: “…invalidação de cache é uma das coisas mais terríveis em tecnologia da informação…”. Eu ouvi isso de algum guru, conhecedor do assunto, em algum evento mundo afora. A frase ficou, mas, não lembro mais o nome do dono da frase. Tudo bem, vai ver que ficou gravado no meu cache, e, quando foi invalidado não havia persistência em disco 😉

O MySQL tem vários buffers & caches. Um cara bem interessante é o MySQL Query Cache. Este cara é um cache especializado que armazena um hash das queries executadas, e frise-se, estamos falando de SELECT’s, e seus respectivos resultados.

Continue lendo MySQL Query Cache – Vilão ou Mocinho?