Blog de Bismart: Últimes Notícies en Dades, IA i Business Intelligence

Què fem? - ETL

Written by Gina Patiño | 03/06/2019 22:00:00

T’has preguntat alguna vegada quina és la clau per optimitzar les teves estratègies empresarials? Nosaltres et donem la resposta: la clau és el control de les dades.

La majoria de les empreses emmagatzemen grans quantitats d’informació en plataformes diferents, com ERP, CRM, fulls de càlcul... Això causa la pèrdua de la traçabilitat de les dades, per la qual cosa l’organització no pot obtenir una visió global que li permeti prendre millors decisions estratègiques.

Actualment, emmagatzemar les dades no és suficient perquè l’organització tingui més competència, sinó que cal que les dades es trobin integrades en un únic lloc perquè deixin de ser un cost per convertir-se en un actiu empresarial. Per aconseguir-ho, l’organització ha de dur a terme un procés d’ETL.

A què ens referim amb un procés d’ETL?

Explicat breument, un procés ETL (Extract, Transform, Load) és un sistema que permet a les organitzacions moure dades des de múltiples fonts (ERP, CRM, Excel, Open Data, Internet of Things, xarxes socials...) per integrar-les en un sol lloc, que podria ser una base de dades, un data warehouse, etc. 

Què és un data warehouse?

Si encara no l'has llegit i vols saber-ho tot sobre data warehouse, llegeix el nostre article. En resum, un data warehouse és el lloc on emmagatzemem la informació empresarial procedent de múltiples fonts per dur a terme consultes i anàlisis, és a dir que transforma les dades en informació i es converteix en el nucli del sistema BI (business intelligence). Gràcies a això, per exemple, una organització pot analitzar els seus clients amb tota la informació disponible.

Al seu torn, ETL correspon a les sigles en anglès: Extract, Transform i Load que representen les tres fases del procés (extracció, transformació i càrrega) que són les que es duen a terme per a la integració correcta de les dades i que descrivim a continuació:

  1. Procés d’extracció de les dades: és la primera etapa d’ETL on s’extreuen les dades ubicades als diversos repositoris de les empreses. En aquest pas, les dades es converteixen a un únic format i queden preparades per a la seva transformació. Un cop tenim totes les dades recopilades i en brut, cal fer un tractament de neteja o depuració que ens ajudarà a evitar errors que els embrutin.
  2. Procés de transformació de les dades: transforma les dades en l’estructura que haguem definit al nostre data warehouse. El pas de transformació inclou accions de validació sobre regles de negoci, validacions tècniques (duplicats, integritat, nuls...), la normalització i homogeneïtzació de codis, canvis de format, així com l’ordenació, filtrat, creuaments i agregats.
  3. Càrrega de les dades: la fase de càrrega és l’última del procés. Les dades transformades comencen a carregar-se al data warehouse, on són registrades i es poden auditar i tenir sempre un històric al llarg del temps.

A causa de la complexitat del procés d’ETL i segons les característiques de cada organització podem trobar diversos tipus de processament.

Quins són els tipus de processament en eines ETL?
  • De dades: es divideix un arxiu en arxius petits perquè, d’aquesta manera, pugui processar-se en paral·lel.
  • Pipeline (segmentació): permet el funcionament de diversos components dins d’un mateix arxiu. Per exemple, es podria treballar sobre la columna 1 d’un arxiu alhora que sobre la segona i la tercera, cosa que ofereix molta més rapidesa.
  • De components: funcionament simultani de múltiples processos en diferents fluxos de dades en el mateix lloc de treball.

Un dels aspectes més importants a l’hora d’emprendre un procés d’ETL és l’elecció de l’eina ETL, perquè depèn de la mida de l’organització, el cost i el lloc d’emmagatzematge.

Eines principals d’ETL

1. Enterprise Software

Utilitzades per empreses grans. Tenen un cost elevat en comparació amb altres opcions disponibles. Exemples: Oracle Data Integrator, SAP Data Services, IBM Infosphere DataStage, SAS Data Manager, Microsoft SQL Server Integration Services – SSIS.

2. Personalitzat

Empreses que desenvolupen les seves pròpies eines amb l’objectiu de disposar de més flexibilitat. Exemples de llenguatges: Java i Python.

3. Open Source

Eines de codi obert gratuïtes per a tots els usuaris. Exemples: Pentaho Data Integration, Talend Open Studio.

4. Servei al núvol

Eines de Google, Microsoft o Amazon que tenen els seus propis serveis de cloud. Exemples: Amazon AWS Glue, Microsoft Azure Data Factory, Google Cloud Dataflow, Amazon AWS EMR.

De la mateixa manera, per triar el tipus d’eina amb una precisió més elevada, recomanem seguir les indicacions de Gartner, consultora líder en tecnologies de la informació.

Característiques que hauria de tenir la nostra eina ETL segons Gartner
  • Connectivitat/capacitats d’adaptació (amb suport a orígens i destins de dades): habilitat per connectar amb un rang ampli de tipus d’estructura de dades, que inclouen bases de dades relacionals i no relacionals, diversos formats de fitxers, XML, aplicacions ERP, CRM o SCM, formats de missatges estàndard (EDI, SWIFT o HL7), cues de missatges, emails, webs, repositoris de contingut o eines d’ofimàtica.
  • Capacitats d’entrega de dades: habilitat per proporcionar dades a altres aplicacions, processos o bases de dades en diverses formes, amb capacitats per a programació de processos batch, en temps real o mitjançant llançament d’esdeveniments.
  • Capacitats de transformació de dades: habilitat per a la transformació de les dades, des de transformacions bàsiques (conversió de tipus, manipulació de cadenes o càlculs simples), transformacions intermèdies (agregacions, sumaritzacions, lookups) fins a transformacions complexes com anàlisis de text en format lliure o text enriquit.
  • Capacitats de metadades i modelat de dades: recuperació dels models de dades des dels orígens de dades o aplicacions, creació i manteniment de models de dades, mapping de model físic a lògic, repositori de metadades obert (amb possibilitat d’interactuar amb altres eines), sincronització dels canvis a les metadades als diversos components de l’eina, documentació, etc.
  • Capacitats de disseny i entorn de desenvolupament: representació gràfica dels objectes del repositori, models de dades i fluxos de dades, suport per a test i debugging, capacitats per treballar en equip, gestió de workflows dels processos de desenvolupament, etc.
  • Capacitats de gestió de dades (qualitat de les dades, perfils i mineria).
  • Adaptació a les diverses plataformes hardware i sistemes operatius existents: Mainframes (IBM Z/OS), AS/400, HP Tandem, Unix, Wintel, Linux, Servidors virtualitzats, etc.
  • Les operacions i capacitats d’administració: habilitats per a gestió, monitorització i control dels processos d’integració de dades, com la gestió d’errors, recol·lecció d’estadístiques d’execució, controls de seguretat, etc.
  • L’arquitectura i la integració: grau de compactació, consistència i interoperabilitat dels diferents components que formen l’eina d’integració de dades (amb un mínim nombre de productes desitjable, un únic repositori, un entorn de desenvolupament comú, interoperabilitat amb altres eines o via API), etc.
Quan cal adoptar un procés d'ETL a la meva empresa?

Un procés d'ETL ajuda a les empreses a crear un sistema de suport de decisions crítiques i permet als directius empresarials accedir ràpidament a les dades en un sol lloc.

A més, proporciona estructures de dades netes i filtrades per a la seva explotació per les diverses eines de l'usuari final, augmenta la qualitat i valor de les dades i permet l'optimització de les decisions. Les bases de dades transaccionals no poden respondre preguntes complexes del negoci que poden ser contestades gràcies a l'ETL.

Un altre motiu de pes és que el magatzem de dades s'actualitza automàticament. El model ETL ofereix un context històric profund per al negoci, perquè recull una gran quantitat de dades històriques per a l'anàlisi de diversos períodes de temps, per descobrir tendències i fer prediccions. El data warehouse integra moltes fonts de dades per reduir el processament al sistema de producció i permet reduir el temps total de resposta en l'anàlisi i la generació d'informes, alhora que en facilita l'elaboració.

En resum, l'aplicació del procés ETL és la construcció i càrrega d'un data warehouse per obtenir una visió consolidada de les dades que impulsa a prendre millors decisions estratègiques. Per això, les empreses amb processos definits per a l'emmagatzematge de dades sumat al desenvolupament de tecnologies BI aconsegueixen, a part d'estalviar costos, ingressos afegits a través de la monetització dels seus arxius. Per exemple, per al propietari d'un hotel que necessita recopilar informació estadística sobre l'ocupació mitjana i la tarifa de l'habitació, podem, gràcies al procés d'ETL i les eines BI, trobar els ingressos agregats generats per habitació, recopilar estadístiques sobre la quota de mercat i dades d'enquestes de clients de cada hotel per decidir-ne la posició competitiva en diversos mercats. De la mateixa manera, podem analitzar tendències any rere any, mes a mes i dia a dia per oferir descomptes en la reserva d'habitacions.