Listado de Funcionalidades

Archivos planos... ¿Puede aceptar como entrada y/o generar archivos planos?

Sí, todo tipo de archivos planos. Existe soporte para lectura paralela en máquinas individuales y a través de clusters/SAN.

¿Soporta Cobol, XML, planillas de Excel? ¿Cuál es el paso correspondiente?

Cobol es un lenguaje de programación. El resto de los formatos de archivo están soportados.

¿Existe soporte para mainframes? Si es así, ¿cómo me conecto?

Un mainframe consta con un sistema operativo. Puede utilizarse JDBC u ODBC para conectarse a su base de datos.

¿Existe soporte para Oracle, Teradata, Netezza, SQL Server, MS Access?

Sí, existe soporte para más de 34 tipos de bases de datos.

¿Cuántos pasos de transformación existen en la herramienta?

En la última versión existen más de 100 pasos.

¿Qué ocurre con el rendimiento cuando se trabaja con grandes cantidadesd de datos (3 TB)? ¿Existe documentación sobre prácticas recomendadas relacionadas al rendimiento?

Es imposible prever todos los casos. Existen cargadores en lote para algunas de las bases de datos, y son lo más rápido que se puede encontrar

Documentación sobre rendimiento:
Monitoreo de rendimiento: http://wiki.pentaho.com/display/EAI/Step+performance+monitoring
Listado de chequeso de rendimiento: http://wiki.pentaho.com/display/COM/PDI+Performance+tuning+check-list

Mozilla carga millones de filas con Pentaho Data Integration:

http://www.pentaho.com/news/releases/20080728_mozilla_deploys_vertica_and_pentaho.php

¿Existe un repositorio de desarrollo?

Pueden crearse tantos repositorios como se desee, usualmente 3 ó 4 para desarrollo, pruebas, aceptación del usuario y producción.

¿Pueden los usuarios copiar y pegar objetos y sesiones hacia uno ó más flujos de trabajo?

Sí, todas las operaciones de copiado y pegado van a través del clipboard utilizando XML. Esto hace que sea sencillo copiar y pegar inclusive hacia otra aplicación

¿Versionamiento de las transformaciones?

Eso está entre los objetivos futuros. En este momento se recomienda a los usuarios que necesiten versionamiento guardar trabajos y transformaciones en formato XML y utilizar una herramienta de versionamiento externa (CVS, Subversion, etc.).

¿Existe un depurador visual?

Sí.

¿Pueden establecerse puntos de corte?

Sí. Vea esta página para un ejemplo: http://wiki.pentaho.com/display/EAI/Getting+Started

¿Qué código genera internamente la aplicación?

No se genera código, se ejecuta directamente basándose en los metadatos de ETL. Esto es más seguro ya que no permite errores ocasionales en la generación de código y durante la publicación.
Además, cuando las cosas van mal (y siempre lo hacen) con el código generado, uno no necesita convertirse en un experto en el lenguaje utilizado.

¿Qué lenguajes de scripting se soportan para programación personalizada?

Existe soporte para Javascript y Expresiones Regulares, además de SQL.
También existe un entorno que permite escribir complementos en Java.

¿Qué objetos de terceras parte están soportados en la aplicación?

Hasta el momento se soportan 34 bases de datos más una conexión genérica en JDBC, ODBC, OCI, etc. Esto incluye SAP R/3.
Ademásd de eso pueden leerse todo tipo de archivos XML, Excel, Access, texto plano, propiedades Java, LDAP, directorios LDAP, etc. Estas lecturas se realizan en todas sus variantes y en casi todas las locales/codepages.

¿Pueden reportes mostrar visualmente dependencias entre componentes en múltiples flujos de trabajo?

No aún, pero también está en los planes.

¿Puede la herramienta ejecutar múltiples trabajos secuencialmente y/o en paralelo?

Sí, tanto en la misma máquina como a través de diferentes server en modo clusterizado.

¿Existe algún convenio con alguna compañía para calidad de datos?

Por ejemplo http://wwww.infosolvetech.com/ distribuye Pentaho Data Integration en formato OEM.

¿Soporta la herramienta el particionamiento paralelo, y tiene esta funcionalidad un costo ó está incluída?

Lo soporta, y está incluído en la herramienta.

¿Cuáles son las próximas mejoras planeadas?

En el momento de escribir este documento, Pentaho está lanzando una Consola de Administración de Servicios (monitoreo, alertas, tendencias, gráficos de rendimiento, etc.).

Luego se trabajará en una herramienta de creación de perfiles (en modo por lotes y en línea con un repositorio y un servicio de perfiles).

También se está trabajando en implementar control de versiones que interactúe con sistemas de control de versiones de terceras partes.

Un administrador de clusters también está en los planes. Refiérase al sistema JIRA y a la página de inicio para actualizaciones.

¿Existe una interfaz gráfica consistente entre todos los módulos? Esto es, ¿puedo navegar de una ventana a la otra entre módulos, como fuente, destino, administrador de repositorios, desarrollo de transformaciones, ventana de salida, analizador de fuente sin tener que conectarme cada vez?

Sí. La única excepción es al cambiar repositorios. Queremos que esto sea una elección voluntaria, no accidental.

¿Pueden correrse trabajos desde línea de comando en UNIX?

Sí, ciertamente: http://wiki.pentaho.com/pages/viewpage.action?pageId=11869458

¿Existe algún tipo de asistente para administrar SCD del tipo 1, 2 y 3?

No es necesario un asistente ya que el paso "Dimension: Búsqueda/Actualización" se encarga de todo eso.

¿Implementa el concepto de mapeos reutilizables, donde una funcionalidad de negocios común que se utiliza en múltiples ocasiones puede ser reutilizada mediante un mapeo reutilizable?

Sí, se llama "Paso de mapeo": http://wiki.pentaho.com/display/EAI/Mapping

¿Puede el usuario acceder y modificar el código de la aplicación?

Sí, nuestro código está licenciado bajo la Lesser GNU Public License. Refiérase a la licencia para conocer las limitaciones que aplican.

¿Puede la herramienta generar código SQL?

Sí, en todos los pasos de base de datos existe un botón SQL que generará el código requerido para tablase y/o índices. También está disponible a nivel de transformación y trabajo.

Suponga que se tienen 3 trabajos. ¿Pueden anidarse de manera que corran de forma secuencial (por ejemplo que el trabajo 2 comience luego de que el 1 termine, y así sucesivamente), ó siempre correrán en paralelo.

Los trabajos corren por defecto de manera secuencial. Existe la posibilidad de indicar manualmente que corran en paralelo.

¿Pueden los usuarios actualizar automáticamente objetos ó sesiones copiadas mediante la reconfiguración de una plantilla base?

No, hasta el momento no se presentó la necesidad dada la funcionalidad mencionada anteriormente.
Habiendo dicho eso, se permite que trabajos y pasos se compartan, por lo tanto estarán disponibles en todas las transformaciones y trabajos. Luego los objetos compartidos pueden ser utilizados como plantillas.

¿Pueden generarse reportes visuales que permitan a los usuarios de negocios ver los orígenes de un componente? Esto está relacionado con reportes de trazabilidad de los datos.

Sí, en cada paso en una transformación puede verse de dónde vienen los datos.
Específicamente para bases de datos, también existe una herramienta (simple) para análisis de impacto en bases de datos.

¿Qué otros reportes puede el repositorio generar, ni bien instalado?

Siendo que el DER del repositorio es público, pueden crearse todos los reportes que se quiera. Un miembro de la comunidad inclusive creó un sistema de documentación completo sobre el mismo.

¿Puede escalar de manera lineal en múltiples CPUs?

No existe ninguna herramienta que pueda hacer eso, desafortunadamente. Valiendo esa aclaración, PDI ejecuta los pasos en paralelo a través de todas las CPU disponibles si es necesario.

¿Soporta balance de carga y redundancia a través de servidores en cluster?

No apenas instalado, para eso se necesita un administrador de clusters. Puede escribirse un script para ese fin, integrarlo en software de redundancia existente, ó esperar al adminstrador de clusters de PDI en el futuro cercano.

¿Qué herramientas de carga por lotes están soportadas? Sé que existe el cargador por lotes de Oracle...

Es difícil poner a todas en producción ya que muchas veces requieren conocimiento interno de cada motor de base de datos, pero estos son los que pueden utilizarse:

MS SQL Server
MySQL
Oracle
PostgreSQL
MonetDB
Greenplum

¿Pueden los usuarios deshabilitar integridad referencial e índices?

Para estas tareas debería utilizarse una herramienta adecuada para el motor de base de datos que se está utilizando.

¿Pueden cargarse particiones?

La creación y el borrado de particiones es algo que puede configurarse dinámicamente en una transformación.
Escribir a una tabla particionada por lo general no requiere ninguna lógica extra.
Sí se permite escribir a tablas particionadas "manualmente" con el estilo "TABLE_200810".

¿Generar DDL automáticamente?

¡De ninguna manera! Técnicamente sería muy fácil crear esto, sin embargo no se permite ya que es una práctica que no está en línea con las recomendaciones de la administración de base de datos y reglas típicas de propiedad de sistemas.

¿Qué tipo de transformaciones complejas soporta el sistema apenas instalado?

Cerca de 100 : http://wiki.pentaho.com/display/EAI/Pentaho+Data+Integration+Steps

¿Cómo genera claves sustitutas? ¿Existe un paso específico?

Se generan automáticamente en el paso "Dimensión: Búsqueda/Actualización" (dimensiones lentamente cambiantes) y en le "Combinación: Búsqueda/Actualización" (dimensiones basura).
Puede utilizar claves auto-incrementales, secuencias ó contadores internos.

¿Dispone de un programador de tareas ó debe ser integrado con herramientas de terceros?

Refiérase a la documentación de Kitchen
También puede utilizarse a la plataforma Pentaho para programar tareas y la siguiente versión de la consola de administración de servicios integrará programación avanzada.

¿Puede la herramienta validar trabajos antes de correrlos?

Manualmente, no de manera automática.

¿Puede la herramienta volver al último punto de corte ó punto de falla sin trabajo manual?

No. De hecho, más allá de pretenciones de mercadeo, no parecen haber herramientas que puedan hacer eso de manera genérica. Hay mucho que puede hacerse para implementarlo, incluyendo retrotracciones a nivel de transformación, sin embargo para llegar más allá debe hacerse trabajo manual.
Las únicas excepciones son los pasos "Entrada de Archivo de Text" y "Entrada de Excel", que son capaces por ejemplo de identificar las filas erróneas y luego volver a ejecutarse sólo para esas filas.
Muchos pasos también soportan el manejo de errores, permitiendo redirigir las filas erróneas a diferentes pasos en una transformación para permitir su procesamiento automático.

¿Puede la herramienta recomenzar desde un punto donde falló?

Sí, pero no automáticamente.

¿Puede la herramienta recomenzar la sesión completa?

Si se desea, sí. Rara vez se ven estos ciclos de intento/reintento, sin embargo.

¿Existe algún producto adicional ó complemento que los usuarios necesitan comprar para instalar este producto?

No, todo los que se necesita es una máquina virtual Java versión 1.5 ó mayor.

¿Cómo se exportan mapeos creados en desarrollo a ambientes de pruebas ó producción? ¿Pueden ser migrados como archivos XML, ó existen otras maneras?

Puede hacerse mediante archivos XML ó escribiendo directamente a los repositorios correspondientes.

¿Posee un manejador de eventos para monitorear monitorear la existencia de un archivo (por ejemplo comprobar la existencia de un archivo a las 02:00AM y ejecutar el trabajo si el archivo existe)?

No. Puede esperarse un archivo, pero no está basado en eventos. Para eso se necesitaría utilizar características específicas de cada sistema operativo y preferimos no hacerlo.

¿Puede la herramienta unir fuentes heterogéneas, como archivos planos y una tabla de base de datos, ó dos tablas de diferentes bases de datos?

Ciertamente. Hay varias maneras de hacerlo: varios pasos de búsqueda, uniones, etc.

¿Cómo maneja la herramienta dimensiones lentamente cambiantes de tipo 2, donde debe administrar la estrategia de inserción y actualización?

Esto se maneja automáticamente con el paso "Dimensión: Búsqueda/Actualización":
http://wiki.pentaho.com/display/EAI/Dimension+Lookup-Update, simplemente completando el cuadro de diálogo.