Beruflich Dokumente
Kultur Dokumente
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 informacin recogida a travs de las fuentes de datos, es informacin propia de cada sistema,
por lo que es necesario procesarla para transformarla en un formato homogneo 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
homogneos 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 tecnologas. Es la parte del sistema de BI ms crtica ya que si no
se disea correctamente, el resto de partes trabajaran sobre informacin errnea 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. Extraccin: Subproceso encargado de recupere los datos fsicamente 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 errneos y completa los valores vacos, es decir se
transforman los datos para reducir los errores de carga. En este momento disponemos de datos
limpios y de calidad*.
3. Transformacin: Recupera los datos limpios y de calidad, y los estructura y consolida en los
distintos modelos de anlisis. El resultado de este proceso es la obtencin 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 extraccin es extraer tan slo 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 informacin, 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 mayora de
proyectos de BI se fusionan datos provenientes de diferentes fuentes de datos. Los formatos de las
fuentes estn condicionados al modelado de datos del sistema de informacin al que pertenecen. La
extraccin convierte los datos a un formato homogneo y consolidado para iniciar el proceso
de transformacin.
Una parte intrnseca del proceso de extraccin es la de analizar los datos extrados, 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 extraccin de los datos se puede realizar bien de forma manual o bien utilizando herramientas de
ETL:
Manual: significa programar rutinas utilizando lenguajes de programacin 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 tecnolgicas, protocolos de comunicaciones,
juegos de caracteres, y tipos de datos.
Un requerimiento importante que se debe exigir a la tarea de extraccin es que sta cause un
impacto mnimo en el sistema origen. Si los datos a extraer son muchos, el sistema de origen se
podra ralentizar e incluso colapsar, provocando que ste no pueda utilizarse con normalidad para
su uso cotidiano. Por esta razn, en sistemas grandes las operaciones de extraccin suelen
programarse en horarios o das donde este impacto sea nulo o mnimo.
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 cules son las causas que provocan que los datos estn sucios?, veamos algunos
ejemplos:
Depuracin: Este proceso localiza e identifica los elementos individuales de informacin en las
fuentes de datos y los asla. Por ejemplo: separar el nombre completo en nombre, primer
apellido, segundo apellido, o la direccin en: calle, numero, piso, etc.
Correccin: Este proceso corrige los valores individuales de los atributos usando algoritmos de
correccin y fuentes de datos externas. Por ejemplo: comprueba una direccin y el cdigo postal
correspondiente.
Relacin: Este proceso busca y relaciona los valores de los registros, corrigindolos y
estandarizndolos, basndose en reglas de negocio para eliminar duplicados. Por ejemplo:
identificando nombres y direcciones similares.
Consolidacin: Este proceso analiza e identifica relaciones entre registros relacionados y los
junta en una sola representacin.
Datos de calidad
Qu se considera un dato de calidad?
Los procesos ETL son los encargados de garantizar el cumplimiento de las caractersticas
que deben cumplir los datos para ser considerados de calidad.
Seleccionar slo ciertas columnas para su carga (por ejemplo, que las columnas con valores
nulos no se carguen).
Traducir cdigos (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).
Calcular totales de mltiples filas de datos (por ejemplo, ventas totales de cada regin).
Dividir una columna en varias (por ejemplo, columna Nombre: Garca, Miguel; pasar a dos
columnas Nombre: Miguel y Apellido: Garca).
La carga es el momento en el que integramos los datos extrados con los residentes en el
datawarehouse, y debemos comprobar si, por ejemplo, los totales de ventas que hemos cargado
coinciden con la informacin que resida 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 errneas a los usuarios.
Dependiendo de los requerimientos de la organizacin, este proceso puede abarcar una amplia
variedad de acciones diferentes. En casos se sobrescribe la informacin antigua con nuevos datos,
mientras que en otros la informacin se complementa.
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 informacin resumida a distintos niveles,
correspondientes a distintas agrupaciones de la unidad de tiempo o diferentes niveles
jerrquicos 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 errnea.
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 informacin. 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.