Qual a diferença entre ETL e MDM?


MDM
ETL é um velho conhecido. ETL significa Extract – Transform – Load, ou, em “bom quase bom português”: Extrair, Transformar e Carregar. Nos últimos anos alguns “vendors” (fabricantes), notadamente, a IBM, tem aparecido com “várias variações”, tais como: TEL e T-ETL, por exemplo. Mas, no fundo “ETL” em que pese o significado de suas “letrinhas combinadas” é um processo de migração, de transporte de dados.

 O objetivo máximo de uma ferramenta de ETL é transportar dados de uma ou mais fontes de origem (A) para um destino (B). Normalmente, (A) é uma banco de dados relacional e/ou arquivos texto (xml, csv, “plain text”). E, o destino ou (B), geralmente, é um Data Mart ou Data Warehouse (banco de dados relacional, NoSQL, BigData, etc). Obviamente, existem outros usos mais específicos (e até mais bacanas) para ETL.

Então, num processo de ETL, temos em resumo:

–       Fase 1 – Extração (Extract):

  •  Os dados são extraídos de uma ou mais fontes/origens (A)

–       Fase 2 – Transfomação (Transform):

  • Aplicação de regras “de-para”: SP para São Paulo, RJ para Rio de Janeiro, ou ainda, 1 para Masculino, 2 para Feminino e 3 para … J
  • Cálculos: Preço Total de Venda = Quantidade x Valor Unitário em U$ x Cotação do Dólar na data de venda
  • Agrupamentos: Total por Categoria, Densidade demográfica de uma macro região
  • Transposição/Rotação: transformar linhas em colunas e vice-versadatawarehouse
  • Seleção/Exclusão de dados, por exemplo, somente clientes do estado de SP serão entregues no destino
  • Criação e/ou substituição de chaves (id’s – surrogate Keys)
  • Alguma padronização pode acontecer: Geladeira = Refrigerador, SPaulo, São Paulo, S.Paulo, San Paolo viram São Paulo, por exemplo.

–       Fase 3 – Carga (Load)

  • Carregar os dados no destino (Data Warehouse (DW), Data Mart, Big Data (NoSQL), etc)

Notem que toda a magia ocorre na fase 2, no “T” do “ETL”, contudo, todas as fases são igualmente importantes, pois, uma falha em qualquer uma delas, pode, afetar, negativamente, o resultado do processo inteiro.

Então, não tenho receio de definir o ETL como uma grande movimentação de dados, que pode, sim, acontecer total, parcial, incremental ou diferencialmente. E, que, em havendo origem (A) pode-se a qualquer tempo (salvo as proporções e esforços necessários) recriar o destino (B). Logo, (A) é, fundamentalmente, mais importante que (B).

Normalmente, utilizam-se ferramentas de ETL, em grande parte, operadas através da criação de fluxos de dados. Dentre as ferramentas mais conhecidas: InfoSphere DataStage (IBM), ODI – Oracle Data Integrator (Oracle), OWB – Oracle Warehouse Builder (Oracle), PowerCenter (Informatica), CloverETL (Clover), e, gratuitas tais como: Open Studio for Data Integration (Talend),  CloverETL Community (Clover), Kettle (Pentaho).

Já um processo de MDM (Master Data Management) contém dentro de si o ETL. Embora muitos especialistas discordem. Então, dentro de um processo de MDM, também coleta-se… extrai-se dados de uma ou mais origens (A), e, muitas transformações acontecem, transporta-se… e, finalmente, entrega-se estes dados em um ou mais destinos (B).

A grande diferença agora está no T… Ah, este “têzinho” trabalha muito dentro de um processo de MDM.

No T, agora, além de tudo o que vimos que é feito num ETL tradicional, também se aplica (no caso de MDM):

–       Geo-localização: correção ajuste de endereço (por exemplo: Rua Paulista vira Avenida Paulista), são corrigidos CEP’s, nomes de cidades, estados, logradouros, bairros. A numeração do endereço é verificada contra a faixa de números do logradouro, e, são atribuídas as coordenadas geográficas: Latitude e Longitude

–       Padronização: descrição de produto, categoria, classificação, nome de pessoas, medidas, etc.

–       Higienização:

–       Algumas regras de negócios são aplicadas

–       Agrupamento de dados

–       Deduplicação de dados: eliminação de dados idênticos (ou parecidos conforme a necessidade).

O que é MDM?

data-qualityMaster Data Management ou Gerenciamento de Dados Mestres. E “dados mestres” vem a ser todo dado não transacional (movimentos) que são importantes para a empresa. Exemplo: Pessoas (clientes, fornecedores, parceiros, revendedores, distribuidores, colaboradores, etc), Regras de Negócios, Items (produtos e suas definições).

No Brasil, fomos levados a acreditar que cadastros não importantes, mas, os movimentos (dados não mestres): vendas, compras, estoque, contas à pagar e receber, etc.

Será que o cadastro de clientes não é importante? Vejamos:

–       Imagine disparar uma campanha de artigos para gestantes para meninas de 15 anos? (Isto aconteceu nos Estados Unidos com a gigante Target.com. Rendeu-lhe alguns processos na justiça e milhares de dólares pelo ralo)

–       Imagine um dos maiores bancos privados do país abrir 2 agências em uma região que julga ter muitos clientes potencias?  Descobre-se que seus dados de geo localização são falhos. Isto aconteceu com um grande banco nacional, que se viu obrigado a fechar as duas agências, e implantar um dos maiores projetos de MDM da América Latina.

–       E se uma conhecida rede de varejo resolve fazer uma grande promoção, com milhares de reais em campanhas na televisão, visando um incremento de mais de 25% nas vendas de certo período, com um aumento de 7% no lucro deste mesmo período? Após a campanha, analisa-se que ocorreu um incremento recorde de 37% nas vendas do período. Mas, logo vem a dura realidade: backlog de pedidos (entregas emperradas), e, prejuízo de quase 15%. Motivo: Regras de negócios, fretes, e items mal definidos – dados falhos.

Não estou dizendo que os dados transacionais não sejam importantes. De fato, são. E muito. Mas, minha geração, que iniciou em TI (antigamente era Processamento de Dados) na década de 80, foi ensinada, doutrinada, motivada e enganada a acreditar que dados mestres (vulgo cadastros) não são tão importante, pois, são “recuperáveis”. “Ah! Se perdemos o cadastro de clientes, colocamos o Joãozinho e o Zezinho para digitar”. Não, não é bem assim.

Hoje, sistemas cada vez mais complexos e inteligentes, robôs digitais, analisadores de comportamento, sensores, capturam dados “transacionais”, mas, são balizados e tomam decisões apoiadas em “informações” extraídas dos dados mestres (mais uma vez: cadastros).

Portanto, os “flaw data”, dados falhos podem levar sistemas inteligentes e complexos a tomarem e/ou levarem a tomadas de decisões, igualmente, falhas.

Temos então, que o processo de MDM – Master Data Management veio, justamente, para cuidar destes “cadastros”, melhorando a qualidade dos dados nele contidos, para que possam produzir informação de alta qualidade.

MDM e Big Data podem ou não andar juntos. É incorreto dizer que MDM só coexiste num ambiente de Big Data. São conceitos, totalmente, diferentes que podem ou não se complementar. Contudo, MDM está muito mais conectado com o mundo de RDBMS (Relational Data Base Management System) – ou seja, o bom e velho banco de dados relacional (Oracle, MySQL, DB2, Sybase, SQL Server, etc).

MDM não é um processo que termina. É um processo contínuo, infinito. Enquanto houver entrada e/ou alteração de dados mestres, o processo de MDM irá existir. Inclusive, retro alimentando-se de dados que já passaram pelo processo.

MDM irá substituir o ETL? Não creio. ETL tem mais a ver com transporte de qualquer tipo de dados, MDM, tem a ver com melhorar a qualidade dos dados.

ETL pode transformar dados, mas, o processo simples de ETL não se preocupa em qualidade do dado entregue no destino. O MDM é um processo que utiliza ferramentas de ETL para melhorar a qualidade dos dados através de bancos de dados de enriquecimento.

ETL é uma ferramenta do processo de MDM, uma pequena parte de um processo complexo que envolve ferramentas, pessoas, e processos.

Liderei o primeiro projeto de MDM em 2008. E já se foram quase 6 projetos concluídos. Não é possível segmentar, pois, cada cliente pertencia a um segmento. Contudo, se observarmos o gráfico, veremos que são os maiores tomadores de MDM em nível mundial:

tdwi

A procura por MDM, ainda, é incipiente no Brasil. Não há profissionais treinados, e, a maioria das tentativas de voo solo se traduz em perdas irreparáveis, tanto, financeiras, como de imagem para as empresas. Estas malfadas tentativas de implantar o MDM na base do “vamo-que-vamo” tem colaborado para arranhar a imagem das equipes envolvidas, e, danificar o conceito de MDM, gerando, verdadeiros “Franksteins” que beiram a inutilidade.

MDM é um processo complexo. Muitas vezes caro. Pode ser aplicado em qualquer segmento, em qualquer porte de empresa ou governo. Contudo, somente empresas de porte médio ou maior, conseguirão implantar um MDM vencedor e conseguirão retorno com isso.

7 comentários em “Qual a diferença entre ETL e MDM?”

  1. Oi Alexandre! Muito interessante a matéria, parabéns! Se puder ajudar, tenho uma dúvida. Ao realizar o matching entre duas bases distintas terei como resultado, de acordo com as regras de agrupamento pré-estabelecidas, os registros singles e duplicates. No caso dos duplicates, haveria alguma boa prática de regras para eleger o melhor campo para todos os campos do agrupamento de forma a criar um golden record com um maior nível de precisão? Eu estou trabalhando com a base mais confiável, o registro com a data de atualização mais recente, etc…. Mas não sei se este é o caminho…. Preciso de ajuda. Abraço.

    1. Fernando,

      Para te responder eu preciso de mais elementos. Golden record sim, fórmula mágica: NÃO!
      Utilizar a regra temporal e ter o registro mais recente como verdade definitiva pode não ser bacana. E se a origem dos dados mais recentes não for a mais precisa, forte e confiável?

      A coisa mais bacana em DQ é que existe uma série de variáveis a serem consideradas, o que o torna muito diferente de um ETL. Antes de só considerar o tempo de vida do registro, pense na origem. Tente pontuar as origens, e, criar uma regra mista entre origem e vida do registro.

      Abs,

  2. Muito bom esse artigo, mestre!

    Notei que no MDM o “têzinho” vira um “tesão” em vários sentidos, inclusive no sentido de: “dá gosto de trabalhar com isso”. Embora eu trabalhe com BI e me envolva muito com ETL, ainda não conhecia o conceito MDM. Gostei do assunto e vou procurar aprender mais sobre ele.

  3. Alexandre,
    Fiquei encantada ao ler o seu texto sobre MDM, pois sempre procurei melhorar a qualidade dos dados das dimensões, por recomendação do Kimball, e raramente encontro quem esteja disposto a investir nisso, o que acaba gerando relatórios pobres e confusos.
    Essa sua afirmação parece até que é minha, “tirou daqui, como se diz”: “MDM (leia-se, a melhoria contínua do conteúdo das dimensões do DW) não é um processo que termina. É um processo contínuo, infinito. Enquanto houver entrada e/ou alteração de dados mestres, o processo de MDM irá existir. Inclusive, retro alimentando-se de dados que já passaram pelo processo.”
    Quer dizer então que existe um nome (MDM) para isso que eu queria fazer dentro do ETL.
    Obrigada!

  4. Olá Alexandre, Parabéns pelo artigo comparativo.
    Você tem sugestão ou pode compartilhar algum livro/material sobre MDM?

    Grato.

  5. Na verdade MDM só é necessário em organizações que possuem vários cadastros (CRM de um fabricante, ERP de outro, etc.). Se você modela sua base corporativa usando o padrão DAMABoK não é necessário usar o MDM para consistir os dados porque já estarão concisos.

    PS: aTarget.com ofereceu sim produtos de bebê para uma adolescente…ocorre que o pai descobriu que ela estava mesmo grávida!

  6. Parabéns Alexandre, por acaso nunca ouvi falar do MDM, mas já trabalhei na construção de um Data Mining cuja o conceito era de facto buscar do DW informações importantes dos nossos clientes relacionadas com tendência de consumo, preferência de consumo em determinados períodos e outros indicadores muito específicos. Os principais problemas que encontramos estavam relacionados com a perfomance em transformar as colunas do DW em linhas no DM se calhar uma abordagem primária em MDM seria importante.
    Valeu vamos aprendendo.

Deixe um comentário

O seu endereço de e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.