miércoles, 1 de marzo de 2017

Arquitectura Logica de MySQL


La siguiente figura es una visión abstracta de la arquitectura lógica de MySQL. La figura hace una división entre los componentes que conforman el servidor, las aplicaciones cliente que lo utilizan y las partes del sistema operativo en las que se basa el almacenamiento físico.



¿Cómo seleccionar el motor de almacenamiento?

No hay una receta única que permita definir el motor de almacenamiento. La selección debe hacerse una vez tenemos el modelo lógico de la base de datos y conocemos los requisitos de rendimiento y no funcionales de la aplicación o aplicaciones que vamos a construir.
La sentencia SHOW ENGINES nos muestra la lista de motores en MySQL, incluyendo el motor por defecto y los que no están disponibles con la configuración actual. El resultado para MySQL 5.1. es el siguiente:
EngineSupportComment
MyISAMYESDefault engine as of MySQL 3.23 with great performance
MEMORYYESHash based, stored in memory, useful for temporary tables
InnoDBDEFAULTSupports transactions, row-level locking, and foreign keys
BerkeleyDBNOSupports transactions and page-level locking
BLACKHOLEYES/dev/null storage engine (anything you write to it disappears)
EXAMPLENOExample storage engine
ARCHIVEYESArchive storage engine
CSVNOCSV storage engine
ndbclusterNOClustered, fault-tolerant, memory-based tables
FEDERATEDYESFederated MySQL storage engine
MRG_MYISAMYESCollection of identical MyISAM tables
ISAMNOObsolete storage engine
De la tabla anterior solo podemos tener nociones iniciales del tipo de gestor, y dirigirnos a alguno de ellos para casos concretos, por ejemplo, ndbcluster tiene características únicas si necesitamos soporte para alta disponibilidad. No obstante, hace falta conocer más en profundidad las características de cada uno para tomar decisiones, y en ocasiones es necesario hacer pruebas de rendimiento con varios de ellos para compararlos y seleccionar el que mejor se ajusta a nuestras necesidades.

No hay comentarios:

Publicar un comentario