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:
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.
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
·
Soporte de transacciones
·
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.
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
Referencias:
http://msdn.microsoft.com/es-es/library/ms187875.aspx
http://dev.mysql.com/doc/refman/5.0/es/myisam-storage-engine.html
http://www.tufuncion.com/myisam-vs-innodb
http://www.alegsa.com.ar/Dic/acid.php
http://es.scribd.com/doc/50104283/Diferencias-Entre-MyISAM-y-InnoDB
http://luauf.com/2008/07/06/mysql-myisam-vs-innodb/
http://cambrico.net/mysql/habilitar-innodb-en-mysql
http://msdn.microsoft.com/es-es/library/ms187875.aspx
http://dev.mysql.com/doc/refman/5.0/es/myisam-storage-engine.html
http://www.tufuncion.com/myisam-vs-innodb
http://www.alegsa.com.ar/Dic/acid.php
http://es.scribd.com/doc/50104283/Diferencias-Entre-MyISAM-y-InnoDB
http://luauf.com/2008/07/06/mysql-myisam-vs-innodb/
http://cambrico.net/mysql/habilitar-innodb-en-mysql
No hay comentarios:
Publicar un comentario