Arquivo da categoria: Alta Disponibilidade

MySQL 5.6 – Parallel Coworker

desconfiadoPor volta de um mês atrás, escrevi um post acerca das virtudes do MySQL 5.6 RC (release candidate), dizendo que não havia problema algum e que tudo ficaria bem. Mas, agora percebo que disse isto cedo demais. Não se aflijam! Eu explicarei o motivo, e, a maioria dos usuários não foram afetados!

Antes de mais nada, agora que o MySQL 5.6 já está em produção (GA – General Available), é uma ótima idéia que todos migrassem seus RDBMS para no mínimo a versão 5.6.10 GA. No entanto, cabe dizer que ainda não obtive evidências que o problema que será descrito à seguir tenha sido resolvido, dada à sua intermitência.

Pois bem, o MySQL 5.6 trouxe uma série de novidades, destacando-se aquelas relacionadas à replicação. A replicação do MySQL sempre foi uma característica nativa robusta e interessante. No MySQL 5.6 criou-se o conceito de “parallel coworkers” (colegas de trabalho paralelos).

Para entender o conceito de paralell coworkers, e, precisamos revisitar o funcionamento interno da replicação no MySQL.

Continue lendo MySQL 5.6 – Parallel Coworker

Qual a diferença entre NAS e SAN?

Apesar da sopa (ou soupa, como diz um colega) de letrinhas ser muito parecida, e, com objetivos similares, as características são bem diferentes. E diria que até a aplicação de uma e outra encontram lugares bem distintos. Contudo, a semelhança mais marcante entre SAN e NAS é que ambos são dispositivos de armazenamento ligados em rede.

De maneira muito simplicista, é uma forma de armazenar informações, para múltiplos propósitos, de maneira organizada e centralizada. Por ser um dispositivo,

Topologia NAS

não é possível admitir que um NAS ou SAN seja os discos locais de um servidor de banco de dados, por exemplo.

Normalmente, um NAS ou uma SAN são dispositivos especializados que provém melhor performance de leitura/escrita, melhor segurança, e, obviamente, interconectividade.

NAS – Network Attached Storage

Uma típica arquitetura com NAS pode ser visto na figura “Topologia NAS” onde temos alguns servidores conectando-se a um Disk Array (conjunto de discos) via LAN através de TCP/IP. É possível montar uma infra-estrutura NAS via WI-FI, inclusive. Exemplos bacanas de uso de NAS: compartilhamento de arquivos colaborativos (excel, word, ppt, etc); repositório de imagens de um e-commerce; compartilhamento de multimedia (fotos, filmes, músicas); caixa de entrada para servidores de emails; enfim, as utilidades são diversas, mas, notem que não incluí aqui o uso com banco de dados. No entanto, os appliances NAS tem encontrado cada vez o seu nicho: Back Up. Em minha humilde opinião, acredito que este é sem dúvida a área de atuação imbatível para appliances NAS.

Continue lendo Qual a diferença entre NAS e SAN?

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)