Pentaho Data Integration (Kettle) en Debian Wheezy

diagrama-modelo-conceptual-kettle

La suite de inteligencia de negocios Pentaho, entre las distintas soluciones que ofrece cuenta con la herramienta de Integración de data (Pentaho Data Integration) mejor conocida como Kettle cuyo nombre es un acrónimo recursivo de “Kettle Extraction Transformation Transportation & Loading Environment”. Dicha herramienta permite realizar operaciones de ETL (Extraction, Transformation and Load), sobre diversas fuentes de datos y con múltiples opciones para ello.

diagrama-modelo-conceptual-kettle

Adaptación de Kettle Conceptual Model.pdf

La pagina web oficcial de Kettle es http://kettle.pentaho.com/ en la cual se llega al repositorio en SourceForge para descargar la ultima versión estable. A la fecha de esta entrada la ultima versión disponible es la 4.4

El URL directo para descargar es http://sourceforge.net/projects/pentaho/files/latest/download y si tiene alguna confusión haga clic en: pdi-ce-4.4.0-stable.tar.gz

Descomprimir el archivo que descargamos con clic derecho o por terminal así:

Sigue leyendo

Monty Widenius habla sobre NoSQL y Big Data

NoSQL y los grandes volúmenes de datos
Michael-Widenius-maxdb-mysql-mariadb

Creador de MaxDB, MySQL y MariaDB
Michael Widenius comenta:

“La razón principal de que NoSQL se hiciera popular es que, a diferencia de SQL, se puede comenzar a utilizarlo sin diseño alguno. Esto hace que sea más fácil comenzar con NoSQL”

“Entonces, los beneficios principales (al menos antes de MariaDB) de la mayoría de soluciones NoSQL son:

✓ Acceso rápido a los datos (siempre y cuando pueda tener todo en la memoria)
✓ Replicación rápida de datos repartidos en muchos nodos.
✓ Esquema flexible (se puede añadir nuevas columnas al instante).”

“Más rendimiento y más esquemas flexibles son los dos principales impulsores de NoSQL.”

“SQL no va a desaparecer. NoSQL no puede reemplazarlo. Casi todo el mundo necesitara relaciones (JOIN’s) para utilizar sus datos. Sin embargo, hay lugares donde NoSQL tiene sentido. Creo que, en el futuro, se verá más combinado SQL y el uso de NoSQL.”

Entrevista completa: http://readwrite.com/2013/01/21/dont-write-off-relational-databases-for-big-data-just-yet

pgFouine – Análisis de logs PostgreSQL en Debian

analisis-log-postgres-pgfouine

PgFouine, analiza las bitácoras (logs) de la base de datos PostgreSQL para generar informes detallados sobre el uso y abuso de consultas SQL que bien sabemos tienen una gran incidencia en el rendimiento y la carga que tendrá el manejador de base de datos y el servidor que lo aloje, con fin de optimizar y realizar los ajustes necesarios para mejorar el desempeño del mismo. Esta escrito en el lenguaje de programación PHP y se distribuye como software libre por lo que podrían generar los informes con logo personalizado, agregar particularidades, funcionalidades, mejorarlo, etc…

¿Como funciona pgFouine?

PgFouine realiza un análisis al archivo de log generado por PostgreSQL con el cual genera informes, que nos indicara que consultas SQL son las que mas tardan, cuales son mas frecuentes, cuantas consultas DML están presentes en ese archivo log, inclusive generando gráficos los cuales nos facilitara mucho la tarea de determinar o hacer seguimiento al comportamiento de nuestras bases de datos.

En un sistema operativo Debian GNU/Linux ó alguno de sus derivados(Canaima, Mint, Ubuntu) lo instalamos con un sencillo:

#aptitude install pgfouine

También pueden descargar el código fuente y luego de descomprimir el .tar.gz ejecutar con php el archivo pgfouine.php

pgFouine puede ser usado de dos maneras. Configurando los logs que genera PostgreSQL para usar las facilidades de syslog del sistema operativo, o mediante salida estándar stderr que es como viene por defecto la configuración del log generado por el manejador de base de datos. El propio equipo de pgFouine recomienda usar la vía del syslog por que resulta mas eficiente para su software ya que mediante la via stderr se pudieran encontrar inconsistencias en el informe generado. Nosotros usaremos la via del syslog.

1.- Configurar correctamente los log de PostgreSQL

Abrir con el editor preferido (nano, vi, vim, emacs, edit, etc… ) el archivo de configuración de postgresql: /etc/postgresql/8.4/main/postgresql.conf

ubicar la sección:

#——————————————————————————

# ERROR REPORTING AND LOGGING

#——————————————————————————

descomentar la siguiente linea:

#log_destination = 'stderr'

y dejarla asi:

log_destination = 'syslog'

Sigue leyendo

Disco Duro en GNU/Linux: mejora de la velocidad y de la seguridad

disco-duro-linux

Ponencia de Juan Piernas Cánovas sobre discos duros en sistemas basados en GNU/Linux, que tiene por nombre: Almacenamiento en disco: mejora de la velocidad y de la seguridad

A mi parecer la mejor explicación disponible en internet y en nuestro idioma sobre el funcionamiento a nivel lógico de discos duros, medidas de seguridad y mejoras para lograr mayor rendimiento en nuestros discos duros.

¿Tenemos que gastarnos mucho dinero para conseguir velocidad y seguridad?
pues la respuesta es que no. Y es que no por que para conseguir esas dos cosas podemos hacer uso del software.
“Y como veremos el software va a ser fundamental para conseguir tanto un incremento en velocidad, como un incremento de la seguridad.”

El vídeo nos ayuda a entender:

  • Estructura del almacenamiento
  • Planificadores de E/S
  • Organización de uno o varios discos duros
  • RAID (Redundant Array of Independent Disks) y LVM (Logical Volume Manager)
  • Ideas, consejos y sugerencias.
disco-duro-linux

Sistema de Ficheros y Sistema de Archivos como lo conocemos en Venezuela y latinoamérica es lo mismo.

Aquí les voy a responder a una de las preguntas que a lo mejor muchos de nosotros nos hacemos.

En Linux hay un montón de sistemas de ficheros (etx2, etx3, XFS, JFS, ReiserFS) , ¿Que sistema de ficheros utilizamos?

Pues la respuesta es que depende. No hay una única respuesta. Si hubiera un único sistema de ficheros, que fuera el mejor de todos, todos utilizaríamos ese sistema de ficheros.

Pues la realidad nos dice que depende de para que utilicemos el disco duro, que programa vallamos a ejecutar, que fichero vallamos a almacenar un sistema de ficheros puede ser mejor que otro.

Sigue leyendo

Explicación somera de Tweets de Tecnología

Es muy común para los que usamos twitter pensar:

¿Los tweets enviados simplemente pasan a la historia?

¿Quién los leerá pasado un tiempo? y ¿Como harán para llegar a ellos?

¿Alguien podrá encontrar esos 140 caracteres transcendentales que enviamos en algún momento?

A la fecha de este artículo mi cuenta @leninmhs tiene solo 650 tweets enviados (140*650 = cerca de 91.000 caracteres aproximadamente), siquiera yo puedo encontrar alguno que me interese como referencia de un tema técnico,  para dárselos a un conocido, o para volverlo a transitar. La propuesta que traigo es sencilla, seleccioné los tweets orientados a tecnologías libres (privativas solo para criticarlas) sobre los que he escrito, de esta forma pueden encontrarlos a partir de un punto de referencia o de partida, buscando fácilmente desde San Google.

01-08-12 Cuando tengan que limpiar #html usen #Perl así: s/<(?:[^>'”]*|([‘”]).*?\1)*> faltaría limpiar &nbsp; cc @NelsonFx @iamemhn
Una expresión regular que quita o limpia etiquetas HTML de la cadena o bloque de texto que nos interesa, adicional se elimino el muy usado aun &nbsp; mediante otra expresión de sustitución. Muy útil y importante tener a la mano el siguiente código:
#!/usr/bin/perl -w

my $html = '
<html dir="ltr" lang="es">
<head><meta charset="UTF-8" /></head>
<body style="font-family: small-caps;">
<br/><b> HTML A TEXTO  / HTML TO TEXT   </b><br/>
<br/><b> limpiar cadena de texto de html  / clean html text string  </b><br/>
<br/><div style="border-radius:5px;box-shadow:2px #DFDFDF;"><b> quitar etiquetas html / remove html tags </b></div><br/>
<img src="img/perl-regex-html.jpg" /><br/>
<br/><div><b><font color="red">&nbsp;Lenin Hernandez&nbsp;</font></b></div>
<etiquetafalsa><b>Twitter: @leninmhs </b></etiquetafalsa><br/>
<b>Lenguaje de Programación: &nbsp;&nbsp;</b>Perl<br/>
<b>Sistema Operativo:&nbsp;&nbsp;&nbsp;</b> todos en los que se interprete Perl.
</body>
</html>';
$html=~ s/<(?:[^>'"]*|(['"]).*?\1)*>//gs; #regex que limpia el html
$html=~ s/&nbsp;//g; #regex que limpia el &nbsp;
print $html;
Listado de Entornos de Desarrollo (IDE) para programar en Python, en lo particular he usado y me gusta Komodo Edit. Muy ligero y practico comparado con NetBeans ó Eclipse (escritos ambos en Java de ahí el consumo exagerado de recursos…)
Conocemos manejadores de contenidos muchos en PHP, en Perl hay, en Python también hay, pero en Python y haciendo uso del Framework de Desarrollo por excelencia en Python Django es como mucho pedir para los que lo usan, pero si los hay.
16-06-12 @diadebian mi opción es la “D” me toca hoy terminar unos pdfs usando #Reportlab de #Python
La librería ReportLab es excelente para generar PDF en el lenguaje Python. Si usan alguna distro basada en Debian pueden comenzar a usarla con:
#aptitude install python-reportlab
Después de tenerla instalada, a programar en python y leer la documentación de reportlab. El pdf que programe hacia mucho uso de tablas, se inserto imagen y algún otro detalle. Quedo así:
reportlab-python-table-sqlite

reportlab-python-table-sqlite

El derecho a la privacidad no implica tener privacidad

mapa redes sociales privacidad monopolios

El siguiente cortometraje fue realizado por Delacrew, en el año 2007, de nombre REMOVE, con apenas 3.10 minutos de duración, este video nos alerta sobre la ausencia absoluta de privacidad en la actualidad, donde son pocas las personas que no tienen uno o más celulares, cuentas de correo electrónico y dinero en cuentas bancarias, las cuales manejan a través de medios electrónico(transferencias internet, celulares, compras o pagos de servicios online, etc… ) dejando muy relegado el manejo del dinero tangible con el cual realmente contamos.

El derecho a la privacidad no implica tener privacidad

Todos tenemos la falsa sensación de estar protegidos y seguros por tener un usuario y contraseña para cada uno de los servicios informáticos que usamos, creyendo erróneamente que así nuestra información es única y exclusivamente nuestra. Pues no es así. Nuestra información en estos servicios ( redes sociales, correo electrónico, comercio en linea, foros, bancos, entes e instituciones de gobiernos, telefónicas, cadenas comerciales, etc… ) son almacenados en sus bases de datos (suyas, de ellos, <- etc… ) pasando así a ser información y datos de gran valor para cada uno de los servicios donde esta nuestra información.

Si recuerdan la conocida y muy acertada frase “La información es poder” entonces le encontramos mas sentido a todo este rollo del que estamos hablando. Y es que las empresas detrás de estos servicios no solo usan los datos y información que generemos para mejorar nuestra “experiencia como usuarios” (recordarnos aquel amigo de la infancia, sugerirnos alguien con los mismos intereses, mostrarnos los enlaces mas acordes para el tema que estamos investigando, etc…) es de gran importancia y vital para ellos identificar tendencias, comportamientos,  patrones de consumo, etc… lo que se conoce como Minería de Datos o Data Mining de donde perciben importantes ingresos monetarios gracias a la publicidad y mercadeo haciendo buen uso de “la mirada constante, la palabra precisa y la sonrisa perfecta” parafraseando un poco la canción Ojala de Silvio Rodríguez y llevándola al contexto que en este momento nos concierne.

Sigue leyendo