INVESTIGACION
Motor de
base de datos
El Motor de base de datos es el servicio
principal para almacenar, procesar y proteger los datos. El Motor de base
de datos proporciona acceso controlado y procesamiento de transacciones rápido
para cumplir con los requisitos de las aplicaciones consumidoras de datos más
exigentes de su empresa.
Use Motor de base de datos para crear bases de
datos relacionales para el procesamiento de transacciones en línea o datos de
procesamiento analíticos en línea. Se pueden crear tablas para almacenar
datos y objetos de base de datos como índices, vistas y procedimientos
almacenados para ver, administrar y proteger los datos.Puede usar SQL Server
Management Studio para administrar los objetos de bases de datos y SQL Server
Profiler para capturar eventos de servidor.
MyISAM
MyISAM es el motor de almacenamiento por
defecto. Se basa en el código ISAM pero tiene muchas extensiones
útiles. (Tenga en cuenta que MySQL 5.0 no soportaISAM.)
Cada tabla MyISAM se almacena en disco
en tres ficheros. Los ficheros tienen nombres que comienzan con el nombre de
tabla y tienen una extensión para indicar el tipo de fichero. Un fichero .frm almacena
la definición de tabla. El fichero de datos tiene una extensión .MYD (MYData)
. El fichero índice tiene una extensión .MYI(MYIndex) .
Para especificar explícitamente que quiere una
tabla MyISAM, indíquelo con una opción ENGINE:
CREATE TABLE
t (i INT) ENGINE = MYISAM;
(Nota: Antiguas versiones
de MySQL usaban TYPE en lugar de ENGINE (por ejemplo: TYPE
= MYISAM). MySQL 5.0 soporta esta sintaxis para compatibilidad con versiones
anteriores pero TYPE está obsoleto y ahora se usa ENGINE .)
Normalmente, la opción ENGINE no es
necesaria; MyISAM es el motor de almacenamiento por defecto a no ser
que se cambie.
MyISAM soporta las siguientes
características:
·
Soporte de un tipo VARCHAR auténtico;
una columna VARCHAR comienza con la longitud almacenada en dos bytes.
·
Tablas con VARCHAR pueden
tener longitud de registro fija o dinámica.
·
VARCHAR y CHAR pueden
ser de hasta 64KB.
·
Un índice hash puede usarse para UNIQUE.
Esto le permite tener UNIQUE o cualquier combinación de columnas en
una tabla . (Sin embargo, no puede buscar en un índice UNIQUE .)
INNOBD
InnoDB es una tecnología de almacenamiento de datos
de fuente abierta para MySQL, incluido como formato de tabla estándar en todas
las distribuciones de MySQL AB a partir de las versiones 4.0. Su característica
principal es que soporta transacciones de tipo ACID y bloqueo de registros e
integridad referencial. InnoDB ofrece una fiabilidad y consistencia muy
superior a MyISAM, la anterior tecnología de tablas de MySQL, si bien el mejor
rendimiento de uno u otro formato dependerá de la aplicación específica.
Ventajas: InnoDB
·
Bloqueo de registros
·
Nos permite tener las características
ACID (Atomicity, Consistency, Isolation and Durability: Atomicidad,
Consistencia, Aislamiento y Durabilidad en español), garantizando la integridad
de nuestras tablas.
·
Es probable que si nuestra aplicación
hace un uso elevado de INSERT y UPDATE notemos un aumento de rendimiento con
respecto a MyISAM.
Transacciones ACID
ACID es un conjunto de
características o propiedades que garantizan que las transacciones en una base
de datos son fiables. En el contexto de bases de datos, una
transacción es una única operación sobre los datos.
Un ejemplo de una transacción más compleja es la transferencia de fondos de una cuenta a otra, la cual implica múltiples operaciones
individuales.
Si un sistema supera la prueba ACID, significa
que es fiable.
Propiedades ACID
* Atomicidad: cualquier cambio de estado que
produce una transacción es atómico. Es decir, ocurren todos o no ocurre
ninguno. En otras palabras, esta propiedad asegura que una operación se realiza
o no se realiza, por lo tanto no puede quedar el sistema a medias.
* Consistencia: propiedad que asegura que una
transacción no romperá con la integridad de una base de datos, pues respeta
todas las reglas y directrices de ésta.
* Aislamiento: propiedad que asegura que no se
afectarán entre sí las transacciones. En otras palabras, dos o más
transacciones sobre los mismos datos no generarán un problema.
* Durabilidad: propiedad que asegura la
persistencia de una transacción, es decir, una vez que la transacción quedó
aceptada no podrá deshacerse aunque falle el sistema
Diferencias
entre MyISAM y InnoDB
MyISAM, en la mayoría de los casos será más rápido que InnoDB en
selecciones, actualizaciones e inserciones bajo circunstancias normales.
InnoDB
también es un motor de almacenamiento ágil, pero se destaca porque incorpora
características como bloqueo a nivel filas, transacciones y diseño de tablas
relacionales. Aunque la primera de las características nombradas solo se
destaca en tablas que son “martilladas” constantes, como por ejemplo una tabla
de logs, para el resto de los casos, un bloqueo a nivel tabla es suficiente en
condiciones normales.
InnoDB se recupera de errores o reinicios no esperados del
sistema a partir de sus logs, mientras que MyISAM requiere una exploración,
reparación y reconstrucción de índices de los datos de las tablas que aun no
habían sido volcadas a disco