0% encontró este documento útil (0 votos)
82 vistas62 páginas

Creación de Soluciones BI y ETL

El documento describe los componentes clave de una solución de inteligencia de negocios (BI), incluyendo la captura de requisitos de usuarios, la integración de datos a través del proceso ETL de extracción, transformación y carga, y el almacenamiento y análisis multidimensional de datos. Explica que la transformación de datos es fundamental para unificar formatos y significados antes del almacenamiento y análisis.

Cargado por

Antonio Cesaro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
82 vistas62 páginas

Creación de Soluciones BI y ETL

El documento describe los componentes clave de una solución de inteligencia de negocios (BI), incluyendo la captura de requisitos de usuarios, la integración de datos a través del proceso ETL de extracción, transformación y carga, y el almacenamiento y análisis multidimensional de datos. Explica que la transformación de datos es fundamental para unificar formatos y significados antes del almacenamiento y análisis.

Cargado por

Antonio Cesaro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

ó

Datawarehouse

Gustavo Arredondo C. garredondoc@[Link]


CREACIÓN DE UNA SOLUCIÓN BI

SOURCE INTEGRACION ALMACENAMIENTO ANALISIS PRESENTACION


Requerimientos del
Usuario

Almacenamiento Integración de Modelamiento


Consultas OLAP Presentación
de Datos Datos Multidimensional

Diversas Proceso de Generación del Herramientas de Aplicaciones de


Fuentes de Extracción, Modelo explotación de consultas para
datos Verificación, Conceptual, DW, DM gestión y toma de
Transformacion y Lógico y Físico del decisiones
Carga de datos Datawarehouse

Metadata, Seguridad, Rendimiento y Operaciones


CONTENIDO

• Requerimientos de Usuarios
• Estructura de una Solución de BI
• Fuente de Datos
• Integración de Datos
Problemas de Entendimiento de los Requerimientos del Usuario
Paso 1: Entender lo que Necesita el Usuario
Un Requerimento
• Es una característica del sistema o una descripción de algo que
el sistema es capaz de hacer con el objeto de satisfacer el
propósito del sistema
• Los analistas deben entender el problema de los usuarios en su
cultura, en su lenguaje y construir la solución que resuelva el
problema
Requerimientos
• Necesario (Priorización, generará valor)
• Conciso (entendimiento fácil)
• Completo (información suficiente)
• Consistente (No contradictorio con otro requerimiento)
• No Ambiguo (Una sola interpretación)
Alto porcentaje de fracasos de proyectos de TI

Standish Group
Inteligencia de negocios nos permite responder
algunas preguntas como:
1.¿Quiénes son mis mejores clientes?
2.¿Dónde se ubican?
3.¿Qué compran?
4.¿Qué los caracteriza?
5.¿Cuáles líneas de productos son las más rentables?
6.¿Que productos son mis top 10? ¿Cuáles son mis
peores 10?
7.¿Qué productos son los más vendidos este mes?
8.¿El mes anterior?
9.¿Cómo van mis avances respecto de lo planificado?
10.¿Dónde se concentran el 80% de mis ventas, mis
gastos, mi rentabilidad?
Que buscamos con una solución BI
¿Qué información podría pedir un Ejecutivo para tomar decisiones?

Rubro: COMERCIALIZACION (Retail)

• Gerente de Marketing

• Gerente de Ventas

• Gerente Financiero

• Gerente de Operaciones

• Gerente General
Que buscamos con una solución BI
¿Qué información podría pedir un Ejecutivo para tomar decisiones?

Rubro: INDUSTRIA

• Gerente de Marketing

• Gerente de Ventas

• Gerente Financiero

• Gerente de Producción

• Gerente General
Que buscamos con una solución BI
¿Qué información podría pedir un Ejecutivo para tomar decisiones?

Rubro: FINANCIERO

• Gerente de Marketing

• Gerente de Ventas

• Gerente Financiero

• Gerente de Soluciones a Clientes

• Gerente General
Extracción, Transformación y Carga
Definición de Proceso ETL
El proceso ETL es una parte de la integración de datos, pero es un
elemento importante cuya función completa el resultado de todo el
desarrollo de la cohesión de aplicaciones y sistemas.
La palabra ETL corresponde a las siglas en inglés de:
● Extraer: extract.

● Transformar: transform.

● Y Cargar: load.
¿Qué sistemas se pueden integrar en un proceso
ETL?

Los procesos ETL pueden incluir:

• Sistemas legacy. Es decir, legados, heredados o antiguos .


• Sistemas abiertos. Basados en Windows, Linux y también
en las redes sociales modernas: Facebook, Twitter, Linkedin,
etc.
Beneficios de los procesos ETL

• Poder crear una Master Data Management , es decir, un


repositorio central estandarizado de todos los datos de la
organización.
Por ejemplo, si tenemos un objeto cliente en una base de datos
de créditos y otro objeto cliente en la base de datos de
tarjetas de crédito, lo que haría el Master sería definir, de
forma concreta e inequívoca, un registro cliente único con su
nombre y apellidos para la organización.
Beneficios de los procesos ETL

• Posibilita a los directivos tomar decisiones estratégicas


basadas en el análisis de los datos cargados en las bases
nuevas y actualizadas: la dama mart o data warehouse.
• Sirve para integrar sistemas. Las organizaciones crecen de
forma orgánica y cada vez se van agregando más fuentes de
datos. Esto provoca que comience a surgir nuevas
necesidades.
• Poder tener una visión global de todos los datos
consolidados en una data warehouse
El proceso de Extracción: Formas de Realizarlo y
Cuestiones a Tener en Cuenta
PASOS:
[Link]álisis previo de las necesidades. Normalmente, hay una primera etapa
de análisis donde se evalúan la necesidades concretas de la
organización en cuanto a movimiento y transformación de datos. Por lo
general, no se comienza extrayendo toda la información, sino que se
empieza con el tratamiento de unos datos concretos según una
necesidad puntual y luego se realizan ampliaciones a medida que se van
necesitando.
El proceso de Extracción: Formas de Realizarlo y
Cuestiones a Tener en Cuenta
PASOS:
2. Identificación de fuentes. Antes de extraer los datos, se identifica de qué tipo son y
en qué formato se encuentran los sistemas fuente. Por ejemplo, si se trata de bases
de datos relacionales o no relacionales, archivos planos, archivos complejos,
archivos VSAM, WebServices, MainFrame, archivos en Excel, etc. Lo habitual es que los
datos de los sistemas de origen provengan de formatos distintos, que tendrán que ser
fusionados.
3. Extracción de los datos. En función de las necesidades detectadas, se procede a la
extracción en sí de dichos datos.
Modos de extracción
Básicamente, existen tres modos distintos de extracción. El
tipo de necesidad de la organización es lo que, normalmente,
determinará la elección de una u otra forma.
Full Extract o extracción total
• Esta modalidad consiste en extraer la totalidad de datos. En este caso, se barren
tablas completas que pueden llegar a tener millones de registros.
Modos de extracción
Incremental Extract o extracción incremental
Se va procesando por lotes únicamente lo que fue modificado o agregado.
También puede haber filas que se borren por estar duplicadas, tratarse de datos
erróneos, etc.
Update Notification o notificación de actualizaciones
En este caso, solo se van extrayendo los datos a medida que se produce una
actualización (por ejemplo, un insert / update / delete) .
Claves del proceso extracción

Lo más importantes es que la tarea de extracción cause el


mínimo impacto posible en el sistema de origen:
• Que no afecte a su normal funcionamiento. Para ello es
aconsejable programar estas tareas en días y horarios de nula
o mínima actividad laboral.
• Se debe evitar que provoque algún problema de seguridad.
Proceso de Transformación
La fase de transformación de un proceso ETL consiste en la
aplicación de una serie de funciones o reglas de negocio
sobre los datos extraídos para convertirlos en datos que, a
continuación, serán cargados en la nueva fuente.
¿Por qué es necesario un proceso de
transformación?
Para entender la necesidad de un proceso de transformación debemos
tener en cuenta que en un proceso ETL se manejan fuentes diversas,
algunas de ellas de fuera de la propia organización: información
bursátil de una web ajena a la empresa, cualquier tipo de descarga de
Internet, un paquete de Office, etc.
• Esta variedad de bases de datos, en ocasiones de varios países, con
diferentes idiomas y distintas unidades de medida, imposibilita o
dificulta la posibilidad de realizar comparaciones si con anterioridad
no se realizan conversiones y formateos. De ahí la necesidad de los
procesos de transformación.
Acciones de transformación
Las acciones o procesos más habituales son:

• Reformateo de datos.
• Conversión de unidades. Por ejemplo, convertir millas en
kilómetros por hora o viceversa. Algo muy habitual cuando se
extraen datos de países con unidades métricas distintas. Otro
caso sería la conversión de diferentes monedas (libras, euros...) en
un único valor estándar.
• Selección de columnas para su carga posterior. Por ejemplo,
hacer que las columnas con valores nulos no se carguen.
Acciones de transformación
• Agregación de columnas. Añadir una columna con la
procedencia de determinados automóviles sería un ejemplo.
• Dividir una columna en varias. Esta acción resulta de gran
utilidad para, por ejemplo, separar en tres columnas, una
para el nombre y otras dos para los apellidos, la
identificación de una persona que antes estaba en un solo campo.
• Traducir códigos. Por ejemplo, si la fuente de origen almacena
una “H” para hombres y una “M” para mujeres, dar las
instrucciones necesarias para que en destino se guarde un “ 1”
para hombres y un” 2” para mujeres.
Acciones de transformación
• Obtener nuevos valores calculados.
• Unir datos de varias fuentes.
• Lookups. Cuando se toma un dato y se lo compara con
otro tipo de datos, cruzando información. Por ejemplo,
capturar un código de cliente de una base de datos y cruzarlo
con otra base de créditos concedidos para saber si dicho
cliente disfruta o no de ese préstamo.
La transformación: un proceso vital para los
análisis y comparaciones posteriores
La transformación de los datos, tras la extracción de los mismos
y como paso previo a su carga, no puede considerarse una fase
secundaria ni prescindible. Sin un buen trabajo de
transformación de datos no sería posible realizar
comparaciones y análisis. Dicho de otro modo, se renunciaría
a uno de los grandes beneficios para las organizaciones al
implementar un proceso ETL.
El Proceso de Carga: Tipos de Carga y
Claves del Proceso
La fase de carga es el momento en el cual los datos
procedentes de la fase anterior (fase de transformación) son
cargados en el sistema de destino.
Hay que tener en cuenta que igual que puede haber varios
sistemas o fuentes de origen (como ya hemos comentado en
puntos anteriores) también pueden existir varios sistemas
de destino diferentes.
Tipos de sistemas de carga
Fundamentalmente, existen dos tipos de carga:

Load. Todas las bases de datos modernas soportan este modo de


inserción de registros. Consiste en el transporte de la información en
grande bloques de datos, previamente calculados en función de su
naturaleza. Se trata de la forma más sencilla y común de llevar a cabo un
proceso de carga masiva de datos sin impactar el / los sistemas
fuentes, pero tiene el inconveniente de que ante un accidente o
problema (un corte de luz, un fallo del disco, etc.) se pierde la
consistencia de los datos, pudiéndose darse el caso de tenerse que
repetir toda la carga
Tipos de sistemas de carga
• Insert . En este caso, la carga se realiza de forma más
escalonada y segura. Para ello, el sistema agrupa la
información de forma automática y transparente según
distintas variables: , fechas, por un número determinado
de registros, etc. Esta modalidad permite procesar el punto
exacto hasta el que se ha realizado la carga, lo que
supone que si se produce un fallo solo hay que retomar el
proceso de carga desde ese punto concreto, sin necesidad
de repetirlo todo de nuevo.
Claves para asegurarnos de que la carga se realiza
de forma correcta

• Utilizar la menor cantidad de recursos disponibles.


• Asegurar la consistencia de los datos que se están cargando.
• Priorizar la calidad de la carga antes que la rapidez.
• Tratar de no interferir en otros procesos en marcha.
La Limpieza de Datos: una Etapa Separada pero
muy Importante
Actualmente, la limpieza de datos se considera una etapa
previa y separada al proceso ETL propiamente dicho, lo que
NO significa que su importancia sea menor.
Importancia de la etapa de limpieza
• Asegura la calidad de los datos que vamos a procesar.
• Evita la información no veraz o errónea.
• Ahorra costes de espacio en disco al eliminarse la información
duplicada.
• Agiliza las consultas por la ausencia de datos repetidos o
inservibles.
• Ayuda a tomar decisiones estratégicas correctas.
Principios del proceso de limpieza
• Aplicar reglas de unificación de datos. Por ejemplo, poner en
la fila correspondiente al sexo la misma letra identificativa,
como podría ser “M” para masculino y “F” para femenino.
En este caso, también se tendrían que identificar o
corregir posibles errores, como que algún usuario haya
puesto la “M” como mujer.
Principios del proceso de limpieza
• Validaciones de completitud. Como por ejemplo,
comprobar que en todos los registros de datos de los
clientes de un banco esté introducida la dirección postal
completa, saltando una alarma si falta alguno.
Principios del proceso de limpieza
• Estandarización de datos. El objetivo es que todos los
datos del mismo tipo estén introducidos de idéntica
forma. Un ejemplo sería el DNI con la letra final de
identificación fiscal junto a los números y sin guión de
separación.
De una buena limpieza dependerá el óptimo
resultado de un proceso ETL
• No es posible lograr un buen resultado final en un proceso
ETL, acorde a los objetos marcados, sino se realiza
previamente una buena limpieza de los datos. Sin esta etapa
previa no es posible disponer de una base de datos de
calidad que permite la toma de decisiones acertadas a nivel
estratégico o ejecutivo. Esto da una idea de la enorme
necesidad de tomarse muy en serio esta etapa,
realizándola acorde a unos parámetros correctos y
teniendo en cuenta las recomendaciones de los expertos.
En qué puede fallar un proceso ETL
• Existencia de campos o valores nulos.
• Tablas de referencia inexistentes.
• Cortes de energía.
• Fallos de funcionamiento en los discos de almacenamiento.
Cómo minimizar esos fallos
• Diseñando procesos de ETL que, en caso de que ocurra algún
fallo, sean recuperables.
• Garantizando un diseño del proceso ETL que, de forma
expresa, minimice los fallos y optimice la recuperación en
caso de que finalmente se produzca algún error.
Staging: un Aspecto Relacionado con el
Gerenciamiento y la Recuperación
Con el objeto de minimizar al máximo nivel los posibles
errores o problemas en el proceso de carga, normalmente
se reserva un área de disco para poder recuperar los datos
por etapas. Por eso podemos afirmar que el staging está
estrechamente relacionado tanto con el gerenciamiento como
con la recuperación de datos.
Funcionamiento del staging
• En primer lugar, los datos son volcados por bloques o
etapas y de forma independiente en un área del disco
denominada staging area.
• Posteriormente, se cargan los datos desde la staging area a
su lugar o sistema de destino (data warehousing).
Ventajas de utilizar una staging area
• Permite independizar el proceso de carga por bloques o
etapas. Lo cual es muy útil y práctico cuando se trabaja con
millones de datos, ya que evita tener que reiniciar el
proceso entero en caso de error o avería. Por ejemplo, si
se produjese un corte eléctrico, solo habría que repetir el
volcado de datos del bloque específico en el que se ha
producido la incidencia, estando el resto de información a
buen recaudo y segura en el área de staging.
Ventajas de utilizar una staging area
• Si se implementa correctamente, posibilita reiniciar las
distintas fases del proceso ETL de manera independiente.
Esto significa que si, por ejemplo, falla el proceso de
transformación, bastaría con volver a repetir esta fase,
pero no sería necesario repetir la etapa anterior: la de
extracción.
Principales características de un proceso de
staging
• Únicamente el desarrollador del ETL debería tener acceso al
área de staging, tanto para salvaguardar la confidencialidad de
los datos, como para evitar complicaciones derivadas deque, por
error, alguien intentase acceder a los datos a través del staging
area , lo cual podría generar incidencias.
• A los usuarios nunca se les da acceso a esta área especial de
staging area, aunque sí a los que tengan el perfil de administrador,
no porque en realidad lo necesiten sino por si surgiese algún
problema o imprevisto.
Principales características de un proceso de
staging

• El staging se utiliza tanto durante el proceso de


extracción-transformación como en el de transformación-
carga.
• Los procesos de staging, inevitablemente, aumentan la
duración total del proceso ETL.
Herramientas ETL
• Pentaho Kettle
• Talent
• Informatica Powercenter
• IBM Cognos Data Manager
• Oracle Warehouse Builder
• Microsoft Integration Service
• Inabplex Inaport
Consideraciones
• Costo Total de dominio
• Riesgos
• Facilidad de Uso
• Soporte
• Implementacion
• Velocidad
• Calidad de la data
• Monitoreo
• Conectividad
Aplicaciones de los procesos ETL
● Mueva datos desde una o múltiples fuentes.

● Reformatee esos datos y los limpie, cuando sea necesario.

● Los cargue en otro lugar como puede ser una base de datos, un
data mart o un data warehouse.
● Una vez alojados en destino, esos datos se analicen.

● O, cuando ya están cargados en su ubicación definitiva, se


empleen en otro sistema operacional, para apoyar un proceso de negocio.
Proceso de Extraccion
• Formas de Realizarlo
• Cuestiones a tener en cuenta
Proceso de Extracción
Para llevar a cabo de manera correcta el proceso de extracción, primera fase
del ETL, hay que seguir los siguientes pasos:

● Extraer los datos desde los sistemas de origen.

● Analizar los datos extraídos obteniendo un chequeo.

● Interpretar este chequeo para verificar que los datos extraídos


cumplen la pauta o estructura que se esperaba. Si no fuese así, los datos
deberían ser rechazados.
● Convertir los datos a un formato preparado para iniciar el proceso de
transformación.
Qué hay que tener en cuenta durante el proceso de
extracción
Es necesario extremar la cautela en esta fase del proceso de ETL que es la
extracción, por lo que se debe tener en cuenta que:

● En el momento de la extracción, análisis e interpretación: los formatos en que


se presenten los datos o los modos como éstos estén organizados pueden ser
distintos en cada sistema separado, ya que la mayoría de los proyectos de
almacenamiento de datos fusionan datos provenientes de diferentes sistemas de
origen.
● En el momento de la conversión de datos: conviene recordar que los
formatos de las fuentes normalmente se encuentran en bases de datos
relacionales o ficheros planos, pero pueden incluir bases de datos no relacionales u
otras estructuras diferentes.
Proceso de Transformacion
La fase de transformación de un proceso de ETL aplica una serie de reglas de negocio
o funciones sobre los datos extraídos para convertirlos en datos que serán cargados.
Estas directrices pueden ser declarativas, pueden basarse en excepciones o
restricciones pero, para potenciar su pragmatismo y eficacia, hay que asegurarse de
que sean:
● Declarativas.
● Independientes.
● Claras.
● Inteligibles.
● Con una finalidad útil para el negocio.
El lado más práctico del proceso de transformación

● Seleccionar sólo ciertas columnas para su carga (por ejemplo, que las columnas con valores nulos
no se carguen).
● Traducir códigos (por ejemplo, si la fuente almacena una “H” para Hombre y “M” para
Mujer pero el destino tiene que guardar “1″ para Hombre y “2″ para Mujer).

● Codificar valores libres (por ejemplo, convertir “Hombre” en “H” o “Sr” en “1″).

● Obtener nuevos valores calculados (por ejemplo, total_venta = cantidad * precio).

● Unir datos de múltiples fuentes (por ejemplo, búsquedas, combinaciones, etc.).


El lado más práctico del proceso de transformación
● Calcular totales de múltiples filas de datos (por ejemplo, ventas totales de cada región).

● Generar campos clave en el destino.

● Transponer o pivotar (girando múltiples columnas en filas o viceversa).

● Dividir una columna en varias (por ejemplo, columna “Nombre: García, Miguel”; pasar a
dos columnas “Nombre: Miguel” y “Apellido: García”).

● Aplicar para formas simples o complejas, la acción que en cada caso se requiera, como
por ejemplo:
○ Datos OK: entregar datos a la siguiente etapa (fase de carga).

○ Datos erróneos: ejecutar políticas de tratamiento de excepciones.


Proceso de Carga
• Tipos de Carga
• Claves del procesos
Proceso de Carga

• En esta fase, los datos procedentes de la fase anterior (fase de transformación)


son cargados en el sistema de destino. Dependiendo de los requerimientos
de la organización, este proceso puede abarcar una amplia variedad de
acciones diferentes. Por ejemplo, en algunas bases de datos será necesario
sobreescribir la información antigua con nuevos datos mientras que en
otras, bastaría con resumir las transacciones y almacenar un promedio de la
magnitud considerada.

• Los data warehouse mantienen un historial de los registros, de manera que


es posible en todo momento hacer una auditoría de los mismos. Esto
permite disponer de un rastro de toda la historia de un valor a lo largo del
tiempo.
formas básicas de desarrollar el proceso de carga

● Acumulación simple: esta manera de cargar los datos consiste en


realizar un resumen de todas las transacciones comprendidas en el período
de tiempo seleccionado y transportar el resultado como una única
transacción hacia el data warehouse, almacenando un valor calculado que
consistirá típicamente en un sumatorio o un promedio de la magnitud
considerada. Es la forma más sencilla y común de llevar a cabo el proceso de
carga.
● Rolling: este proceso sería el más recomendable en los casos en que
se busque mantener varios niveles de granularidad. Para ello se almacena
información resumida a distintos niveles, correspondientes a distintas
agrupaciones de la unidad de tiempo o diferentes niveles jerárquicos en
alguna o varias de las dimensiones de la magnitud almacenada (por ejemplo,
totales diarios, totales semanales, totales mensuales, etc.).
Ejemplos de estas restricciones pueden ser
● Valores únicos.

● Integridad referencial.

● Campos obligatorios.

● Rangos de valores.
Limpieza de Datos
• Una etapa separada pero muy importante
• Cuestiones a tener en cuenta
¿Cómo Elegir la Herramienta de Procesos ETL más
Adecuada?

También podría gustarte