Pentaho Data Integration (a.k.a. PDI, a.k.a. Kettle), es una herramienta de ETL que cumple la regla de las tres bes: buena, bonita y barata. La utilizo continuamente en mi trabajo para leer, depurar, modificar, cruzar, seleccionar y escribir datos en una gran variedad de formatos de fichero y bases de datos.
Hace unos días descargué e instalé la versión 7, pero de momento sigo manteniendo la versión 5 hasta que esté seguro de que no me dará problemas. De momento ya he encontrado un problemilla, menor pero un poco molesto: el IDE en castellano no reconoce los acentos y demás caracteres propios del idioma. Me aparece un interrogante dentro de un rombo �
Trasteando para intentar solucionar este problema, vi algo en lo que no me había fijado nunca: Kettle permite compartir conexiones a bases de datos entre diferentes jobs y transformations!!
Os aseguro que llevo muchos años utilizándolo, he desarrollado cientos (¿miles?) de transformaciones, la inmensa mayoría con conexión a la misma base de datos y en todas ellas he creado la conexión cada vez. Y hoy me encuentro que podía haberla creado una sola vez y haberla utilizado en todas :(
¿Y eso como se hace?
Fácil, primero creas la conexión (entiendo que si te interesa compartirla, es porque ya la tienes creada, si no sabes como hacerlo, me dejas un comentario y un día hago una entrada explicándolo). Una vez creada, vas a la pestaña View, buscas tu conexión y en el menú contextual (botón de la derecha del mouse), seleccionas 'Compartir':
A partir de ahora, todas las transformaciones que crees tendrán todas tus conexiones compartidas incorporadas. ¡Un verdadero ahorro de trabajo!
¿Y cuando quieres dejar de compartirla? Ahora aparece una nueva opción en el menú contextual.
Mostrando entradas con la etiqueta open source. Mostrar todas las entradas
Mostrando entradas con la etiqueta open source. Mostrar todas las entradas
martes, 21 de febrero de 2017
domingo, 15 de febrero de 2009
Firebird vs mySQL
Lo primero que me planteé fue poder manejar los datos con una base de datos 'de verdad' y mis dos primeras opciones fueron sin ninguna duda para estos dos sistemas.
Firebird porque lo conozco desde que comenzó el proyecto a partir de la liberación de Interbase, me siento cómodo por su facilidad de instalación, de mantenimiento, por su robustez y fiabilidad, porque es rápida y conozco bastante el lenguaje de procedimientos que utiliza.
MySQL por su implantación universal, casi todos los sistemas open source relacionados con el bi, data cleasing y similares lo contemplan como la base de datos por defecto.
El primer problema con el que me encontré fue la imposibilidad de instalar nada en el PC donde trabajo, tenía que conseguir que funcionase sin instalación. Buscando encontré dos primeras soluciones: por la parte de firebird pensé en el servidor embebido como solución, pero pronto aparecieron los problemas: los ejecutables tienen que estar en la misma carpeta que la dll del servidor, o metía todos los ejecutables en la misma carpeta (que desorden) o copiaba la dll en mil y una carpetas; y lo más grave solo permite una conexión a la base de datos, imposible lanzar un proceso sobre una tabla y a la vez estar escribiendo un procedimiento, o cualquier otra combinación de tareas. Además no fui capaz de hacerlo funcionar con aplicaciones en java, vamos un desastre y deseché esta solución.
Para mySQL la solución fue Mowes , no me costó demasiado encontrar lo que buscaba, un servidor mySQL, un Apache con PHP y algunas utilidades en este entorno. Las primeras pruebas prometían, veloz, fácil conexión con todas las herramientas que estaba probando. Parecía que había encontrado lo que estaba buscando. Los problemas aparecieron con las primeras cargas completas, con más siete millones y medio de registros, las cosas empezaron a cambiar. Sin índices, las cargas eran rápidas, pero las consultas y procesos se eternizaban... con índices, eran las cargas las que se eternizaban, si cargaba sin índices y luego intentaba indexar, era aquí donde se eternizaba...¿mala configuración? ¿desconocimiento? Mala cosa, mi gozo en un pozo. Tenía que seguir buscando. Empecé a probar distintas soluciones: derby, H2, Hypersonic, pero ninguna cumplía con todo lo que yo quería.
A veces la solución la tenemos delante de las narices y la encontramos por casualidad, un día, navegando sin mucho rumbo, acabé en la zona de descarga de Firebird y me encontré con algo en lo que nunca me había fijado, firebird comprimido en zip para instalación manual... sin instaladores, solo copiando los ficheros en mi pen y arrancando el servidor desde allí con un simple "fbserver -a", ¿como no se me había ocurrido antes?
Firebird porque lo conozco desde que comenzó el proyecto a partir de la liberación de Interbase, me siento cómodo por su facilidad de instalación, de mantenimiento, por su robustez y fiabilidad, porque es rápida y conozco bastante el lenguaje de procedimientos que utiliza.
MySQL por su implantación universal, casi todos los sistemas open source relacionados con el bi, data cleasing y similares lo contemplan como la base de datos por defecto.
El primer problema con el que me encontré fue la imposibilidad de instalar nada en el PC donde trabajo, tenía que conseguir que funcionase sin instalación. Buscando encontré dos primeras soluciones: por la parte de firebird pensé en el servidor embebido como solución, pero pronto aparecieron los problemas: los ejecutables tienen que estar en la misma carpeta que la dll del servidor, o metía todos los ejecutables en la misma carpeta (que desorden) o copiaba la dll en mil y una carpetas; y lo más grave solo permite una conexión a la base de datos, imposible lanzar un proceso sobre una tabla y a la vez estar escribiendo un procedimiento, o cualquier otra combinación de tareas. Además no fui capaz de hacerlo funcionar con aplicaciones en java, vamos un desastre y deseché esta solución.
Para mySQL la solución fue Mowes , no me costó demasiado encontrar lo que buscaba, un servidor mySQL, un Apache con PHP y algunas utilidades en este entorno. Las primeras pruebas prometían, veloz, fácil conexión con todas las herramientas que estaba probando. Parecía que había encontrado lo que estaba buscando. Los problemas aparecieron con las primeras cargas completas, con más siete millones y medio de registros, las cosas empezaron a cambiar. Sin índices, las cargas eran rápidas, pero las consultas y procesos se eternizaban... con índices, eran las cargas las que se eternizaban, si cargaba sin índices y luego intentaba indexar, era aquí donde se eternizaba...¿mala configuración? ¿desconocimiento? Mala cosa, mi gozo en un pozo. Tenía que seguir buscando. Empecé a probar distintas soluciones: derby, H2, Hypersonic, pero ninguna cumplía con todo lo que yo quería.
A veces la solución la tenemos delante de las narices y la encontramos por casualidad, un día, navegando sin mucho rumbo, acabé en la zona de descarga de Firebird y me encontré con algo en lo que nunca me había fijado, firebird comprimido en zip para instalación manual... sin instaladores, solo copiando los ficheros en mi pen y arrancando el servidor desde allí con un simple "fbserver -a", ¿como no se me había ocurrido antes?
Etiquetas:
bases de datos,
firebird,
mysql,
open source
Suscribirse a:
Entradas (Atom)

