Maria: motor de almacenamiento derivado de MyISAM

Maria (curioso el nombre) es un motor de almacenamiento para MySQL derivado de MyISAM y que ofrece recuperación contra fallos (crash safe). Por ahora se descarga independientemente de MySQL 5.1, pero en un futuro formará parte de él.

A parte de ser crash safe también admite logs (incluyendo operaciones de CREATE, DROP, RENAME y TRUNCATE), todos los tipos de filas de MyISAM y el típo específico de Maria.

A parte de los ficheros de la base de datos y de los log, existe un fichero (maria_log_control) que contiene información sobre el estado actual del motor Maria.

Las diferencias con MyISAM son las siguientes:

  • Hay dos tipos de tablas: las que no son transaccionales (no crash safe), siendo guardados sus datos inmediatamente. Las tablas crash safe, que guardan los datos en los logs de Maria, una vez acabada la transacción los datos se guardarán en los ficheros de la base de datos.
  • Maria soporta recuperación automática en el caso de un fallo (crash).
  • Maria admite un único usuario que escriba y varios que lean. MyISAM solo admite sentencias INSERT y SELECT concurrentes.
  • Maria forece el nuevo formato de fila llamado PAGE.
  • Maria soporta operaciones crash-safe sobre varias sentencias mediante la agrupación de las sentencias usando LOCK TABLES y UNLOCK TABLES.

No he visto nada sobre el rendimiento de este motor de base de datos, ni sobre el origen del nombre, espero poder informarme de ello.

MySQL Maria Preview