Base de datos

Sistemas de gestión de Bases de datos y almacenamiento

Cómo controlar y reducir la fragmentación de tablas MySQL consultando information_schema

La fragmentación tiene lugar sobretodo en tablas donde hay mucho movimiento insert/delete. Este crece mucho cuando el volumen de datos de la tabla es muy variable en el tiempo: por ejemplo en tablas de control de transacciones, de logueos de usuarios, de tablas intermedias, etc. El primer sintoma de fragmentación sería lentitud en las consultas, principalmente perceptible en tablas con muchos registros..

Open Data en el Web Congress de Barcelona

Open Data en Web Congress BarcelonaEn el Web Congress de Barcelona, asistí a una mesa redonda sobre Open Data en la que Martín Alvarez Espinar, responsable de la Oficina Española de W3C, y Jordi Graells i Costa, coordinador de contenidos e innovación de la Generalitat de Catalunya, explicaron en qué consiste la iniciativa internacional Open Data, y cómo se está materializando en proyectos concretos en algunas comunidades de España, como Asturias y Catalunya.

En DataprixTV hemos publicado dos videos de CTIC que resumen muy bien lo que es Open Data. El primero explica eso mismo, en qué consiste Open Data, y el segundo muestra un ejemplo de aplicación de Open Data y Linked Data en una aplicación web que permite visualizar online estadísticas INE sobre equipamiento y uso de las TIC y el comercio electrónico en hogares y empresas asturianas.

MySql: Trigger de conexión para auditoría de conexiones

En mysql los triggers que existen son básicos y solo a nivel de tabla. No existe como en SqlServer o Oracle un trigger que permita cazar las conexiones que se abren y obtener cierta información complementaria referente a las sesiones.
Un mal ejemplo. Se puede dar el caso que en un entorno web tengamos un granja de servidores apache y por lo que sea a alguno se le va la olla. Empieza a abrir threads en nuestro mysql de forma masiva (por el motivo que sea) y nos colapsa el servidor porque no tenemos limitidas el número de conexiones simultaneas para ese usuario. ¿Que mal rollo no? Y si encima esto pasa cuando no estamos en la oficina nos podemos encontrar que no podemos saber mucho de lo que ha pasado, por ejemplo vemos el pico en cacti pero no tenemos detalle.


Para tener algo más y poder auditar cuando y quien abre conexiones, haremos lo siguiente:  

  1. Creamos schema un schema (o no).

Traducción de terminología Oracle - DB2 LUW

Con la versión 9.7 de DB2 LUW, IBM hace un guiño a todos los DBA's de Oracle, mucho más numerosos en el mercado que los DBA's de DB2.

Para ello, en la versión 9.7 de DB2 LUW ha introducido modos de compatibilidad de Oracle que permiten realizar tareas en DB2 con la facilidad y conocimiento que tienen los DBA de Oracle. Sin embargo, es importante conocer la traslación de terminología entre Oracle y DB2 si tienes la intención de meterte en el mundo IBM DB2.

En este primer artículo sobre equivalencias entre IBM DB2 y Oracle, relaciono una serie de elementos para que esa introducción sea sencilla y se pueda leer la documentación de IBM DB2 fácilmente. Entre ellos, terminología general de estas bases de datos, versiones, utilidades y vistas.

 

Último cuadrante de Gartner para Data Warehouse, Enero de 2011

Gartner_DW_January_2011Gracias a los amigos de Ingres, nos hacen llegar el último cuadrante de Gartner sobre Bases de Datos para DataWarehouse, de Enero de 2011, en donde la clara hegemonía de Oracle se va completando con nuevas soluciones, incluyendo appliances, Bases de Datos orientadas a columnas, etc...

Vemos también como Microsoft, poco a poco, ha ido perdiendo comba con los líderes.

 

Algunos enlaces interesantes para desarrolladores

Destaco algunos artículos que han ido apareciendo últimamente IBM developerWorks sobre migraciones entre bases de datos, y que me parecen especialmente útiles. Obviamente, las migraciones son siempre hacia bases de datos DB2 o Informix, pero tanto las descripciones de arquitecturas y características como las metodologías propuestas pueden resultar muy útiles para una gran variedad de situaciones y tecnologías.

Los recursos de IBM Redbooks de esta semana

IBM Redbooks

Estos son los recursos que me han parecido más interesantes de las novedades de IBM Redbooks de esta semana

Cómo utilizar y aprovechar XML con DB2, Administración y desarrollo de aplicaciones con IDS, IBM Informix Dynamic Server y Configuración de referencia y pruebas sobre los servidores de IBM para entornos de Data Warehouse
 

Ora10g: ORA-00060 Deadlock detected

De vez en cuando puede pasar que dos sesiones que se pisen se bloqueen al intentar hacer cambios en los mismos datos (a nivel de registro o a nivel de tabla). En sistemas no concurrentes y/o bien diseñados no tiene por que pasar ya que las aplicaciones suelen estar mínimamente pensadas para evitarlo; o en todo caso en pruebas pre-producción ya se detecta y se corrige. El caso es que incluso aunque se planee evitarlos se pueden producir. En la mayoría de casos se resuelven solitos al acabar de realizar los cambios la sesión bloqueante, incluso ni nos daremos cuenta. En otros casos más infrecuentes se producen bloqueos circulares irresolubles, “deadlocks”, donde se acaba haciendo rollback de una transacción y se genera una entrada en el fichero de alerta:

ORA-00060: Deadlock detected. More info in file /opt/oracle/admin/XXX/udump/XXX_ora_28205.trc