O Storage Engine Maria do MySQL em detalhes
Façamos agora uma abordagem mais específica do Storage Engine (mecanismo de armazenamento) Maria, do MySQL, que apresentei no artigo “MySQL movido a Maria“.
O objetivo do Maria é ser uma versão com as características do MyISAM e mais suporte a recuperação de falhas e logs detalhados.
Os dados das tabelas com este engine são armazenados em três arquivos:
- arquivo frm: definição da tabela
- arquivo mad: dados
- arquivo mai: índices
Além destes serão criados ao menos dois arquivos para armazenamento dos logs do banco de dados.
Serão suportados dois tipos de tabelas. Elas poderão ser não-transacionais, com gravação imediata em disco ou transacionais, que podem ser recuperadas em caso de falhas e com alterações rigidamente armazenadas no log. A recuperação de falhas deve ocorrer automaticamente. As operações que devem ser protegidas contra falhas deverão ser inseridas dentro de cláusulas LOCK TABLES e UNLOCK TABLES.
O suporte a transações está previsto para breve. Ao ser implementado, as transações serão executadas segundo o princípio ACID (Atomicidade, Consistência, Isolamento e Durabilidade). Esclarecendo: as transações são atômicas por serem indivisíveis, ou é realizado todo um conjunto de instruções ou nenhum deles. São consistentes porque devem obedecer as regras do banco de dados. São isolados porque instruções concorrentes não devem ter acesso aos dados no estado intermediário de uma transação. E são permanentes porque o resultado da transação deve ser consolidado, mesmo em caso de falhas.
Maiores detalhes podem ser encontrados na documentação do Maria.















[...] A proposta é que este gerenciador de armazenamento seja uma alternativa ao MyISAM com suporte a correção automática de falhas (crash-safe). Maria oferecerá suporte a ACID, Commit/Rollback, seleções concorrentes e travamento de registro. Maiores detalhes podem ser vistos no artigo “O Storage Engine do Maria do MySQL em detalhes” [...]