Documentos de Académico
Documentos de Profesional
Documentos de Cultura
IS.S3.C2.D1-Componentes BI (I) V0.2 PDF
IS.S3.C2.D1-Componentes BI (I) V0.2 PDF
IS.S3.C2.D1
Fuentes de datos
• Fuentes internas:
§ Sistemas operacionales o transaccionales,
que incluyen aplicaciones desarrolladas a
medida, ERP, CRM, SCM, etc.
Toda la información recogida a través de las fuentes de datos, es información propia de cada sistema,
por lo que es necesario procesarla para transformarla en un formato homogéneo que permita la
trazabilidad con los datos de otros sistemas ya sean internos o externos. Para ello se utilizan los
procesos ETL.
Procesos ETL
Procesos ETL
Un proceso ETL (Extract, Transform and Load), tal y
como sus siglas indican, es el paso encargado de
extraer todos los datos necesarios de cada una de las
fuentes de datos, para tratarlos y conseguir datos
homogéneos de calidad, para finalmente cargarlos en
un sistema de almacenamiento de datos.
Esta parte del sistema de BI es costosa y consume una parte significativa de todo el proceso, ya que
condiciona el éxito posterior de las herramientas de BI, por ello requiere recursos, estrategia,
habilidades especializadas y tecnologías. Es la parte del sistema de BI más crítica ya que si no
se diseña correctamente, el resto de partes trabajaran sobre información errónea o con datos
de baja calidad que provocará sobresfuerzos innecesarios.
El proceso de ETL consume entre el 60% y el 80% del tiempo de un proyecto de Business
Intelligence, por lo que es un proceso clave en la vida de todo proyecto.
Procesos ETL
El proceso ETL se divide en 4 subprocesos:
1. Extracción: Subproceso encargado de recupere los datos físicamente de las distintas fuentes
de datos. Al final de este subproceso disponemos de los datos en bruto.
2. Limpieza: Se recuperan los datos en bruto y comprueba su calidad, elimina los duplicados y,
cuando es posible, corrige los valores erróneos y completa los valores vacíos, es decir se
transforman los datos para reducir los errores de carga. En este momento disponemos de datos
limpios y de calidad*.
3. Transformación: Recupera los datos limpios y de calidad, y los estructura y consolida en los
distintos modelos de análisis. El resultado de este proceso es la obtención de datos limpios,
consistentes, consolidados y útiles.
4. Carga: Este subproceso valida que los datos que cargamos en el datawarehouse sean
consistentes con las definiciones y formatos del datawarehouse; los integra en los distintos
modelos de las distintas áreas de negocio que hemos definido en el mismo.
El principal objetivo de la extracción es extraer tan sólo aquellos datos de los sistemas
transaccionales que son necesarios y prepararlos para el resto de los subprocesos de ETL.
Para ello se deben determinar las mejores fuentes de información, las de mejor calidad. Con tal
finalidad, deberemos analizar las fuentes disponibles y escoger aquellas que sean mejores.
La primera parte del proceso ETL consiste en localizar y extraer los datos, ya que en la mayoría de
proyectos de BI se fusionan datos provenientes de diferentes fuentes de datos. Los formatos de las
fuentes están condicionados al modelado de datos del sistema de información al que pertenecen. La
extracción convierte los datos a un formato homogéneo y consolidado para iniciar el proceso
de transformación.
Una parte intrínseca del proceso de extracción es la de analizar los datos extraídos, de lo que
resulta un chequeo que verifica si los datos cumplen la pauta o estructura que se esperaba. De no
ser así los datos son rechazados. De ahí que sea clave disponer de datos de calidad ya en el origen,
la fuente de datos.
La extracción de los datos se puede realizar bien de forma manual o bien utilizando herramientas de
ETL:
• Manual: significa programar rutinas utilizando lenguajes de programación que extraigan los
datos de las fuentes de datos origen, aunque en otros casos se opta por las utilidades de replicar
la base de datos que tienen los motores de bases de datos.
Los principales problemas que nos podemos encontrar al acceder a los datos para extraerlos:
provienen de distintas fuentes, BBDD, plataformas tecnológicas, protocolos de comunicaciones,
juegos de caracteres, y tipos de datos.
Un requerimiento importante que se debe exigir a la tarea de extracción es que ésta cause un
impacto mínimo en el sistema origen. Si los datos a extraer son muchos, el sistema de origen se
podría ralentizar e incluso colapsar, provocando que éste no pueda utilizarse con normalidad para
su uso cotidiano. Por esta razón, en sistemas grandes las operaciones de extracción suelen
programarse en horarios o días donde este impacto sea nulo o mínimo.
Los sistemas transaccionales contienen datos que no han sido depurados y que deben ser
limpiados.
Las herramientas ETL tienen funcionalidades de limpieza de datos, aunque existen herramientas
especializadas para ello.
Pero ¿cuáles son las causas que provocan que los datos estén “sucios”?, veamos algunos
ejemplos:
§ Depuración: Este proceso localiza e identifica los elementos individuales de información en las
fuentes de datos y los aísla. Por ejemplo: separar el nombre completo en nombre, primer
apellido, segundo apellido, o la dirección en: calle, numero, piso, etc.
§ Corrección: Este proceso corrige los valores individuales de los atributos usando algoritmos de
corrección y fuentes de datos externas. Por ejemplo: comprueba una dirección y el código postal
correspondiente.
§ Estandarización: Este proceso aplica rutinas de conversión para transformar valores en
formatos definidos (y consistentes) aplicando procedimientos de estandarización y definidos por
las reglas del negocio. Por ejemplo: trato de Sr., Sra., etc. o sustituyendo los diminutivos de
nombres por los nombres correspondientes.
§ Relación: Este proceso busca y relaciona los valores de los registros, corrigiéndolos y
estandarizándolos, basándose en reglas de negocio para eliminar duplicados. Por ejemplo:
identificando nombres y direcciones similares.
§ Consolidación: Este proceso analiza e identifica relaciones entre registros relacionados y los
junta en una sola representación.
Datos de calidad
¿Qué se considera un dato de calidad?
Los procesos ETL son los encargados de garantizar el cumplimiento de las características
que deben cumplir los datos para ser considerados de calidad.
§ 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.).
§ Calcular totales de múltiples filas de datos (por ejemplo, ventas totales de cada región).
§ Dividir una columna en varias (por ejemplo, columna “Nombre: García, Miguel”; pasar a dos
columnas “Nombre: Miguel” y “Apellido: García”).
La carga es el momento en el que integramos los datos extraídos con los residentes en el
datawarehouse, y debemos comprobar si, por ejemplo, los totales de ventas que hemos cargado
coinciden con la información que residía en nuestro sistema transaccional, así́ como si los valores
que tienen los registros cargados corresponden a los definidos en el datawarehouse. Es
fundamental comprobar que se ha desarrollado correctamente, ya que en caso contrario
pueden llevar a decisiones erróneas a los usuarios.
Dependiendo de los requerimientos de la organización, este proceso puede abarcar una amplia
variedad de acciones diferentes. En casos se sobrescribe la información antigua con nuevos datos,
mientras que en otros la información se complementa.
§ Acumulación simple: La acumulación simple es la más sencilla y común, y 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 datawarehouse, almacenando un
valor calculado que consistirá típicamente en un sumatorio o un promedio de la magnitud
considerada.
§ Rolling: El proceso de Rolling por su parte, se aplica en los casos en que se opta por 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.).
Debido a la criticidad del proceso, las herramientas ETL son claves en los proyectos de BI. Es
indispensable que las herramientas de BI trabajen con datos de calidad. En caso contrario,
puede llevar a una toma de decisiones errónea.
Por este motivo, al realizar la carga se deben definir y aplicar todas las restricciones y triggers
(disparadores) que aseguren la integridad y consistencia de la información. Por ejemplo, valores
únicos, integridad referencial, campos obligatorios, rangos de valores. Estas restricciones y
triggers contribuyen a que se garantice la calidad de los datos en el proceso ETL.