reparar

  • La cosa es que anoche se me "colgó", "tildó", o como quieran llamarle, el control remoto del aire acondicionado. Si el control remoto corriera Windows seguro me tiraba una bonita BSOD en el display LCD. ¿Y cómo cuernos arreglo un control remoto que se ha quedado "colgado"? En este artículo está el truco para quedar como un campeón.

  • MyISAM era el motor de almacenamiento (storage engine) por defecto en MySQL hasta la versión 5.5.5. Está basado en el viejo (y ya no disponible) motor de almacenamiento ISAM (Indexed Sequential Access Method) desarrollado por IBM. A pesar de ser viejo y tener varias desventajas (no soporta transacciones, claves foráneas, ni locks a nivel de filas), aún conserva algunas extensiones útiles. En la versión 5.5.5 de MySQL, el motor de almacenamiento por defecto fue cambiado a InnoDB.

    MyISAM está optimizado para entornos con grandes cantidades de operaciones de lectura y pocas escrituras, o ninguna. Esto se debe a la estructura de sus índices: cada entrada apunta a un registro en el archivo de datos, donde el puntero es un simple offset desde el comienzo del archivo. De esta forma los registros pueden leerse rápidamente, especialmente cuando su formato es fijo (es decir, las filas tiene una longitud constante). Los inserts son simples porque las nuevas filas se agregan al final del archivo. Sin embargo, las operaciones de borrado (delete) y actualización (update) son problemáticas: cuando se borra se debe dejar un espacio en blanco (de lo contrario se pierde la integridad de los offsets de los índices). Lo mismo para las actualizaciones si cambia el ancho de la fila: si se acorta se deja un espacio en blanco, y si se amplía la fila queda fragmentada. Esto implica una sobrecarga de administración, ya que es necesario optimizar y defragmentar tablas luego de muchos inserts/updates.

    Aunque el mayor problema de las tablas ISAM/MyISAM es su pobre robustez y resistencia ante fallos. Las tablas MyISAM se corrompen fácilmente ante caídas del sistema. Por lo tanto, luego de un crash en un servidor de bases de datos que posee tablas MyISAM, es necesario verificar y reparar las mismas.