Sunteți pe pagina 1din 15

PROCESOS ETL

Cristina I. Bermejo Nez.


Javier Ruiz Muoz de la Espada.

NDICE
1

PROCESOS ETL: DEFINICIN Y CARACTERSTICAS. ................................................................ 3

PROCESO DE EXTRACCIN, PROCESO DE TRANSFORMACIN Y PROCESO DE CARGA. ....... 3


2.1

El proceso de Extraccin. .............................................................................................. 4

2.1.1

Pasos del proceso de Extraccin. ......................................................................... 4

2.1.2

Modos de Extraccin. ............................................................................................ 4

2.1.3

Claves del proceso de extraccin. ......................................................................... 5

2.1.4

Proceso de Extraccin ideal................................................................................... 5

2.2

PROCESO DE TRANSFORMACIN.................................................................................. 5

2.2.1

Por qu es necesario un proceso de transformacin? ........................................ 5

2.2.2

Acciones de transformacin. ................................................................................. 6

2.2.3
La transformacin: un proceso vital para los anlisis y comparaciones
posteriores. ........................................................................................................................... 6
2.3

2.3.1

Tipos de sistemas de carga.................................................................................... 7

2.3.2

La eleccin de tipo de carga ideal depende de cada caso. ................................... 8

2.4

LIMPIEZA DE DATOS. ..................................................................................................... 8

2.4.1

Principios del proceso de limpieza. ....................................................................... 8

2.4.2

El perfilado de datos.............................................................................................. 9

CMO MINIMIZAR LOS FALLOS. ........................................................................................... 9


3.1

El PROCESO DE CARGA. ................................................................................................. 7

STAGING. ..................................................................................................................... 10

3.1.1

Ventajas de utilizar una staging area. ................................................................. 10

3.1.2

Principales caractersticas de un proceso de staging. ......................................... 10

PROCESAMIENTO EN HERRAMIENTAS ETL. ........................................................................ 11


4.1

TIPOS DE PARALELISMOS. ........................................................................................... 11

4.2

VENTAJAS DE PARALELISMO. ...................................................................................... 11

EVOLUCIN DE LOS PROCESOS ETL. ................................................................................... 12

DESAFOS DE LOS PROCESOS Y HERRAMIENTAS ETL. ......................................................... 13

6.1

DESAFOS DE LOS PROCESOS ETL. ............................................................................... 13

6.2

LA FUNCIONALIDAD DE LAS HERRAMIENTAS ETL. ...................................................... 13

ETL O ELT?. ........................................................................................................................ 14


7.1

ENTENDIENDO EL CONCEPTO E-LT.............................................................................. 14

7.2

VENTAJAS DE E-LT SOBRE ETL. .................................................................................... 15

PROCESOS ETL: DEFINICIN Y CARACTERSTICAS.

Los procesos ETL son un trmino estndar que se utiliza para referirse al movimiento y
transformacin de datos. Se trata del proceso que permite a las organizaciones mover datos
desde mltiples fuentes, reformatearlos y cargarlos en otra base de datos (denominada data
mart o data warehouse) con el objeto de analizarlos. Tambin pueden ser enviados a otro
sistema operacional para apoyar un proceso de negocio.
En definitiva, el principal objetivo de este proceso es facilitar el movimiento de los datos y la
transformacin de los mismos, integrando los distintos sistemas y fuentes en la organizacin
moderna.
El trmino ETL corresponde a las siglas en ingls de:

Extract: extraer.
Transform: transformar.
Load: cargar.

PROCESO DE EXTRACCIN, PROCESO DE TRANSFORMACIN Y PROCESO


DE CARGA.

Las distintas fases o secuencias de un proceso ETL son las siguientes:

Extraccin de los datos desde uno o varios sistemas fuente.


Transformacin de dichos datos, es decir, posibilidad de reformatear y limpiar estos
datos cuando sea necesario.
Carga de dichos datos en otro lugar o base de datos, un data mart o un data
warehouse, con el objeto de analizarlos o apoyar un proceso de negocio

A estas tres partes habra que aadir la etapa de limpieza que, como hemos comentado,
actualmente se entiende como una parte separada del propio proceso.

A continuacin, vamos a explicar los principales aspectos del funcionamiento de cada una de
las fases, as como sus claves y cuestiones a considerar en su planteamiento e implantacin

2.1 El proceso de Extraccin.


2.1.1

Pasos del proceso de Extraccin.

La primera parte del proceso ETL consiste en extraer los datos desde el sistema de origen. Esta
fase consta de tres pasos:
1. Anlisis previo de las necesidades. Normalmente, hay una primera etapa de anlisis
donde se evalan las necesidades concretas de la organizacin en cuanto a
movimiento y transformacin de datos. Por lo general, no se comienza extrayendo
toda la informacin, sino que se empieza con el tratamiento de unos datos concretos
segn una necesidad puntual y luego se realizan ampliaciones a medida que se van
necesitando.
2. Identificacin 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 tendrn que ser
fusionados.
3. Extraccin de los datos. En funcin de las necesidades detectadas, se procede a la
extraccin en s de dichos datos.
2.1.2

Modos de Extraccin.

Bsicamente, existen tres modos distintos de extraccin. El tipo de necesidad de la


organizacin es lo que, normalmente, determinar la eleccin de una u otra forma.

Full Extract o extraccin 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.
Incremental Extract o extraccin incremental - Se va procesando por lotes
nicamente lo que fue modificado o agregado. Tambin puede haber filas que se
borren por estar duplicadas, tratarse de datos errneos, etc.
Update Notification o notificacin de actualizacin - En este caso, solo se van
extrayendo los datos a medida que se produce una actualizacin (por ejemplo, un
insert / update / delete).

Estos tres tipos de extraccin son manejados por un mdulo denominado Change Data
Capture (CDC).

2.1.3

Claves del proceso de extraccin.

Lo ms importantes es que la tarea de extraccin cause el mnimo impacto posible en el


sistema de origen:

2.1.4

Que no afecte a su normal funcionamiento. Para ello es aconsejable programar estas


tareas en das y horarios de nula o mnima actividad laboral.
Se debe evitar que provoque algn problema de seguridad.
Proceso de Extraccin ideal.

Cualquier organizacin, empresa o compaa debe exigir que el proceso de extraccin de datos
desde su fuente o fuentes de origen cause el menor impacto posible. Es decir, que no suponga
ningn retraso a los empleados que, diariamente, trabajan con los datos y registros.
Una extraccin de un nmero demasiado grande de datos de una sola vez puede llegar a
ralentizar, e incluso colapsar, el sistema. Por este motivo, es importante valorar muy bien las
necesidades y el alcance de la operacin a realizar y, si es necesario, llevar a cabo la operacin
de forma escalonada en bloques de menor tamao y/o en las fechas y horas ms adecuadas
para lograr ese mnimo impacto.

2.2 PROCESO DE TRANSFORMACIN.


La fase de transformacin de un proceso de ETL aplica una serie de reglas de negocio o
funciones sobre los datos extrados para convertirlos en datos que sern 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:

2.2.1

Declarativas.
Independientes.
Claras.
Inteligibles.
Con una finalidad til para el negocio.
Por qu es necesario un proceso de transformacin?

Para entender la necesidad de un proceso de transformacin debemos tener en cuenta que en


un proceso ETL se manejan fuentes diversas, algunas de ellas de fuera de la propia
organizacin: informacin burstil 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 pases, 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 transformacin.

2.2.2

Acciones de transformacin.

Las acciones o procesos ms habituales son:

2.2.3

Reformateo de datos.
Conversin de unidades. Por ejemplo, convertir millas en kilmetros por hora o
viceversa. Algo muy habitual cuando se extraen datos de pases con unidades mtricas
distintas. Otro caso sera la conversin de diferentes monedas (libras, euros...) en un
nico valor estndar.
Seleccin de columnas para su carga posterior. Por ejemplo, hacer que las columnas
con valores nulos no se carguen.
Agregacin de columnas. Aadir una columna con la procedencia de determinados
automviles sera un ejemplo.
Dividir una columna en varias. Esta accin resulta de gran utilidad para, por ejemplo,
separar en tres columnas, una para el nombre y otras dos para los apellidos, la
identificacin de una persona que antes estaba en un solo campo.
Traducir cdigos. 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.
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
informacin. Por ejemplo, capturar un cdigo de cliente de una base de datos y
cruzarlo con otra base de crditos concedidos para saber si dicho cliente disfruta o no
de ese prstamo.
Pivoting. Proceso parecido al lookups pero con un grado mayor de complejidad, ya que
se cruzan datos de distintas fuentes.
La transformacin: un proceso vital para los anlisis y comparaciones posteriores.

La transformacin de los datos, tras la extraccin de los mismos y como paso previo a su carga,
no puede considerarse una fase secundaria ni prescindible. Sin un buen trabajo de
transformacin de datos no sera posible realizar comparaciones y anlisis. Dicho de otro
modo, se renunciara a uno de los grandes beneficios para las organizaciones al implementar
un proceso ETL.
Esta funcin corresponde al desarrollador o analista del proceso ETL en cuestin. La definicin
de las transformaciones a realizar se realiza en funcin de un anlisis previo y de la fase de
limpieza que, como ya hemos sealado y profundizaremos ms adelante, se trata de un
proceso separado pero estrechamente ligado al de transformacin.

2.3 El PROCESO DE CARGA.


En esta fase, los datos procedentes de la fase anterior (fase de transformacin) son cargados
en el sistema de destino. Dependiendo de los requerimientos de la organizacin, este proceso
puede abarcar una amplia variedad de acciones diferentes. Por ejemplo, en algunas bases de
datos ser necesario sobreescribir la informacin antigua con nuevos datos mientras que en
otras, bastara 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 auditora de los mismos. Esto permite disponer de un rastro de toda la
historia de un valor a lo largo del tiempo.
2.3.1

Tipos de sistemas de carga.

Fundamentalmente, existen dos tipos de carga:

2.3.1.1

Load. Todas las bases de datos modernas soportan este modo de insercin de
registros. Consiste en el transporte de la informacin en grande bloques de datos,
previamente calculados en funcin de su naturaleza. Se trata de la forma ms sencilla
y comn 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,
pudindose darse el caso de tenerse que repetir toda la carga.
Insert. En este caso, la carga se realiza de forma ms escalonada y segura. Para ello, el
sistema agrupa la informacin de forma automtica y transparente segn distintas
variables: fechas, por un nmero 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.
Principales diferencias entre inserts y loads.

Las diferencias entre los dos principales modalidades de carga (aunque no las nicas puesto
que existen tambin sistemas mixtos) se encuentran en el nivel de consistencia de los datos y
en el tiempo de carga.
Cuando se utiliza la modalidad load el nivel de consistencia se reduce, puesto que una falla
puede obligar a una repeticin ntegra del proceso. Sin embargo, la duracin del tiempo de
carga es menor.
Si se usa insert ralentiza el proceso como consecuencia de los procesamientos automticos del
estado de la carga y principalmente de los logs generados en la base de datos, pero en
contrapartida se gana en consistencia de los datos y registros.

2.3.2

La eleccin de tipo de carga ideal depende de cada caso.

La eleccin del tipo de proceso de carga, cuya decisin final normalmente corresponde al
dueo del proceso ETL, debe tomarse tras valorar una serie de parmetros: cantidad de datos
a cargar, velocidad que realmente se precisa, etc.
La recomendacin general es que si el volumen de datos a cargar es importante, utilizar load
previendo que si ocurre una falla, todo el proceso de carga deber repetirse. Si el volumen no
es tan grande, entonces un insert tal vez sea lo ms conveniente. Esta eleccin debe ser
consensuada con el administrador de la base de datos.
Las claves para asegurarnos de que la carga se realiza de forma correcta son:

Utilizar la menor cantidad de recursos disponibles.


Asegurar la consistencia de los datos que se estn cargando.
Priorizar la calidad de la carga antes que la rapidez.
Tratar de no interferir en otros procesos en marcha.

2.4 LIMPIEZA DE DATOS.


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 ya que 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 estratgico o ejecutivo. Esto da una idea de la enorme
necesidad de tomarse muy en serio esta etapa, realizndola acorde a unos parmetros
correctos y teniendo en cuenta las recomendaciones de los expertos
La importancia de la etapa de limpieza:

2.4.1

Asegura la calidad de los datos que vamos a procesar.


Evita la informacin no veraz o errnea.
Ahorra costes de espacio en disco al eliminarse la informacin duplicada.
Agiliza las consultas por la ausencia de datos repetidos o inservibles.
Ayuda a tomar decisiones estratgicas correctas.
Principios del proceso de limpieza.
Aplicar reglas de unificacin de datos. Por ejemplo, poner en la fila correspondiente al
sexo la misma letra identificativa, como podra ser M para masculino y F para
femenino. En este caso, tambin se tendran que identificar o corregir posibles errores,
como que algn usuario haya puesto la M como mujer.
Validaciones de completitud. Como por ejemplo, comprobar que en todos los
registros de datos de los clientes de un banco est introducida la direccin postal
completa, saltando una alarma si falta alguno.
Estandarizacin de datos. El objetivo es que todos los datos del mismo tipo estn
introducidos de idntica forma. Un ejemplo sera el DNI con la letra final de
identificacin fiscal junto a los nmeros y sin guin de separacin.

2.4.2

El perfilado de datos.

Aunque todava no se considera como una etapa independiente del proceso de limpieza, es
altamente recomendable realizar previamente un perfilado de datos donde se decide, a travs
de un muestreo, qu cambios realizar y de qu forma concreta hacerlos. De esta manera,
garantizamos una limpieza posterior ptima y completamente estandarizada.
Conviene remarcar que en el perfilado an no se realizan modificaciones, puesto que se trata
de un anlisis previo.

CMO MINIMIZAR LOS FALLOS.

Al igual que ocurre con cualquier otra aplicacin, un proceso ETL puede fallar. El problema es
que, muchas veces, estos fallos o errores no se detectan inmediatamente durante el proceso
de carga (que normalmente se realiza fuera de horarios laborales, por ejemplo de madrugada),
sino a la maana siguiente, cuando los empleados de la oficina comienzan su rutina laboral
diaria.
Tambin es muy importante asegurarse de que en el momento en que empiece la jornada
laboral el proceso, que ha podido comenzar durante la noche anterior, est ya listo, con el
propsito de que no interfiera para nada, o lo menos posible, con la actividad normal.
Hay que tener en cuenta que algunos procesos ETL son de una gran complejidad, llegndose a
mover varios millones de datos, lo que favorece la posible aparicin de algn contratiempo.
Algunos de los errores o fallos ms comunes son:

Existencia de campos o valores nulos.


Tablas de referencia inexistentes.
Cortes de energa.
Fallos de funcionamiento en los discos de almacenamiento.
Etc.

Para minimizar esos fallos

Diseando procesos de ETL que, en caso de que ocurra algn fallo, sean recuperables.
Garantizando un diseo del proceso ETL que, de forma expresa, minimice los fallos y
optimice la recuperacin en caso de que finalmente se produzca algn error.

A veces los errores son inevitables, pero siempre se pueden amortiguar como ya hemos visto
que los fallos no siempre pueden evitarse, puesto que muchas veces son producto de
circunstancias que no estn en nuestra mano, como un corte inesperado del fluido elctrico.
No obstante, siempre es posible tomar medidas que minimicen estos fallos y permitan la
recuperacin total de los datos.

3.1 STAGING.
Con el objeto de minimizar al mximo 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 recuperacin de datos.
Funcionamiento del staging:
1. En primer lugar, los datos son volcados por bloques o etapas y de forma independiente
en un rea del disco denominada staging area.
2. Posteriormente, se cargan los datos desde la staging area a su lugar o sistema de
destino (data warehousing).
Si bien tiene un costo adicional de recurso y tiempo total de duracin del proceso ETL, el rea
de staging es fundamental y ampliamente utilizada para permitir un ptimo gerenciamiento
de los procesos ETL.
3.1.1

3.1.2

Ventajas de utilizar una staging area.


Permite independizar el proceso de carga por bloques o etapas. Lo cual es muy til y
prctico cuando se trabaja con millones de datos, ya que evita tener que reiniciar el
proceso entero en caso de error o avera. Por ejemplo, si se produjese un corte
elctrico, solo habra que repetir el volcado de datos del bloque especfico en el que se
ha producido la incidencia, estando el resto de informacin a buen recaudo y segura
en el rea de staging.
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
transformacin, bastara con volver a repetir esta fase, pero no sera necesario repetir
la etapa anterior: la de extraccin.
La compilacin de los distintos bloques o etapas del proceso de staging puede incluso
adaptarse a las necesidades de los clientes, aunque siempre que est contemplado
previamente en el proceso general del ETL.
Al tratarse de un disco fsicamente independiente, en ningn caso afecta ni ralentiza
otros procesos del sistema.
Principales caractersticas de un proceso de staging.
nicamente el desarrollador del ETL debera tener acceso al rea de staging, tanto
para salvaguardar la confidencialidad de los datos, como para evitar complicaciones
derivadas de que, por error, alguien intentase acceder a los datos a travs del staging
area , lo cual podra 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 algn problema o imprevisto.
El staging se utiliza tanto durante el proceso de extraccin-transformacin como en el
de transformacin-carga.
Los procesos de staging, inevitablemente, aumentan la duracin total del proceso ETL.

10

PROCESAMIENTO EN HERRAMIENTAS ETL.

Un desarrollo reciente en el software ETL es la aplicacin de procesamiento paralelo, es decir,


las fases no se realizan en modo batch (paso a paso) sino por bloques. Esta ejecucin
paralela la realizan diferentes nodos dentro de un mismo proceso ETL, o varias instancias de
un mismo proceso.
Este avance ha permitido desarrollar una serie de mtodos que mejoran el rendimiento
general de los procesos ETL cuando se trata de grandes volmenes de datos.

4.1 TIPOS DE PARALELISMOS.

Particionamiento de datos. En este caso, cada nodo procesa un nmero determinado


de datos (por ejemplo, 1000 filas). La posibilidad y tipo concreto de particin va en
funcin del tipo dato y operaciones que estoy realizando. En el caso de un warehouse
adems, las tablas suelen estar particionadas en el disco, y el proceso ETL saca
provecho de este particionamiento.
Pipelining. Este tipo de paralelismo posibilita, una vez se han dividido los datos, tener
tambin particionadas las operaciones que se se van realizando con ellos, como por
ejemplo aadir un campo Y a cada fila. Dicho de otro modo, permite hacer
modificaciones a nivel estructural.
Componentes. Se definen componentes reutilizables que asignan una referencia a un
campo, por ejemplo una letra, y se vuelven a utilizar cada vez que se tenga que volver
a cambiar ese mismo campo en el resto de filas. Es decir, este tipo de proceso de
paralelismo permite crear una lgica y reutilizarla.

4.2 VENTAJAS DE PARALELISMO.


Las ventajas que presenta el paralelismo son las siguientes:

Acortar los tiempos de procesamiento.


Impacto positivo en el negocio.
Mejora en la utilizacin de recursos.

A veces no es posible utilizarlo, aunque siempre es deseable, y an ms cuando se trabaja con


grandes volmenes de datos, disear los procesos ETL de manera que se puedan ejecutar en
modo paralelo. Lo que ocurre es que ciertos procesos no lo permiten, puesto que requieren
forzosamente una ejecucin secuencial (por ejemplo, un proceso A que dependa de la
finalizacin de un proceso B).

11

EVOLUCIN DE LOS PROCESOS ETL.

Llega un momento en que las organizaciones, especialmente las grandes utilizan, muchos
sistemas y se nutren de una gran variedad de fuentes de datos, los cuales funcionan en forma
de retroalimentacin mutua.
Cuando los sistemas y/o fuentes de datos que operan en una misma organizacin y compaa
superan un nmero manejable y se empiezan a volver ms complejos, esta heterogeneidad les
empieza a acarrear un considerable problema. Y esto ocurre a menudo en compaas de un
cierto tamao.
Llegados a este punto, muchas empresas empiezan a utilizar los procesos ETL con un objetivo
distinto que el gerenciamiento o la optimizacin de datos. En estos casos, la utilidad de la ETL
se diversifica hacia la integracin y la migracin de los datos.
Ms usos de los procesos ETL:

Integracin de datos. Como hemos visto, los procesos ETL tienen la capacidad de leer
y escribir en cualquier fuente o sistema. Por ello, no son pocas las empresas que
recurren a este tipo de procesos para integrar datos de diversos sistemas o fuentes,
muchos de ellos muy antiguos e incompatibles entre ellos. Si no existiera la posibilidad
de utilizar los sistemas ETL como integradores de datos, no cabra otra opcin de
realizar esta tarea de forma manual y con multitud de errores. Aspectos tan
importantes y decisivos para un buen resultado a nivel de sistema como la calidad o el
perfil del dato, se han incorporado a la definicin de ETL y por eso hoy da en ella se
encuentran incluidos todos los siguientes puntos:
o Servicios de acceso a datos.
o Data profiling.
o Data quality.
o Procesado de datos operacionales.
o Servicios de transformacin: CDC, SCD, Validacin, Agregacin.
o Acceso en tiempo real.
o ETL
o Transporte de datos.
o Gestin de metadatos.
o Servicios de entrega.

Migracin de datos. Se trata de, nicamente, trasladar la informacin de una base de


datos obsoleta a una nueva, realizando los cambios que sean precisos.

Aunque la aplicacin ms comn para un proceso ETL es la construccin y carga de un data


warehouse, cada vez ms frecuentemente los procesos ETL son usados para operaciones tales
como la interaccin y la migracin de datos.

12

DESAFOS DE LOS PROCESOS Y HERRAMIENTAS ETL.

Actualmente, las organizaciones crecen y evolucionan a una extraordinaria velocidad. Y lo


mismo ocurre con sus necesidades a nivel de sistemas informticos en general y muy
particularmente de los procesos ETL.
Esto significa que los nuevos procesos ETL deben adecuarse no solamente a las necesidades
ms actuales de las organizaciones, sino tambin anticiparse al futuro, puesto que en poco
tiempo estas crecern, por lo que tendrn que manejar un volumen mucho mayor de datos y
de fuentes y canales muy diversos.

6.1 DESAFOS DE LOS PROCESOS ETL.


Los procesos ETL que se pongan en marcha a partir de ahora deben tener la capacidad de:

Manejar de forma simultnea datos tanto estructurados como no estructurados.


Poder leer, procesar y analizar datos provenientes de las redes sociales: Facebook,
Twitter, Linkedin, etc.
Procesar datos en tiempo real, lo que se conoce tambin como streaming de datos.
Por ejemplo, poder consultar la cotizacin de una moneda en tiempo real y aadirlo a
la base de datos para poder hacer anlisis o reportes totalmente actualizados.
Permitir la escalabilidad. Hoy en da, y en el futuro todava ms, lo datos de una
organizacin crecen de forma exponencial. Esto significa que si en el presente una
empresa necesita 1TB de memoria para manejar sus datos, el ao que viene precisar
2TB y al otro ao 8 TB... Lo mismo para cantidad de cores, disco y cantidad de registros
que se procesan. Que un proceso ETL permita escalabilidad significa que, en el caso de
que la empresa agregue ms hardware o mayor memoria, el sistema va a ser capaz de
aprovechar esos nuevos recursos y funcionar de modo ms eficiente. Existen dos
grandes tipos de escalabilidad:
o Escalabilidad vertical. Es cuando a la carga de procesos ETL se le aaden ms
recursos: discos, memoria, CPU.
o Escalabilidad horizontal. Consiste en utilizar servidores en los que se instalan
procesos ETL interconectados y procesando en paralelo, de manera que se
aprovecha la potencialidad de la suma de esos equipos, y se pueden ir
agregando mas (cluster).

6.2 LA FUNCIONALIDAD DE LAS HERRAMIENTAS ETL.


Las herramientas ETL no tienen por qu utilizarse slo en entornos de Data Warehousing o
construccin de un Data Warehouse, sino que pueden ser tiles para multitud de propsitos,
como por ejemplo:

Tareas de Bases de datos: que tambin se utilizan para consolidar, migrar y sincronizar
bases de datos operativas.
Migracin de datos entre diferentes aplicaciones por cambios de versin o cambio de
aplicativos.
Sincronizacin entre diferentes sistemas operacionales (por ejemplo, entre nuestro
entorno ERP y la web de ventas).

13

Consolidacin de datos: sistemas con grandes volmenes de datos que son


consolidados en sistemas paralelos, ya sea para mantener histricos o para llevar a
cabo procesos de borrado en los sistemas originales.
Interfases de datos con sistemas externos: como el envo de informacin a clientes o
proveedores. Tambin serviran para la recepcin, proceso e integracin de la
informacin recibida.
Interfases con sistemas Frontoffice: seran interfases de subida/bajada con sistemas de
venta.
Otros cometidos: como la actualizacin de usuarios a sistemas paralelos o la
preparacin de procesos masivos (tipo mailings o newsletter).

ETL O ELT?.

Entendemos ETL como el proceso extraccin, transformacin y carga de los datos, que es parte
del ciclo de vida de una implementacin de Business Intelligence. Partiendo de esta premisa,
nos damos cuenta que existen ciertas variaciones conceptuales relativas al mismo proceso de
ETL, de las que depender el rendimiento de los procesos de manejo de los datos. Por ello es
necesario considerar las tecnologas aplicadas en cada parte del proceso, de principio a fin.
A modo de resumen, podra decirse que un proceso cualquiera dara comienzo en el origen de
los datos (Base de datos, archivos de texto, etc.), continuara con la intervencin de la
herramienta de ETL, para concluir en el destino de los Datos (Base de datos) que se disponga.
La herramienta de ETL permitira:

Conectarse a la fuente de los datos.


Hacer la transformacin dentro de la misma herramienta.
Cargar los datos a la base de datos destino.

7.1 ENTENDIENDO EL CONCEPTO E-LT.


E-LT podra definirse siguiendo el orden de las iniciales que lo denominan. As se puede decir
que consiste en la extraccin, carga y transformacin de datos, y se resume en los siguientes
tres pasos:
1. Primero: habr que extraer y cargar los datos de manera BULK directamente a una
Base de Datos o a unas tablas especialmente creadas para los datos de paso
(conocidas tambin como staging). Esto supone que este medio servir solo
temporalmente, por lo que podr ser limpiado en cada proceso de carga. Por ello se
recomienda hacer transformaciones simples y limpieza bsica de informacin.
2. Segundo: cuando la informacin se halla contenida en staging habr que proseguir con
la elaboracin del proceso de transformacin de los datos, que posteriormente pasar
a la base de datos del Data Warehouse. Esta transformacin se har con el lenguaje
propio de la base de datos, por ejemplo T-SQL, PL/SQL.
3. Tercero: una vez que se tienen los datos transformados en los procesos propios de la
base de datos, se insertaran en el Data Warehouse. Terminada esta accin, se pueden
limpiar los datos de paso, si se cree conveniente.
De esta manera el proceso de transformacin queda integrado en el motor de la Base de
Datos.

14

7.2 VENTAJAS DE E-LT SOBRE ETL.


Aunque ambos conceptos, E- LT y ETL conducen a un mismo resultado, la diferencia est en el
rendimiento y la velocidad de proceso del proceso de carga en cada caso. Las principales
ventajas de usar E-LT en vez de ETL seran las relativas a:

Velocidad de proceso y transformacin. La principal ventaja de E-LT es la forma en que


trabaja cada herramienta implicada. En el caso de ETL las herramientas de
transformacin evalan registro por registro, mientras que en E-LT la transformacin
se hace en la base de datos que evala los registros en lotes.
Uso de recursos. Otra ventaja de E-LT, es que una base de datos est preparada para la
optimizacin de recursos ya sean de disco, memoria o proceso y esto hace que el
rendimiento del proceso sea administrado por la configuracin de la base de datos. Sin
embargo, las herramientas de ETL no toman ventaja de la configuracin del disco
(RAID) ni de la distribucin de la memoria y procesador, ya que hacen
transformaciones temporales y en muchos casos redundantes.

Cada herramienta nos provee de unas ventajas diferentes. Algunas nos dan mayor facilidad
para desarrollar una transformacin, aunque no el mejor rendimiento; mientras que en
ocasiones sucede al contrario. En la prctica, puede suceder que un cliente que tiene una
herramienta E-LT utilice ETL al no saber usar sus ventajas. Por eso, es importante estar
informado y conocer el alcance de los recursos de que se dispone, para poder tomar
decisiones correctas, obteniendo el mejor rendimiento.

15

S-ar putea să vă placă și