Migrando Legados para MySQL 5.7 com Query Rewrite Plugin - Parte 1

Uma funcionalidade que pode fazer a diferença e viabilizar projetos de migração de legado para MySQL é a Query Rewrite Plugin. Com ela é possível interceptar comandos que são enviados ao MySQL e modificá-los online, sem a necessidade de alterar a aplicação.
Neste post, vamos entender como utilizar este recurso, com um exemplo real usando Moodle 2.3 no MySQL 5.7.

O que é o Query Rewrite PluginA partir do MySQL 5.7.6 há suporte para os Rewrite Plugins, que podem examinar e seletivamente reescrever comandos recebidos pelo servidor antes que sejam executados.
Quando uma instrução é recebido pelo MySQL Server, por exemplo um SELECT * FROM tabela where id = 1, ele passa por um parser que vai validar sintaxe e semântica, entre outros passos. Depois disso, o Otimizador de Consultas entra em ação, gerando e selecionando o melhor plano de execução para a query. Finalmente, o melhor …

[Leia mais]
MySQL InnoDB Cluster, now with remote nodes!

In this post I’m going to extend the tests I made with MySQL InnoDB Cluster on the previous post, creating a group of instances with separate servers, that is, I’m going to test how to create a new cluster with three different machines considering that, if you create a cluster using one giant server, maybe […]

Amazon RDS para SQL Server – Suporte para Backup/Restauração Nativos para Amazon S3

Os leitores regulares dos meus artigos sabem que eu sou um grande fã do Amazon Relational Database Service (RDS). Como um serviço de banco de dados gerenciado, ele cuida dos aspectos mais rotineiros de configuração, operação e a escalabilidade de um banco de dados relacional.

Nós lançamos suporte para SQL Server em 2012. Continuando o nosso esforço para adicionar recursos que incluíram o suporte para SSL, as principais atualizações de versão, …

[Leia mais]
Novo MySQL 8.0 lançado!

Todos os anos novos produtos são lançados. Na área de TI não é diferente. Já vi muita coisa boa ser lançada, reeditada, copiada… Mas, também já vi muito lixo tecnológico e “emblomation” de marketing. Nestes 34 anos de TI, já […] ↓ Leia o restante deste post...

MySQL 8.0 – SET PERSIST

Fala galera. MySQL 8 DMR foi disponibilizado hohe e ele traz algumas novas funcionalidades bem legais. Uma delas é a habilidade de persistir variáveis/configurações entre restart’s. Essa opção é bastante interessante se trocamos variáveis dinâmicas. Isso nos poupa de ter que editar o arquivo .cnf toda a vez que executamos um SET no MySQL(Ou mesmo quando não temos acesso aos arquivos no disco).
A nova sintaxe para o comando é a seguinte:

SET PERSIST option=value;
SET @@persist.option=value;

O MySQL vai criar um arquivo chamado mysqld-auto.cnf. Este arquivo estará localizado na pasta do datadir. Este arquivo irá conter todas as variáveis que foram setadas com o PERSIST e este arquivo será carregado depois de todos os outos (my.cnf / –defaults-file / ~/.my.cnf / …). Isto quer dizer que as variáveis configuradas neste arquivo vão prevalecer perante as demais.

Estas configurações podem ser …

[Leia mais]
MySQL 8.0 – SET PERSIST

Fala galera. MySQL 8 DMR foi disponibilizado hohe e ele traz algumas novas funcionalidades bem legais. Uma delas é a habilidade de persistir variáveis/configurações entre restart’s. Essa opção é bastante interessante se trocamos variáveis dinâmicas. Isso nos poupa de ter que editar o arquivo .cnf toda a vez que executamos um SET no MySQL(Ou mesmo quando não temos acesso aos arquivos no disco).
A nova sintaxe para o comando é a seguinte:

SET PERSIST option=value;
SET @@persist.option=value;

O MySQL vai criar um arquivo chamado mysqld-auto.cnf. Este arquivo estará localizado na pasta do datadir. Este arquivo irá conter todas as variáveis que foram setadas com o PERSIST e este arquivo será carregado depois de todos os outos (my.cnf / –defaults-file / ~/.my.cnf / …). Isto quer dizer que as variáveis configuradas neste arquivo vão prevalecer perante as demais.

Estas configurações podem ser …

[Leia mais]
MySQL 8.0 DMR, new features, part 1

I would like to start this telling the reader that this is going to be the first of some blog posts I’m planning to exploit subjects around MySQL 8.0, as I have been testing its features. As I’m an Oracle ACE Director, part of the Oracle ACEs program, I received from my friend Fred Deschamps, […]

Uber está migrando do PostgreSQL para o MySQL

Hoje eu trago para vocês um artigo publicado no Uber Engineering, que fala sobre os motivos técnicos que os fizeram mudar sua arquitetura do PostgreSQL para o MySQL. Eles iniciaram a sua arquitetura com python e PostgreSQL, mas sempre existirá uma evolução para atender as necessidades que aparecem com o passar do tempo.

A mudança não foi causado por motivos fúteis, mas sim por motivos técnicos concretos e que fizeram com que a equipe de engenheiros deles adotasse o MySQL como parte de sua arquitetura para persistência de dados. O artigo está em inglês e bem detalhado. Indico a leitura, pois, muitas vezes achamos que o MySQL, PostgreSQL ou SQL Server são “perfeitos” para o nosso projeto, e no futuro descobrimos que não. Por este motivo é sempre bom ter a mente aberta à mudanças.

Para ler o artigo, basta acessar o link

[Leia mais]
Uber está migrando do PostgreSQL para o MySQL

Hoje eu trago para vocês um artigo publicado no Uber Engineering, que fala sobre os motivos técnicos que os fizeram mudar sua arquitetura do PostgreSQL para o MySQL. Eles iniciaram a sua arquitetura com python e PostgreSQL, mas sempre existirá uma evolução para atender as necessidades que aparecem com o passar do tempo.

A mudança não foi causado por motivos fúteis, mas sim por motivos técnicos concretos e que fizeram com que a equipe de engenheiros deles adotasse o MySQL como parte de sua arquitetura para persistência de dados. O artigo está em inglês e bem detalhado. Indico a leitura, pois, muitas vezes achamos que o MySQL, PostgreSQL ou SQL Server são “perfeitos” para o nosso projeto, e no futuro descobrimos que não. Por este motivo é sempre bom ter a mente aberta à mudanças.

Para ler o artigo, basta acessar o link

[Leia mais]
Escalando o MySQL com Docker e MaxScale

Vocês já conhecem o MySQL, mas já conhecem o MaxScale e o Docker?

A necessidade de se ter um serviço que fique 100% do tempo no ar, vem se tornando cada vez maior, principalmente quando falamos de banco de dados. Ter dois servidores que funcionem como Failover para catástrofes ( MASTER e SLAVE ) já não é mais suficiente. Você precisa ter uma arquitetura que suporte a carga de acessos e atenda a todas as requisições de forma ágil.Para isso, você precisa saber escalar a sua arquitetura.

O que é Escalabilidade?

Quatro características são essenciais para atingir os altos níveis de escalabilidade que as empresas atuais requerem. São elas:

  • A habilidade de tratar grandes cargas de trabalho;
  • A habilidade de entregar altos níveis de performance;
  • A capacidade de crescer fácil e rapidamente;
[Leia mais]