Aspectes a valorar per a la selecció d'una eina ETL.

En abordar un projecte de Business Intelligence és important la correcta valoració de l'eina ETL que utilitzarem. L'eina d'acord amb la qual anem a implementar els nostres processos de proveïment del Datamart, Datawarehouse o estructura d'emmagatzematge en base de la qual posteriorment explotarem les dades. Es tracta d'una peça fonamental per al disseny, construcció i posterior evolució del nostre sistema BI Analitzarem únicament qüestions tècniques, sense entrar als aspectes econòmics o d'una altra índole (llicències, acords, suport tècnic, evolucions de l'eina, etc ..) . Assenyalar que els processos de ETL, van molt lligats als processos de data profiling i de qualitat de dades, que aquí no anem a considerar.

Breument i com a inici recordem que ETL són les sigles en anglès de Extreure, Transformar i Carregar (Extract, Transform and Load).En base a aquests tres passos bàsics en el disseny dels processos, proposarem aspectes a considerar en la selecció d'una eina d'aquest tipus. Posteriorment veurem les qüestions relatives a la seva explotació.

Disseny dels processos

Extracció

El primer pas és l'extracció de les dades des dels sistemes d'origen que poden ser múltiples i amb múltiples formats. És important en aquesta fase una correcta validació de les dades d'origen i una homogeneïtzació dels mateixos.És important considerar el volum que anem a tractar i realitzar aquest pas sense causar impacte en els sistemes d'origen (processos batch). Anem a considerar en aquest pas tant l'extracció, com la validació de les dades llegides.

Pel que fa a aquesta etapa, una eina ETL és convenient que compleixi els següents aspectes:

  • Connectivitat: capacitat per a mapejar múltiples orígens com diferents SGDB, diferents tipus de models (relacionals, no relacionals), tipus de fitxers i formats (host, XML, Excel, etc ..), tipus de sistemes origen (ERP 's, SCM, sistemes propis ), formats de missatges estàndard (ex. SWIFT), cues de missatgeria, etc ..
  • Facilitats per a l'anàlisi i mapejos dels formats o models de dades origen.
  • Admetre múltiples freqüències d'actualització.Les múltiples fonts de dades d'origen tenen diferents cicles de recepció i d'actualització. La freqüència de recepció pot canviar d'una a una altra, així com les necessitats d'actualització. Important, la capacitat d'incloure punts de control entre les fonts en els que garantim la seva sincronització.
  • Capacitat d'incorporar dades de formats no estructurats (documents ofimàtics, correus electrònics, llocs web, logs, etc). El camp de les dades no estructurats és immens i en plena evolució, és complicat d'avaluar.
  • Gestió de les valiaciones tècniques: nuls, valors únics, integritat referencial, camps obligatoris, rangs de valors, etc ... i de les validacions de negoci: regles per comprovar les consistència de les dades basant-nos en els requeriments de negoci.
  • Gestió d'errors.Detecció d'aquests i aplicació d'accions.
  • En cas de tractar-se d'una eina que des de la metadata genera codi, veure la possibilitat de realitzar enginyeria inversa: del codi a la metadata.

Transformació

La fase de transformació consisteix en realitzar passos de transformació o creació de noves dades sobre la base dels rebuts i aplicant les regles de negoci particulars de cada sistema. Hi ha passos comuns a gairebé totsels processos de transformació, com ara: selecció de columnes a tractar, transformació de codificacions (columnes codificades de forma diferent en sistema origen respecte al sistema destí), calcular noves columnes sobre la base de les columnes rebudes, realitzar agregacions, encreuaments de dades entre diferents fonts, etc ...

  • Components predefinits que incorpora l'eina per realitzar diferents tipus de transformacions molt esteses (filtrats, creus, mapatges, etc ..)
  • Suport per a test i debugging que faciliti el seguiment de les transformacions del procés.
  • Possibilitats d'incorporar codi extern (no generat per l'eina).
  • Possibilitat de crear procediments propis i utilitzar-altres processos (reutilització de codi / processos).
  • Possibilitats per optimitzar els procés de tractaments de dades voluminosos o costosos davant problemes de rendiment.
  • Traçabilitat de la dada.Disposar d'un rastre de totes les transformacions d'un valor al llarg del procés. En el cas ideal, metadata consultable per l'usuari, perquè pugui realitzar seguiment en cas de detectar dades correctament carregats, però incoherents amb vista a negoci.

Càrrega

Aquesta última etapa, consisteix en el bolcat de les dades ja llegits, validades i tractades en l'estructura analítica per a la seva posterior explotació.

  • Considerar diferents tipus de taules destinació (en general objectes BBDD d'emmagatzematge).
  • Considerar diferents tipus de càrrega: esborrat i bolcat complet, càrrega incremental, etc ...
  • Creació de processos d'agregació.Considerar diferents nivells d'agregació i organització de les dades (cubs, BBDD multidimensional).
  • Bolcats de dades que considerin diferents nivells d'agregació i organització de les dades en les taules destinació (cubs, BBDD multidimensional).
  • En aquesta etapa és igualment important el rendiment: Processament de bolcats en paral.lel per optimitzar temps de buidatge.

Un cop analitzats els aspectes rellevants en el disseny dels processos, revisem els aspectes a considerar en l'explotació i manteniment i evolució de l'eina.

Explotació i manteniment de l'eina

  • Adaptació a les diferents plataformes maquinari i sistemes operatius existents.
  • Facilitat d'ús.Interfície intuïtiva. Senzilla representació gràfica dels objectes del repositori, models de dades i fluxos de dades.
  • Possibilitat de realitzar anàlisis d'impacte. Veure les implicacions que un canvi en el model de dades o en els processos té a tot el projecte.
  • Versionat de codi. Control de canvis. Gestió del treball en grup.
  • Possibilitats de documentació.
  • Rapidesa de consulta i actualització de la metadata o possibilitats de optimitzar (índexs).
  • Possibilitats per planificar jobs: planificacions batch, execucions basades en esdeveniments, disparadors, etc ...
  • Gestió de la cadena d'execució. Dependències entre processos. Reinici de jobs.
  • Sistema de logs. Logs detallats d'execució / errors i recollida d'estadístiques d'execució (logs de resum de càrregues: data càrrega, registres carregats, registres erronis, etc ..).
  • Eines per monitoritzar processos i avaluar el rendiment dels jobs (resource analyzer).
  • Compatibilitat amb Cwm (Comú Warehouse Metamodel). Capacitat per exportar o importa metadades a altres eines ETL.
  • Actualització contínua: L'augment dels volums de dades poden fer que elsotes "href =" http://es.wikipedia.org/wiki/Procesamiento_por_lotes "> lots que es processaven diàriament passin a processar en micro-lots (diversos al dia) o fins i tot a la integració amb cues de missatges oa la captura de dades modificades (CDC: Change Data Capture ) en temps real per a una transformació i actualització contínua.
  • Integració amb la resta de components de la plataforma analítica, amb la resta dels components de la plataforma d'integració de dades (data profiling, qualitat de dades) i amb els components més orientats a explotació, anàlisi i presentació (capa reporting, dashboards, mineria de dades, etc ..).
  • Capacitat d'adaptació a estàndards que permetin el fàcil intercanvi de dades (exemple SOA).
  • Capacitat d'interoperabilitat amb altres eines (ex.Via API).
  • Qüestions de seguretat pròpies de qualsevol eina.

Com és lògic, aquest breu compendi, tracta aspectes generals que posteriorment hauran de ser complementats amb la problemàtica particular de cada sistema, infraestructura tecnològica, requeriments de negoci i necessitats d'informació.