Chegamos
a uma nova fase, que será considerada por muitos um grande marco na história de
alguns produtos, como o MySQL e seu ecossistema. Neste artigo, procurarei mostrar como o movimento de aquisição
da Sun Microsystems pela Oracle trará grandes benefícios aos usuários dos
produtos que hoje são de propriedade da Oracle e os novos recursos do MySQL
Oracle 5.5.
Um dos
assuntos que dominaram as páginas de internet por um longo tempo e geraram muitas
versões em todos os tipos de fóruns de discussões, reportagens e matérias em
todo o mundo foi a aquisição da Sun Microsystems pela Oracle. A própria
organização para a qual eu prestava serviços, depois de passar algum tempo para
regularizar sua situação de partnership
com a empresa adquirida, teve que reiniciar o processo para readequar os
negócios para adequar-se ao novo programa de gestão de parceiros e
canais, o OTN (Oracle Partner Network).
Muito se falou do futuro das tecnologias em questão (Java, MySQL, Solaris) e
muitos afirmaram que a Oracle pediria para fechar
a conta e diria à comunidade: “foi bom enquanto durou”. Mas o processo não foi
bem assim. Mesmo com todas
essas variáveis de negócio que tomou conta da órbita e do ecossistema do servidor
de bancos de dados Open Source mais
utilizado do mundo, o produto está bem valorizado – considero que seja isso o que
a Oracle necessitava para verificar se realmente ele era vastamente utilizado
ou não.
Após fechar a compra da Sun Microsystems, quanto mais barulho fosse
gerado pela comunidade de usuário e críticos, melhor. E isso já traz grandes
resultados para os negócios de MySQL, além da tranqüilidade para o
cliente que utiliza o produto, como por exemplo manter o back-end
de seus principais sistemas e não deixar de utilizar, por confiar
e saber do quanto ele poderá ajudar empresas de qualquer tamanho a diminuir o seu TCO.
A garantia é de um produto 100% dedicado para sistemas
de internet, robusto, confiável e com muitas possibilidades de escalabilidade
(replicação assíncrona e semi-síncrona). Uma dos pontos mais fortes e
confortantes de toda a história é saber que o MySQL está aportando em uma
empresa que faz software para gestão de bancos de dados desde 1977 e tem
expertise no assunto.
O estímulo a
novas melhorias e a motivação para que os projetos em andamento sejam entregues
são grandes. A busca é por fazer um MySQL melhor e entregar à comunidade
e aos clientes um produto muito melhor do que aquele que vinha sendo utilizado. A
entrega de valor ao usuário final se completa quando passamos pelos novos
recursos, que já podem ser observados ao acessar o site do produto.
A comunidade
do MySQL foi separada do site principal com o compromisso de entregar para o
cliente que deseja testar o produto. Assim, todos podem baixar a versão community do MySQL e utilizá-lo livre de bugs e sem intervenção
de features ainda não estressadas pelo time de homologação.
Tal ação dá mais
seriedade ao produto e permite que o cliente fique mais satisfeito, já que o
acesso é mais rápido ao conteúdo que realmente interessa para sua decisão. O
acesso ao site principal continua sendo realizado pelo www.mysql.com, enquanto que todo o conteúdo da
comunidade de usuários (blogs, produtos em alpha, beta, rc e etc) estão
acessíveis através do dev.mysql.com.
O que muda no
produto?
Daqui para
frente, os usuários em geral sentirão uma diferença enorme ao utilizar o MySQL
sem ter um mínimo de conhecimento relacionado com os motores de armazenamento,
ou mesmo os Storage Engines – uma das principais features do MySQL e o que dá
ao produto a vantagem de ser um plugable database.
A diferença será que agora o
MySQL deixa de ter o padrão de tabelas MyISAM para ter o InnoDB como motor de
armazenamento padrão, o que dará ao MySQL mais segurança ao trabalhar com um
ambiente maior, com integridade referencial, transações, MVCC, logs de
transação e o maior desempenho da história do produto.
Muitas outras novas features foram incluídas no InnoDB, que iniciou sua reviravolta com um projeto de um plugin que instalado no MySQL, a partir de versão 5.1.46, pode revolucionar enormemente as questões relacionadas com performance, incluindo a criação de várias instâncias de buffer_pool.
O innodb_buffer_pool_size é uma das variáveis de ambiente do InnoDB que mais importa quando o papo é performance e com o MySQL 5.5, poderá ter várias instâncias para armazenamento de índices e dados.
- Em um próximo artigo, trabalharei a instalação do InnoDB Plugin, e também descreverei as suas principais features e inovações, fazendo um paralelo entre o InnoDB Builtin, que é aquele que está presente por padrão em versão do MySQL 4.0, 4.1, 5.0 e 5.1 o InnoDB Plugin, presente por default e não habilitado em versões do MySQL após a 5.1.46.
Na última conferência de usuários do MySQL, que aconteceu no Califórnia em abril de 2010, Edward Screven apresentou a sua proposta, embasada pelos desejos da Oracle de
fazer um MySQL melhor, com muita melhorias, apresentação que pode ser baixada
clicando aqui.
Ao conferirmos a apresentação de Screven, percebemos que o ponto principal que o time tem atacado é a performance, que já era um ponto forte do MySQL. Mais performance para o ambiente organizacional significa ter mais independência para a realização de transações e maior velocidade de atendimento a demandas do negócio.
Imagine que um sistema de emissão de notas fiscais eletrônicas emita notas para a saída de mercadorias que tem que atender através da política de Just-In-Time uma linha de produção. Adicione a esse cenário um sistema que é extremamente lento para emitir tais notas. Já imaginou parar uma linha de produção de uma grande fábrica de automóveis porque o seu produto é lento? Com o MySQL isso não aconteceria, e existe um case no Brasil exatamente para provar isso.
Enfim, assim como existem mudanças em relação ao Storage Engine padrão, um bom suporte ao backup de seus bancos de dados que utilizam o InnoDB inteligentemente devia ser provido, e foi isso que o pessoal da Engenharia da Oracle pensou. Ao comprar a Sun Microsystems, a Oracle alinhou uma série de outras aquisições e levou também o InnoDB Hot Backup, que é conhecido agora como MySQL Enterprise Backup.
Muitos problemas são encontrados em ambientes onde os usuários e/ou administradores de dados consideram acertada a ideia de copiar os arquivos do DATADIR (diretório de dados) do MySQL para uma área de storage qualquer, separada do ambiente de produção. Isso funciona em 98% das vezes quando se utiliza o MyISAM, mas no caso do InnoDB, esse percentual cai para 20%.
Além de ter que mapear os tablespaces em utilização nos seus devidos lugares dentro do sistema de arquivos, o DBA ainda precisa remontar os logs de transação devido ao número sequencial de entradas, ter o arquivo my.cnf bem configurado para que todos os arquivos sejam encontrados e principalmente torcer para que durante a cópia não tenha acontecido nenhuma instabilidade que possa corromper os arquivos ibdata* (ibdata é o nome do arquivo de tablespace compartilhado do InnoDB).
Algumas novidades já podem ser vistas no InnoDB Hot Bakcup ou MySQL Enterprise Backup:
- Possibilidade de realização de backup incremental ou diferecial;
- Suporte ao formato de arquivo “Barracuda” e compressão de dados;
- Backup de arquivos de partição (tabelas particionadas);
- Backup in-memory.
Um outra novidade bastante interessante, esta que é abrangente também ao MySQL 5.1 com algum workaround adicional, é a possibilidade de se trabalhar com a replicação semi-síncrona, que na verdade permite que pelo menos um dos SLAVES da topologia de replicação receba as alterações efetuadas no MASTER.
Quando o MASTER recebe uma alteração, escreve a mesma no log binário e assegura que pelo menos um SLAVE lhe responda que recebeu e já aplicou as últimas alterações e assim libera o banco para novas transações. O mecanismo é bem extenso e há muito o que se explicar.
- Em um próximo artigo, abordarei detalhadamente como funciona a replicação semi-síncrona na prática.
Conclusão
Vejo que há uma movimentação muito especial do time da Oracle que foi designado para fazer um MySQL melhor e também aplicar mais conhecimento sobre o produto para novos e atuais clientes. Muitas novidades ainda estão por vir e o produto promete estar, assim como o Oracle, em uma posição muito privilegiada, competindo diretamente com os concorrentes diretos e indiretos da Oracle Corporation.
A parceria entre os produtos Oracle Database e MySQL foi firmada com sucesso e, agora, desejo a todos os amigos “MySQListas” que façam sua adesão a essa nova fase do produto.
Happy MySQL’ing! Até a próxima.