2 de fevereiro de 2008

Storage Engine MySQL

O banco MySQL é muito usado em projetos web e é base para muitas das novidades da web hoje. Para quem utiliza banco de dados MySQL (Agora SUN) uma boa notícia.

A boa notícia é que, Michael "Monty" Widenius o desenvolvedor e fundador da MySQL, divulgou o lançamento de um novo Storage Engine para o Banco de Dados MySQL. O novo engine se chama Maria, nome da terceira filha de Monty.

Storage Engine é arquitetura responsável por manter o armazenamento dos dados e tabelas do SGBD (Sistema Gerenciador de Banco de Dados).

O MySQL tem dois tipos principais de Storage Engine:

MyISAM antiga ISAM

Storage Engine default do MySQL que tem como característica não ter controle de transações (commit/rollback). Ele vem setado como default por  oferecer mais performance frente ao outro Storage Engine, o InnoDB.

InnoDB

é o Storage Engine para quem necessita de suporte para transações ACID (Atomicidade, Conscistência, Isolamento e Durabilidade). Como é de se esperar ele possui performance inferior ao MyISAM.

Além destes também pode-se optar por outros descritos no próprio site da MySQL.

O Maria vem para suprir um problema sério do MyISAM, a falta de controles contra falhas. Bancos de dados que optam por MyISAM costumam sofrer com paradas abruptas na máquina ou processos que suportam o SGBD. É comum estas tabelas corromperem e dar uma boa dor de cabeça.

Além do controle a falha o MyISAM promete em futuras versões dar suporte a ACID. Veja os detalhes na documentação disponível.

Portanto, após algum tempo de testes sugiro aos desenvolvedores que olhem com mais carinho para seus bancos MySQL.

Nenhum comentário: