miércoles, 5 de septiembre de 2012

Temas tarea 05 de Septiembre



Investigar los siguientes temas:


  • 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 bases de datos mas exigentes de su empresa.


  • MyISAM.- Es el motor de almacenamiento por defecto. Se basa en el código ISAM pero tiene muchas extensiones útiles. Cada tabla MyISAM se almacena en disco de ficheros. Los ficheros tienen nombre que comienzan con el nombre de la 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 tiene una extensión .MYI(MYIndex).

  • InnoDB.- Dota a MySQL de un motor de almacenamiento transaccional (conforme a ACID) con capacidades de commit (confirmación), rollback (cancelación) y recuperación de fallas. InnoDB realiza bloqueos a nivel de fila y también proporciona funciones de lectura consistente sin bloqueo al estilo Oracle en sentencias SELECT.

  • Transacciones tipo ACID: El término ACID expresa la función que las transacciones desarrollan en aplicaciones críticas para una misión. Acuñado por los pioneros en el procesamiento de transacciones, el acrónimo ACID responde a los términos atomicidad (atomicity), coherencia (consistency), aislamiento (isolation) y permanencia (durability).

Estas propiedades garantizan un comportamiento predecible, reforzando la función de las transacciones como proposiciones de todo o nada diseñadas para reducir la carga de administración cuando hay muchas variables.


Atomicidad
Una transacción es una unidad de trabajo en la que se produce una serie de operaciones entre las instrucciones BEGIN TRANSACTION y END TRANSACTION de una aplicación. Una transacción se ejecuta exactamente una vez y tiene carácter "atómico" (de subdivisión), es decir, el trabajo se realiza en su totalidad o no se realiza en ningún caso.
Las operaciones asociadas a una transacción comparten normalmente un objetivo común y son interdependientes. Si el sistema ejecutase únicamente una parte de las operaciones, podría poner en peligro el objetivo final de la transacción. La atomicidad elimina la posibilidad de procesar un subconjunto de operaciones.

Coherencia
Una transacción es una unidad de integridad porque mantiene la coherencia de los datos, transformando un estado coherente de datos en otro estado de datos igualmente coherente.
La coherencia requiere que los datos enlazados mediante una transacción se mantengan en términos de semántica. Una parte de la responsabilidad para mantener la coherencia recae en el programador de la aplicación que debe asegurarse de que ésta exija todas las restricciones de integridad conocidas. Por ejemplo, en el desarrollo de una aplicación en la que se transfiere dinero, se debe evitar el desplazamiento arbitrario de los puntos decimales durante la transferencia.

Aislamiento
Una transacción es una unidad de aislamiento, permitiendo que transacciones concurrentes se comporten como si cada una fuera la única transacción que se ejecuta en el sistema.
El aislamiento requiere que parezca que cada transacción sea la única que manipula el almacén de datos, aunque se puedan estar ejecutando otras transacciones al mismo tiempo. Una transacción nunca debe ver las fases intermedias de otra transacción.
Las transacciones alcanzan el nivel máximo de aislamiento cuando se pueden serializar. En este nivel, los resultados obtenidos de un conjunto de transacciones concurrentes son idénticos a los obtenidos mediante la ejecución en serie de las transacciones. Como un alto grado de aislamiento puede limitar el número de transacciones concurrentes, algunas aplicaciones reducen el nivel de aislamiento en el intercambio para mejorar el rendimiento.

Permanencia
Una transacción también es una unidad de recuperación. Si una transacción se realiza satisfactoriamente, el sistema garantiza que sus actualizaciones se mantienen aunque el equipo falle inmediatamente después de la confirmación. El registro especializado permite que el procedimiento de reinicio del sistema complete las operaciones no finalizadas, garantizando la permanencia de la transacción

  • Diferencia entre MyISAM y InnoDB:
En las tablas InnoDB se puede tener integridad en los datos, esto es proporcionado solo por la integridad referencial que se pueden hacer con las tablas InnoBD ademas en estas tablas si no se llega a completar una transacción por alguna razón con las tablas InnoDB vuelven a su estado original osea no se afecta ninguna tabla mientras no se complete la transacción.

  • Como habilitar MyISAM e InnoDB en Mysql:
Para habiliar el motor de almacenamiento innodb, debemos hacer lo siguiente:
Nos vamos a la siguiente ruta "C:AppServMySQL", dentro de esta carpeta ubicamos el archivo "my.ini" lo abrimos y buscamos dentro del archivo las siguientes lineas:
my.inidijo:

# Use this option if you have a MySQL server with InnoDB support enabled
# but you do not plan to use it. This will save memory and disk space
# and speed up some things.
skip-innodb

Entonces lo que tenemos que hacer es eliminar la parte donde dice "skip-innodb", en nuestro caso solo lo pusimos como comentario de esta forma:

my.inidijo:

# Use this option if you have a MySQL server with InnoDB support enabled
# but you do not plan to use it. This will save memory and disk space
# and speed up some things.
# skip-innodb

Ahora lo que tienen que hacer es guardar, y reiniciar el servicio de mysql. Comenten si les sirvio de algo.

NOTA: Si este método no les sirve, entonces prueben cambiando el skip-inodb por engine=INNODB quedando el código de esta manera.

my.inidijo:

# Use this option if you have a MySQL server with InnoDB support enabled
# but you do not plan to use it. This will save memory and disk space
# and speed up some things.
# skip-innodb
engine=INNODB



Referencias: 

No hay comentarios:

Publicar un comentario