Glendix es un proyecto relativamente nuevo que tiene como meta combinar el kernel de Linux con las herramientas de usuario que ofrece el sistema operativo Plan 9.

GNU/Linux es un sistema operativo libre, pero por ser estrictamente compatible con las normas POSIX lo hace poco innovador.

Plan 9 fue el sucesor de UNIX en los laboratorios Bell y ofrece características útiles y eficaces, de entre las cuales se destacan sistemas de archivos de síntesis, procesos por nombres, frescura en los gráficos, editores de texto, etc.

Ahora, el núcleo de Plan 9 es relativamente nuevo aún y por lo tanto no tiene mucho soporte para hardware. Diferente al Kernel de Linux, que con el paso de los años ha dado apoyo para cada vez más componentes de hardware.

Por tal motivo, Glendix pretende combinar el espacio de usuario de Plan 9 con el Kernel de Linux, es decir, aprovechar las mejores características de cada mundo.

(más…)

Un comando que poca gente sabe que existe es el comando SHOW OPEN TABLES. Éste permite examinar las tablas que tienes abiertas de una base de datos.

Ejemplo:

SHOW OPEN TABLES FROM test;

Donde “test” es el nombre de la base de datos. Las columnas devueltas, además del nombre de la tabla,  son:

  • In_use: muestra cuantos threads estám utilizando la tabla, ya sea que la tienen bloqueada o que esperan un desbloqueo de la misma.
  • Name_locked: se muestra cuando el nomre de la tabla está bloqueado. Es usado para DROP TABLE o RENAME TABLE, por lo tanto debería ser muy raro ver un valor distinto de cero aquí.

Gracias a esta sentencia también, podemos averigüar que tablas están en la “table_cache”, especialmente para saber si hay actividad en una tabla dada. Simplemente ejecutando “FLUSH TABLE mi_tabla” y examinando luego las tablas abiertas podemos saber si “mi_tabla” está siendo utilizada.

Como parte de una rutina de backup, en vez de ejecutar FLUSH TABLES en todas las tablas, puedes correr  SHOW OPEN TABLES y luego ejecutar el “flush” solo sobre las tablas abiertas.

(más…)

Pinal Dave, MVP (Most Valuable Professional) en SQL Server, publicó hace un tiempo una guía de “estándares” para la codificación en SQL Server (Parte 1, Parte 2), aunque la mayoría de los lineamientos pueden ser aplicados tranquilamente en cualquier código SQL.

A pesar que los estándares suelen limitarnos mucho y darnos la sensación de perder creatividad en algunos aspectos, son mucho más preferibles que a no tenerlos.

Publico abajo algunas de las reglas mencionadas en el blog de sqlauthority traducidas al español y aplicables a SQL en general (no enfocado directamente en TSQL).  (más…)

Un recurso de suma importancia a tener en cuenta en cualquier tabla de paises es la codificación estándar (normada por ISO) de códigos de paises. Esta tabla tiene sus orígenes en 1974 y su estructura contempla tres campos:

  • Alfa-2: código alfanumérico de dos caracteres (obsoletos)
  • Alfa-3: código alfanumérico de tres caracteres
  • Numérico: código numérico de tres cifras

(más…)

Generalmente, a los fines de tests o benchmarks requerimos de tablas llenas de registros, cuyo número anda en el orden de varios millones.

Para llenar un tabla de forma rápida en tan solo unas pocas repeticiones de unas instrucciones SQL, nada mejor que buscar lograr un crecimiento exponencialmente de la misma.

A continuación, te mostramos una forma muy sencilla, como bien pensada, de lograr esto haciendo uso del INSERT INTO …. SELECT. El ejemplo está desarrollado en MySQL, pero se puede adaptar a cualquier otro dialecto de SQL de otros motores bases de datos.
(más…)

Tiempo atrás ya habiamos configurado la replicación en MySQL y también hemos visto algun script para realizar backups con mysqldump. Ahora, realizar un backup con la replicación ejecutándose nos traería una pequeña modificación en nuestro script de backup, pues sería conveniente detener temporalmente la replicación e inicializandola nuevamente luego de haber realizado el backup.

(más…)

Y el gran día llegó! Hoy, leyendo entre mis feeds me entero de una muy buena noticia, la versión GA de MySQL 5.1.

Finalmente, luego de bastante tiempo MySQL 5.1 llega al fin de su fase RS (Release Candidate) para convertirse en GA (Generally Available).

Esto significa, que la compañía te garantiza que le versión alcanzó el grado de madurez suficiente para utilizarse en sistemas en producción.

(más…)

Hasta ahora no había publicado nada acerca de transacciones en MySQL, pues es mucho lo que se podría hablar del tema y son muchos los ejemplos que se podrían desarrollar para entender el alcance del tópico. Sin embargo, en el afán de hacer una publicación mounstrosa, no termino haciendo nada. Por ese motivo, me limitaré a hablar algunos aspectos del tema y a realizar algunos ejemplos básicos en varias entregas. Para esta primera publicación, me enfocaré en la confirmación de transacciones.

(más…)

Desde hace algo más de diez días, el equipo de desarrollo de MySQL Workbench publicó la primera versión de MySQL Workbench 5.1 para Linux en su blog (ver MySQL Workbench 5.1 Alpha for Linux available).

Desde hace tiempo, MySQL Workbench ha mostrado signos de vida y una constante evolución (aunque aún le queda largo camino por recorrer), pero lamentablemente esa evolución solo podía ser disfrutada desde Windows.

Finalmente, luego de una larga espera, MySQL ha publicado MySQL Workbench 5.1 para Linux, aunque aún en su versión Alpha.

(más…)

A continuación, pongo a vuestra disposición un catálogo de Consultas SQL comunes escritas para MySQL:

(más…)