O MySQL 5.6 está em sua versão RC (release candidate). Isto significa que, ele já foi testado e, teoricamente está em vias de entrar em produção. Em pouco tempo, ele estará nas ruas.

Eu tenho acompanhado e testado, exaustivamente, o MySQL 5.6. Não, não é performance que me interessa. Busco duas características embarcadas nesta nova versão com muita ansiedade, tanto que, já coloquei esta versão em produção, real, quente, e, tem sido um grata surpresa para mim.

Realmente, o MySQL 5.6 ficou ótimo. E não, não recomendo que coloque-o em produção por enquanto, aguarde (se a ansiedade permitir) que saía a versão definitiva.

Pois bem, vamos cortar o papo furado, e, vamos ver estes dois novos recursos que estão embarcados no MySQL 5.6:

1 – Full Text Search no InnoDB

Para quem não sabe, FTS (full text search) é um índice, altamente especializado, para otimizar buscas baseadas em palavras. Um índice FTS é criado quebrando-se a coluna em palavras, ao invés de indexar a coluna toda. É muito mais rápido e eficiente que buscas com “LIKE + %” por exemplo.

Nas versões anteriores do MySQL (<= 5.5) este tipo de busca/índice só era possível em tabelas MyISAM (que não são transacionais).  Isto era (é) um parto para quem trabalha com storage engines transacionais, e, tinham (tem) que manter tabelas MyISAM como um ponteiro de busca. Um verdadeiro “middleman”.  Exemplo, tinha-se uma tabela de Produtos (innoDB) e uma Busca_Produtos (MyISAM). Faz-se busca FTS na MyISAM, pegam-se todos os ID’s para então fazer a busca final na InnoDB.

A partir da versão 5.6 do MySQL é possível utilizar-se de índices FTS, assim como, das buscas do tipo MATCH…AGAINST. Isto ficou fantástico, e, certamente, era o recurso que eu mais esperava.

2 – Memcache & NoSQL

O Memcache é o cache mais conhecido, simples, robusto e utilizado do mercado. Pode-se usar o Memcache como cache de imagens, pdf, html, e… Dados! E de fato é o parceiro ideal do MySQL há vários anos. Fácil de implementar e usar. Nos segmentos de jogos on-line, e-commerce, bibliotecas digitais é, praticamente, um mito. Lógico que, todo armazenamento no MemCache se dá em memória.

Agora, ele é embarcado no MySQL. Escrevei errado? Não, ele de fato vem integrado. Vem na forma de plugin que precisa ser instalado manualmente, mas, está lá. Isto será abordado num próximo artigo.

Apesar de ser um componente “plugável” do MySQL, preserva todas as qualidades do Memcache original, além de um recurso adicional: Gravar/Persistir os dados do Cache em disco.

E mais, pode-se aliar o Memcache plugin do MySQL com a replicação nativa para criar um cluster de Cache, persistido em disco. Fantástico!

O MySQL já tem comandos NoSQL desde sua versão 3.23 (HANDLER). Mas, agora, usa-se os comandos NoSQL do Memcache para gravar (colocar) dados em cache, e, obviamente, ler (recuperar) estes dados, além de que, claro, apagá-los.

O MySQL 5.6 ficou muito mais rápido que o MySQL 5.5, a replicação mais simples e inteligente, a instrumentação mais apurada e intuitiva, mas, estes assuntos são para discutirmos à frente.