{ parentesys.es :: }
Mi perfil


Fecha de publicación: 23/09/2008 04:09:18

Motores de almacenamiento de MySQL y tipos de tablas


MySQL soporta varios motores de almacenamiento que tratan con distintos tipos de tabla. Los motores de almacenamiento de MySQL incluyen algunos que tratan con tablas transaccionales y otros que no lo hacen:

  • MyISAM trata tablas no transaccionales. Proporciona almacenamiento y recuperación de datos rápida, así como posibilidad de búsquedas fulltext. MyISAM se soporta en todas las configuraciones MySQL, y es el motor de almacenamiento por defecto a no ser que tenga una configuración distinta a la que viene por defecto con MySQL.

  • El motor de almacenamiento MEMORY proporciona tablas en memoria. El motor de almacenamiento MERGE permite una colección de tablas MyISAM idénticas ser tratadas como una simple tabla. Como MyISAM, los motores de almacenamiento MEMORY y MERGE tratan tablas no transaccionales y ambos se incluyen en MySQL por defecto.

    Nota: El motor de almacenamiento MEMORY anteriormente se conocía como HEAP.

  • Los motores de almacenamiento InnoDB y BDB proporcionan tablas transaccionales. BDB se incluye en la distribución binaria MySQL-Max en aquellos sistemas operativos que la soportan. InnoDB también se incluye por defecto en todas las distribuciones binarias de MySQL 5.0 . En distribuciones fuente, puede activar o desactivar estos motores de almacenamiento configurando MySQL a su gusto.

  • El motor de almacenamiento EXAMPLE es un motor de almacenamiento "tonto" que no hace nada. Puede crear tablas con este motor, pero no puede almacenar datos ni recuperarlos. El objetivo es que sirva como ejemplo en el código MySQL para ilustrar cómo escribir un motor de almacenamiento. Como tal, su interés primario es para desarrolladores.

  • NDB Cluster es el motor de almacenamiento usado por MySQL Cluster para implementar tablas que se particionan en varias máquinas. Está disponible en distribuciones binarias MySQL-Max 5.0. Este motor de almacenamiento está disponible para Linux, Solaris, y Mac OS X . Añadiremos soporte para este motor de almacenamiento en otras plataformas, incluyendo Windows en próximas versiones.

  • El motor de almacenamiento ARCHIVE se usa para guardar grandes cantidades de datos sin índices con una huella muy pequeña.

  • El motor de almacenamiento CSV guarda datos en ficheros de texto usando formato de valores separados por comas.

  • El motor de almacenamiento FEDERATED se añadió en MySQL 5.0.3. Este motor guarda datos en una base de datos remota. En esta versión sólo funciona con MySQL a través de la API MySQL C Client. En futuras versiones, será capaz de conectar con otras fuentes de datos usando otros drivers o métodos de conexión clientes.

Este capítulo describe cada uno de los motores de almacenamiento MySQL excepto InnoDB y NDB Cluster.

Cuando crea una nueva tabla, puede decirle a MySQL qué tipo de tabla crear añadiendo la opción de tabla ENGINE o TYPE al comando CREATE TABLE :

CREATE TABLE t (i INT) ENGINE = INNODB; CREATE TABLE t (i INT) TYPE = MEMORY; 

Aunque se soporta TYPE en MySQL 5.0, ENGINE es el término preferido.

Si omite la opción ENGINE o TYPE, se usa el motor de almacenamiento por defecto, que es MyISAM. Puede cambiarlo usando las opciones de arranque --default-storage-engine o --default-table-type , o cambiando la variable de sistema storage_engine o table_type .

Cuando se instala MySQL en Windows usando el MySQL Configuration Wizard, InnoDB es el motor de almacenamiento por defecto en lugar de MyISAM.

Para convertir una tabla de un tipo a otro, use un comando ALTER TABLE que indique el nuevo tipo:

ALTER TABLE t ENGINE = MYISAM; ALTER TABLE t TYPE = BDB; 

Si trata de usar un motor de almacenamiento que no está compilado o que está desactivado, MySQL crea una tabla de tipo MyISAM. Este comportamiento es conveniente cuando quiere copiar tablas entre servidores MySQL que soportan distintos motores. (Por ejemplo, en una inicialización de replicación, tal vez su maestro suporte un motor de almacenamiento transaccional para más seguridad, pero los esclavos usan un motor de almacenamiento no transaccional para mayor velocidad.)

La sustitución automática del tipo MyISAM cuando se especifica un tipo no especificado puede ser confuso para nuevos usuarios. En MySQL 5.0, se genera una advertencia cuando se cambia un tipo de tabla automáticamente.

MySQL siempre crea un fichero .frm para guardar la definición de tabla y columnas. El índice y datos de la tabla puede estar almacenado en uno o más ficheros, en función del tipo de tabla. El sevidor crea el fichero .frm por encima del nivel de almacenamiento del motor. Los motores de almacenamiento individuales crean los ficheros adicionales necesarios para las tablas que administran.

Una base de datos puede contener tablas de distintos tipos.

Las tablas transaccionales (TSTs) tienen varias ventajas sobre las no transaccionales (NTSTs):

  • Más seguras. Incluso si MySQL cae o tiene problemas de hardware, puede recuperar los datos, mediante recuperación automática o desde una copia de seguridad más el log de transacciones.

  • Puede combinar varios comandos y aceptarlos todos al mismo tiempo con el comando COMMIT (si autocommit está desactivado).

  • Puede ejecutar ROLLBACK para ignorar los cambios (si autocommit está desactivado).

  • Si falla una actualización, todos los cambios se deshacen. (Con tablas no transaccionales, todos los cambios son permanentes.)

  • Motores de almacenamiento transaccionales pueden proporcionar mejor concurrencia para tablas que tienen varias actualizaciones concurrentes con lecturas.

En MySQL 5.0, InnoDB usa valores de configuración por defecto si no los especifica. Tablas no transaccionales tienen varias ventajas al no tener una sobrecarga transaccional:

  • Más rápidas

  • Menor requerimiento de espacio.

  • Menos memoria para actualizaciones

Puede combinar tablas transaccionales y no transaccionales en el mismo comando para obtener lo mejor de ambos mundos. Sin embargo, en una transaccion con autocommit desactivado, los cambios de tablas no transaccionales son permanentes inmediatamente y no pueden deshacerse.


Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com





Tags: 

Si esta información te ha sido útil, compártela:


Opiniones sobre el artículo

parentesys.es se reserva el derecho de suprimir, por cualquier razón y sin previo aviso, cualquier contenido generado en los espacios de participación en caso de que los mensajes incluyan insultos, mensajes racistas, sexistas... Tampoco se permitirán los ataques personales ni los comentarios que insistan en boicotear la labor informativa de la revista, ni todos aquellos mensajes no relacionados con la noticia que se esté comentando. De no respetarse estas mínimas normas de participación este medio se verá obligado a prescindir de este foro, lamentándolo sinceramente por todos cuantos intervienen y hace en todo momento un uso absolutamente cívico y respetuoso de la libertad de expresión.


MONITORES


publicada el (26/03/2010 02:03:00) por PAOLA

Comments


publicada el (29/04/2011 07:04:44) por Luis Camacho
I liked it


Para escribir comentarios debes estar registrado:


Area Privada: 

Email


Contraseña

Si no tienes cuenta de usuario, regístrate aquí
+ Informática
Code injection Warning  This post is a warning against a code injection launched on January 2, 2014...

Una cosa es decir que haces SEO y otra cosa es demostrarlo.  Mucha gente dice que hace SEO, que son expertos en optimización en buscadores, que pueden poner tu página web en primeras posiciones de Google, pero nadie lo demuestra. Nosotros lo...

Errores que cometen los hostales en Facebook  Algunos de los errores típicos que los dueños de hoteles, hostales y casas rurales comenten en Facebook, y cómo evitarlos....

SEO y posicionamiento web  ¿A quién no le suenan estas expresiones tan técnicas, de tantas veces que las hemos oído, y que nadie sabe muy bien de qué se tratan? Aquí vamos a ver cómo muchos aprovechan la con...

Google Places se cierra, la compañía hace de Google+ el centro de gravedad para búsquedas de negocios locales.  Cuando Google+ y Google+ Páginas para negocios fueron presentadas hace poco menos de un año, mucha gente en el entorno de las búsquedas locales anticipó el día en que Google fusi...

¿Tienes un Hostal y deseas aumentar tus ingresos?  40 millones de personas al año, vienen a España y se alojan en Hostales, Hoteles, y Casas rurales. La mayoría no saben español, y no van a perder su tiempo enviándote emails para ...