Cargue Incremental

 Hola 

cordial saludo, 

 

 

bueno recien inicio en este tema ... estoy trabajando con owb ETL para cargar datos desde una BD Sql server. Tengo la duda sobre como realizar cargue incremental. 

 

no quiero hacer un filtro para comparar si el registro se repite... pienso en algo como que solo se traigan los datos que cambiaron y los nuevos.. aunque no tengo claro como, no se si en sql server existe alguna funcionalidad que permita verificar que datos han cambiado en las diferentes tablas de las que se están haciendo los mapeos. 

 

 

espero me pueden dar una idea.  

Hay ETL's que permiten detectar cambios en los sistemas origen, normalmente a partir de los ficheros de log de las bases de datos, pero suelen ser caras, o se ofrece como opción adicional a la versión básica.

OWB también tiene complementos 'de pago', y esta podría ser una opción, pero no estoy seguro si se ofrece. Las otras ETL de Oracle, Oracle Data Integrator y Oracle GoldenGate seguro que sí disponen de estas facilidades. Esta tecnología se llama CDC (Captura de Cambios en los Datos). Otra herramienta que lo hace muy bien es PowerCenter, de Informatica

El método tradicional es buscar la manera más eficiente de detectar esos cambios en los sistemas origen, y depende mucho de cómo y con qué frecuencia se produzcan esos cambios. Si en origen tienes una fecha de modificación, o tienes posibilidad de incorporarla, normalmente es la manera más sencilla de tener controlados los cambios de cara las cargas.

Otra cosa a tener en cuenta es que, en entornos de Data Warehouse, las tablas de hechos se suelen actualizar con altas y modificaciones porque son grandes, pero las de dimensiones, como tienen un volumen mucho menor, a veces es más sencillo y eficiente recrearlas completamente.

De todas maneras, antes de tomar esta decisión hay que plantearse cómo se van a tratar los posibles cambios en los registros de dimensiones. Para saber las alternativas que tienes en estos casos te recomiendo que consultes el post Dimensiones Lentamente Cambiantes (SCD) de Dario Bernabeu.

bueno es claro que la opcion mas sencilla de implementar es agregar un campo tiempo para cada una de la tablas a migrar.

 

solo me queda una duda, en la creación de la ETL en OWB donde configuro la opción de cargue incremental, puesto que cuando ejecuto el mapa por primera vez esto no supone ningun problema, sin embargo para la segunda y siguientes ejecuciones (cargue incremental) como  se le indica que tenga en cuenta la fecha.

...bueno no se si sea lo correcto lo que pienso, pero acaso tengo que moficar el mapa he indicarle en un filtro que tenga en cuenta la fecha... 

 

bueno espero me puedan dar una idea con este tema ...

 

saludos.

En respuesta a por oscarw

Sí, claro, ya vas bien. Tienes que indicar en las condiciones de entrada que se seleccionen sólo los registros que te interesen en cada carga incremental. También puedes tener en cuenta la fecha de carga para acotar el rango.

Recuerda también poner la tabla destino en modo actualización, sobretodo que no te la vuelva a crear de nuevo.