Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{scrollbar}

----
*{_}O3 Builder{_}* es el componente responsable de la construcción de los datamarts, a partir de los modelos definidos con *O3 Designer*.

La construcción del datamart puede ser en forma total (o completa), o incremental.

La construcción completa puede realizarse desde el mismo *O3 Designer*, con la opción Generar Cubo del menú Archivo, o con el componente *{_}O3 Builder{_}*.

La construcción incremental se realiza únicamente con el componente *{_}O3 Builder{_}*.

Cuando la construcción de un datamart requiere mucho tiempo y gran cantidad de recursos del sistema, es conveniente programar dicho proceso con el uso de "shell scripts" de forma tal que el mismo se realice en horas de poca actividad del sistema.

La misma programación es utilizada para actualizar los datamarts existentes en forma regular y automática.

Para construir un datamart con el componente *{_}O3 Builder{_}*, se debe tener acceso a:
* Directorio de archivos de texto para las fuentes de datos de texto.
* Fuentes de datos SQL a través de conexiones JDBC / ODBC.

La construcción o actualización de los datamarts puede ser monitoreada a través de mensajes definidos en *O3 Designer* asociados a los posibles estados de finalización de dicho proceso.

El *{_}O3 Builder{_}* puede enviar correos a los destinatarios definidos en el propio modelo, informando sobre el éxito o fracaso de la construcción. (Ver "[Acciones de Construcción|o3man:Definiendo Acciones de Construcción]").

h1. Construcción Completa (FULL)

 
Cuando se ejecuta la construcción desde el *O3 Designer*, el datamart generado corresponde al modelo activo actualmente en el *O3 Designer*.

h1. Construcción Incremental

La construcción incremental es utilizada para actualizar la información del datamart, evitando la reconstrucción completa a los efectos de ahorrar tiempo y recursos del sistema.

Para la construcción incremental, debe prestarse especial atención en la configuración de los Input Sets y eventualmente de los parámetros de construcción que se utilicen.

Las fuentes de datos que forman el Input Set Incremental deben proporcionar únicamente los nuevos datos del datamart. Si estas fuentes de datos incluyen datos que ya forman parte del datamart, el mismo contendrá datos duplicados. Cuando se definen las fuentes de datos:
* Asegúrese de que la fuente de datos contenga solamente registros para agregar.
* Limite las fuentes de datos de consultas SQL usando las expresiones WHERE apropiadas.

Para las consultas SQL es posible incluir parámetros de construcción en la cláusula WHERE que limite los registros obtenidos de acuerdo con el valor que toman en cada construcción. Por ejemplo, se pueden definir condiciones dependientes de las fechas de registro o rangos de valores tales como números de facturas, etc.

(!) Durante las construcciones incrementales se toma la definición del datamart (modelo) que se encuentra en el propio archivo .cube. Esto significa que en el caso de realizar algún cambio al archivo .mdl es necesario primero realizar una construcción completa para tomar los cambios y luego realizar las incrementales.

h2. Ejemplo

Consideremos la construcción incremental de un datamart de estadísticas de ventas en el que se agregan diariamente las ventas del día anterior. Podría agregar una condición a la sentencia SQL utilizando como fechas límite los parámetros de construcción:
| $TODAY$ y $YESTERDAY$ |
Además, O3 mantiene todos los parámetros para el último valor de construcción. Es posible referirse al valor anterior del parámetro usando:
| $ParameterName.old$ |
Esto significa que se puede incluir el valor real del parámetro y el valor previo en las condiciones de la expresión WHERE como forma de cargar los datos generados desde la última construcción. Por ejemplo:
| SELECT * \\
FROM Facturas \\
WHERE date > $TODAY.old$ AND date <$TODAY$ |
Estos parámetros no están predefinidos. Deben definirse en el Panel General del Modelo. Para más detalles referirse a la página "[Definiendo Parámetros de Construcción|o3man:Definiendo Parámetros de Construcción]"

----
{children}

----
{scrollbar}