quarta-feira, 11 de novembro de 2020

Big data e Data mining

Nesses grandes volumes de dados, ou seja, no big data, existem informações úteis que estão invisíveis aos tomadores de decisões. Muitas delas poderiam ser aproveitadas para prever um comportamento futuro, ou seja, poderiam ir além do armazenamento explícito de dados.

Para ajudar as organizações empresariais a descobrir informações úteis das suas bases de dados são utilizadas ferramentas de data mining. No cenário atual, extremamente rápido e competitivo, as grandes organizações precisam contar com um sistema de gestão que incorpore ferramentas de mineração de dados.

De acordo com Gassenferth et al. (2015, p. 111), data mining, ou mineração de dados,

é o processo de extração de conhecimento de grandes bases de dados, convencionais ou não. Seu objetivo é encontrar, automaticamente, padrões, anomalias e regras com o propósito de transformar dados, aparentemente ocultos, em informações úteis para a tomada de decisão e/ou avaliação de resultados.

Data mining ou mineração de dados consiste em um processo analítico projetado para explorar grandes quantidades de dados na busca de padrões consistentes e/ou de relacionamentos sistemáticos entre variáveis, transformando-os em novas informações. Os dados, armazenados em grande volume, geralmente encontram-se em bancos de dados e/ou em data warehouses.

(Fonte: LAUDON; LAUDON, 2011, p. 159)

Business intelligence.
Fonte: a-image/ Shutterstock.

Milhares de informações são processadas diariamente nas organizações, provenientes de seus diversos departamentos, incluindo dados de estoques, pedidos, compras, orçamentos, operações contábeis e financeiras, relatórios jurídicos, venda, pós-venda, relacionamento com cliente, dentre tantos outros. Este grande volume é armazenado em bancos de dados convencionais e/ou no DW.

Face a este volume de dados, ferramentas de data mining podem atuar como sistemas de gerenciamento de informação, revelando estruturas de conhecimento que conseguem guiar decisões em situações que se tem certeza limitada sobre os possíveis acontecimentos.

Data mining é parte de um processo maior de conhecimento denominado Knowledge Discovery in Database (KDD – descoberta de conhecimento em bancos de dados). De acordo com Kimball e Caserta (2004), KDD consiste, fundamentalmente, nas etapas:

  1. estruturação do banco de dados ou repositório de dados;
  2. seleção, preparação e pré-processamento dos dados;
  3. transformação, adequação e redução da dimensionalidade dos dados;
  4. processo de data mining;
  5. análises, assimilações, interpretações e uso do conhecimento extraído do banco de dados, por meio do processo de data mining.

O processo de data mining utiliza técnicas estatísticas, matemáticas, de inteligência artificial e de aprendizagem automática que procuram relações de similaridade ou discordância entre dados.

Uma empresa que utiliza ferramentas de mineração de dados é capaz, dentre outras possibilidades, de:

  • criar parâmetros para entender o comportamento do consumidor;
  • identificar afinidades entre as escolhas de produtos e serviços;
  • prever hábitos de compras;
  • analisar comportamentos habituais para detectar fraudes.

Um exemplo de mineração de dados pode ser visto na figura abaixo. Pela análise dos dados, pode-se concluir que “Produtos azuis geram alto lucro” e “Estado do Arizona (AZ) produz baixo lucro”.

Exemplo de mineração de dados.
Fonte: baseado em ALBUQUERQUE, 2017.

Para termos uma ideia mais precisa da aplicabilidade da mineração de dados, podemos considerar alguns cenários, como:

  • Lanchonetes fast­food, ou franquias semelhantes, apenas com 50 itens de venda, podem gerar 500 compras/dia.
  • Lojas de departamentos ou supermercados com mais de 1.000 itens, podem gerar 500 compras/dia.
  • Lojas de departamentos ou supermercados com mais de 10 mil itens, podem gerar 2.000 compras/dia.
  • Na análise de um carrinho de compras de um supermercado, pode haver 360 mil registros/mês para listar o que foi comprado por um determinado consumidor em um determinado dia.

A mineração de dados fornece maneiras de responder perguntas do tipo:

  • Quem comprou carne importada?
  • Quem comprou carne e cervejas importados e na mesma compra?
  • Qual é o gasto médio de compras para pessoas diferentes?
  • Qual loja da cadeia vendeu mais cervejas importadas?
  • Em que mês é vendido mais cervejas importadas?
  • Quais lojas vendem mais no dia dos pais?
  • Qual item é comprado com maior frequência juntamente com carne importada?
  • Quais itens são comprados juntos com maior frequência?
  • Quais itens são comprados juntos com maior frequência e em que período do ano?

Outras perguntas possíveis sobre grandes conjuntos de dados, que podem ser respondidas pelas técnicas de mineração de dados, são:

  • Como identificar hábitos ou perfis de consumo?
  • Como prever que usuários vão mudar para outro provedor de serviços?
  • Como identificar coisas semelhantes?
  • Como identificar o que é diferente de um padrão esperado (ou não)?
  • Por que o volume de compras diminuiu?

O interesse pela mineração de dados vem aumentando, pois as empresas estão coletando e armazenando, cada vez mais, maiores quantidades de dados como consequência da queda dos preços de meios de armazenamento, do armazenamento em nuvem (cloud storage) e dos computadores, e do aumento da capacidade de todos eles. A disseminação da utilização de DWs tende a aumentar ainda mais a quantidade de informações disponíveis. As tradicionais planilhas Excel não conseguem armazenar nem permitir análises de grandes volumes de dados; o máximo que conseguem é gerar relatórios informativos sobre os dados. Já as ferramentas de data mining vão muito além, conseguindo realizar operações importantes como análise preditiva e análise futura para indicar tendências.

De acordo com Goldschmidt, Bezerra e Passos (2015, p. 16), os dois objetivos de maior destaque da mineração de dados são a predição e a descrição. Os padrões preditivos são encontrados para resolver o problema de predizer o valor futuro de um ou mais atributos do banco de dados a partir do valor conhecido dos demais atributos; ou seja, a partir de um histórico de casos anteriores, prever os valores dos atributos em outras situações. Os padrões descritivos, ou informativos, têm por objetivo encontrar padrões interessantes, de forma interpretável pelo usuário, que descrevam os dados, ou seja, encontrar um modelo que descreva o conhecimento existente em um conjunto de dados.

Esses padrões e regras são utilizados para direcionar a tomada de decisões e prever as consequências das decisões. As ferramentas de data mining podem ser combinadas com planilhas e outras ferramentas similares de uso mais comum, facilitando a análise dos dados. A associação com ferramentas sofisticadas de visualização de dados pode contribuir bastante na descoberta de associações novas de dados, aumentando a competitividade da empresa.

terça-feira, 10 de novembro de 2020

Ferramentas para construção e consultas a um DW – parte II

 Big data e data mining

Big data.
Fonte: Wright Studio/ Shutterstock.

Conforme já dissemos, no mercado corporativo atual, as organizações têm se mostrado muito eficientes em capturar, organizar e armazenar grandes quantidades de dados, obtidos de suas operações diárias ou de pesquisas do mercado, mas a maior parte delas ainda não consegue usar essa gigantesca montanha de dados para transformá-los em conhecimentos que possam ser utilizados em seus negócios de forma adequada.

Big data é um termo que se refere à enorme quantidade de dados não estruturados que é produzido no mundo. De acordo com Proffitt (2017), o Grupo Gartner informou que o mundo produz mais de 15 petabytes de dados estruturados e não estruturados por dia, incluindo filmes de vídeos, textos, áudios, imagens, informações produzidas pelas redes sociais etc. O Grupo ainda afirma que, em 2018, 50% das violações de ética nos negócios ocorre por meio do uso inadequado do big data.

A analista Cas Proffitt informa que a tendência é de “everything-as-a-service”, e as maiores empresas do mundo continuarão trabalhando com volumes crescentes de dados, como a empresa CenturyLink, que anunciou o BDaaS como opção para empresas que querem aproveitar o poder do big data, mas não possuem recursos e expertise próprios disponíveis. Ou seja, podemos continuar esperando inovações vindas de tecnologias para trabalhar com big data.

Os quatro Vs do big data.
Fonte: T. L. Furrer/ Shutterstock.

De acordo com a empresa SAS (2017), Doug Laney, um analista de dados, relacionou a definição de big data com três Vs:

  • Volume (volume): organizações coletam dados de uma grande variedade de fontes, incluindo transações comerciais, redes sociais e informações de sensores ou dados transmitidos de máquina a máquina.
  • Velocity (velocidade): os dados fluem em uma velocidade sem precedentes e devem ser tratados em tempo hábil. Tags de RFID, sensores, celulares e contadores inteligentes estão impulsionado a necessidade de lidar com imensas quantidades de dados em tempo real, ou quase real.
  • Variety (variedade): os dados são gerados em todos os tipos de formatos, desde dados estruturados, como dados numéricos em bancos de dados tradicionais, até documentos de texto não estruturados, como e-mail, vídeo, áudio, dados de cotações da bolsa e transações financeiras.

A estes três Vs foi acrescentado um quarto V: Veracity ou veracidade, conforme ilustra a figura abaixo.

Ainda de acordo com a SAS (2017), a importância do big data não está ligada à quantidade de dados que uma empresa possui, mas o que a empresa pode fazer com eles. É necessário que os dados sejam analisados de forma a encontrar respostas ou realizar atividades que levem a empresa a:

  • reduzir custos e reduzir tempo;
  • alavancar a criação de novos produtos e/ou ofertas;
  • permitir a tomada de decisão mais inteligente;
  • obter a causa raiz de falhas, problemas e defeitos em tempo quase real;
  • criar políticas de promoção de vendas com base em cupons baseados no gosto e hábitos dos clientes;
  • obter análises de riscos em tempos muito curtos;
  • detectar ações fraudulentas de forma a defender os negócios.

Aconteceu     

Uso do big data na análise 360º do mercado

“Hoje, praticamente tudo o que fazemos ou o que acontece ao nosso redor pode ser analisado por um software big data. Se você está dirigindo o seu carro e de repente uma luz no painel o alerta que o óleo do motor precisa ser trocado, ou quando você assiste a um jornal na TV e a “moça do tempo” diz que na próxima semana vai chover, pode ter certeza que essas conclusões só foram feitas graças ao cruzamento de uma porção de informações através de um software big data.

Na internet isso é diferente e tudo o que fazemos deixa um rastro digital. Práticas comuns do dia a dia, como enviar e-mails ou mensagens de texto, pesquisar ou comprar produtos e serviços pela internet, comentar ou avaliar um post de uma empresa no Facebook, são alguns dos poucos exemplos perto de uma infinidade de ações que podem gerar informações a serem analisadas por um Big Data System.

Essa gigantesca quantidade de informações é, na maioria das vezes, desorganizada e desestruturada. Com o auxílio da aplicação da matemática e dos insights obtidos é possível, por exemplo, melhorar o atendimento ao consumidor, identificar tendências de mercado, aumentar as vendas, prever problemas, mensurar riscos e diminuir gastos.

Grandes empresas como Amazon e Walmart foram pioneiras no uso de sistemas de análise de big data. Depois disso, o uso destes softwares tomaram uma proporção tão grande e variada que há quem diga que o atual presidente dos Estados Unidos, Barack Obama, se reelegeu para o seu segundo mandato devido à inteligência da análise de dados. E que esta mesma tecnologia foi uma das grandes aliadas para a seleção alemã ter vencido a copa do mundo de 2014.”

(Fonte: <visie.com.br>)

segunda-feira, 9 de novembro de 2020

Navegação Multidimensional

A análise multidimensional representa os dados como dimensões ao invés de representá-los por tabelas.

Combinando as dimensões, o usuário tem uma visão dos dados de um DW que permite a ele efetuar operações básicas, como slice and dice, que é uma forma de mudança das dimensões a serem visualizadas, drill down e roll up, que é navegação entre os níveis de detalhamento dos dados do DW. As operações OLAP podem ser utilizadas combinadas, ou seja, realizar um slice e um dice ao mesmo tempo com operações de drill down ou roll up.

Nas ferramentas de navegação OLAP é possível navegar entre diferentes granularidades (detalhamento) de um cubo de dados. O drill movimenta a visão dos dados ao longo das hierarquias de uma dimensão, permitindo ao usuário navegar entre o mais alto nível até a informação detalhada, na sua menor granularidade. Essas operações, como já dissemos, são conhecidas como drill down e roll up.

O drill down ocorre quando o usuário aumenta o nível de detalhe da informação, diminuindo o nível de granularidade.

Roll up, ao contrário do drill down, ocorre quando o usuário aumenta o nível de granularidade, diminuindo o nível de detalhe da informação.

Observe a figura.

Exemplo de drill down e roll up.
Fonte: baseado em MACHADO, 2012, p. 86-87.

Na 1ª tabela, na figura 35, temos a visualização dos valores de produção globais (independente do produto) na região Sul nos estados do Rio Grande do Sul e Santa Catarina, distribuídos por trimestre, de 2016.

Na 2ª tabela temos os mesmos dados, mas somente do 1º trimestre.

A operação de sair da 2ª tabela para a 1ª é uma roll up: estamos saindo de um nível mais baixo de detalhe (um trimestre específico de um ano) para um nível mais alto (todos os trimestres de um ano). Esse roll up está sendo realizado sobre a dimensão tempo.

Da 2ª para a 3ª tabela, no exemplo da figura 35, temos uma operação de drill down que acontece sobre a dimensão localização geográfica. A 2ª tabela apresenta a produção por região geográfica (Sul) e pelos estados dessa região (RS e SC). Ao realizar um drill down, estamos abrindo o nível de detalhe da dimensão localização geográfica, visualizando somente um estado (RS) da região (Sul), e abrindo os valores para as cidades desse estado (Canoas e Porto Alegre).

Slice and dice, resumidamente, significa a redução do escopo das informações analisadas, permitindo ao usuário explorar os mesmos dados com uma visão ou dimensão diferente.

Essa característica das ferramentas OLAP é de grande importância, pois com ela podemos analisar as informações de diferentes prismas limitados somente pela nossa imaginação. Slice and dice é o mesmo que filtrar. Utilizando essas operações, conseguimos ver a informação sobre ângulos que inexistiam, sem a implementação de um DW e a utilização de uma ferramenta OLAP.

Slice é a operação que corta o cubo, mas mantém a mesma perspectiva de visualização dos dados.

Dice é a mudança de perspectiva da visão. É a extração de um “subcubo” ou a interseção de vários slices. É como se girássemos o cubo em nossas mãos.

Observe a figura, que mostra uma tabela que apresenta as vendas de celulares e tablets e o cubo sendo “fatiado”.

Exemplo de slice and dice
Fonte: baseado em MACHADO 2012, p. 89-90.

Neste exemplo da figura, o cubo foi fatiado, ou um slice realizado, representado pela operação de visualizarmos somente um tipo de produto, no caso, os celulares.

De acordo com a Microsoft (2015), existe uma variedade de ferramentas com diferentes abordagens para OLAP. Algumas delas podem ser:

  • ROLAP (OLAP relacional): ferramentas OLAP que acessam bancos de dados relacionais;
  • MOLAP (OLAP multidimensional): ferramentas OLAP que acessam bancos de dados multidimensionais;
  • HOLAP (OLAP híbrida): ferramentas OLAP que permitem acesso tanto aos bancos de dados relacionais como aos multidimensionais;
  • DOLAP (OLAP desktop): ferramentas OLAP voltadas para computadores pessoais, acessando bancos de dados individuais.

As ferramentas OLAP permitem a exploração de dados do DW e são utilizadas quando se deseja investigar os dados, de forma interativa, para realização de análises. Permitem o cruzamento de informações e emitem relatórios detalhados e resumidos, de maneira rápida. Como os dados consultados já estão no DW, dispensam consultas aos bancos de dados relacionais.

domingo, 8 de novembro de 2020

OLAP - On Line Analytical Processing

O DW, por si só, não fornece as informações que os níveis gerenciais necessitam. As ferramentas OLAP (On Line Analytical Processing ou processamento analítico online) têm como função “navegar” nos dados do DW para realizar pesquisas e apresentar as informações de forma adequada. Assim, OLAP reúne ferramentas que permitem a exploração e análise dos dadosno DW.

OLAP
Fonte: one photo/ Shutterstock.

OLAP é o conjunto de ferramentas que possibilita efetuar a exploração dos dados de um DW através da análise multidimensional, em que os dados são representados como dimensões ao invés de tabelas. Os resultados deste tipo de análise, por meio do comportamento de determinadas variáveis ao longo do tempo, é permitir a descoberta de tendências e cenários, e com isso transformar os dados de um DW em informação estratégica.

(Fonte: MACHADO, 2012, p. 85)

Algumas ferramentas permitem criar modelos de consultas (views ou visões) usando uma interface amigável, possibilitando a análise em diversos níveis de agregação. Essa análise multidimensional implica na utilização de operações como comparação de valores entre períodos, percentual de variação, médias, somas ou valores cumulativos, além de funções estatísticas e financeiras.

As ferramentas que manipulam dados por meio de interfaces amigáveis e de forma ágil facilitam o uso do DW. Desta forma, os relatórios são mais utilizados em tela, não precisando ser impressos. Por meio destas interfaces, o usuário consegue navegar nas informações de diferentes maneiras e, ao final da consulta, pode imprimir os dados de seu interesse ou salvar aquela visão para continuar a consulta futuramente.

As ferramentas OLAP geralmente apresentam as características:

  • Permitem uma visão multidimensional dos dados;
  • Realizam cálculos complexos;
  • Criam agregações e consolidações;
  • Fazem previsões e análises de tendência;
  • Constroem cenários a partir de suposições;
  • Fazem cálculos e manipulam dados através de diferentes dimensões.

Modelagem e visão multidimensional dos dados

Kimball e Caserta (2004) definem modelagem multidimensional como uma técnica de concepção e visualização de um modelo de dados com o objetivo de reestruturar os dados e possibilitar que sejam apresentados em visões que permitam a análise dos valores a eles associados. Um modelo multidimensional é formado por três elementos básicos: fatos, dimensões e medidas. As dimensões e fatos são representados em tabelas e pode haver diversas dimensões e diferentes tabelas de fatos. Estes elementos são explicados a seguir.

Fatos

Machado (2012, p. 79) define fato como

uma coleção de itens de dados, composta de dados de medidas e de contexto. Cada fato representa um item, uma transação ou um evento de negócio. É utilizado para analisar o processo de negócio de uma empresa e tudo aquilo que reflete a evolução dos negócios do dia-a-dia de uma organização. A característica básica de um fato é que ele é representado por valores numéricos e implementado em tabelas denominadas tabelas fato (fact tables).

Dimensões

Para Machado (2012, p. 80) dimensões são

os elementos que participam de um fato (assunto de negócios). São as possíveis formas de visualizar os dados, como: “por mês”, “por país”, “por produto”, “por região” etc. As dimensões determinam o contexto de um assunto de negócios, por exemplo, as vendas de produtos. As dimensões que participam desse fato vendas de produtos comumente são tempo, localização, clientes, vendedores, cenários (realizados, projetados). Dimensões normalmente não possuem atributos numéricos, pois são somente descritivas e classificatórias dos elementos que participam de um fato.

Medidas

De acordo com Machado (2012, p. 81) medidas são

os atributos numéricos que representam um fato; medem a performance de um objetivo de negócio representado por um indicador relativo às dimensões que participam desse fato. Os números atuais são denominados de variáveis. Medidas podem ser, por exemplo, o valor em reais das vendas, o número de unidades de produtos vendidas, a quantidade em estoque, o custo de venda, entre outras. Uma medida é determinada pela combinação das dimensões que participam de um fato, e estão localizadas como atributos de um fato.

Visão multidimensional do fato “vendas”.
Fonte: baseado em MACHADO, 2012, p. 82.

O caminho mais utilizado para visualizar um modelo dimensional é o desenho de um cubo. Entretanto, usualmente um modelo dimensional consiste em mais de três dimensões, o que é definido como um hipercubo. Visualizar graficamente um hipercubo é muito difícil; desta forma, utiliza-se a referência a um cubo para qualquer modelo multidimensional. A figura abaixo traz a representação de um fato “vendas” por meio de um cubo.

No exemplo da figura acima, Machado (2012, p. 82) define: medida é o volume de vendas, que é determinado pela combinação de três dimensões: localização, produto e tempo. As dimensões localização e produto possuem dois níveis de hierarquia. Por exemplo, a dimensão localização tem o nível estado e o nível cidade, na qual temos os membros SP e Rio. A dimensão temponesta figura poderia representar os anos de venda, tais como 2016, 2017 e 2018. Cada subcubo possui o valor da medida de quantidadedevenda. Por exemplo, em um período específico de tempo (não expresso na figura), na cidade de Campinas, SP, foram vendidos 110 mil tablets do modelo 20A1.

sábado, 7 de novembro de 2020

Custos de implantação de DMs e DW

Por serem menores, os DMs possuem uma implantação mais rápida do que o DW, porém utilizam a mesma abordagem. De acordo com Sowek (2009):

o maior atrativo para implementar um Data Mart é seu custo e prazo. Segundo estimativas, enquanto um DM custa em torno de R$ 100 mil a R$1 milhão e leva cerca de 120 dias para estar pronto, um DW integral começa em torno dos R$ 2 milhões e leva cerca de um ano para estar consolidado.

Mas não existe um projeto padrão que possa ser implementado em todas as empresas. Assim, estes valores citados por Sowek e mostrados na quadro, são apenas estimativas, pois o investimento para o projeto do DW depende de cada caso.

Comparação entre implantação de DM e de DW.
  Data mart Data warehouse
Tamanho De 50 GB a 250 GB Vários terabytes ou mais
Propósito Área ou assunto específico
Visão departamental
Repositório da organização
Visão corporativa
Como iniciar Bottom-up Top-down
Controle Departamental Sistema de Informação
Tempo Implementação 3 a 6 meses 1 até 2 anos
Custo Implementação De R$ 100.000 a R$ 1.000.000 Milhões de reais
Fonte: SOWEK, 2009.
 
TCO – Total Cost of Ownership.
Fonte: Biz Idea Production/Shutterstock.

De acordo com Bedi (2015), a melhor forma de analisar dados vindos de múltiplas fontes é usando um DW. Mas, independentemente do uso de data warehousing, a tecnologia tem um custo alto (TCO – Total Cost of Ownership), incluindo custos diretos e indiretos, como software, hardware, recursos humanos etc. Todos estes custos devem ser considerados antes que uma empresa inicie a implantação do DW e/ou DMs.

Ainda de acordo com o autor, os custos são assim definidos:

  • Software: O software necessário para executar um DW não vem com o hardware, por isso licenças têm que ser adquiridas para atender a demanda da empresa. Mesmo começando em poucos milhares de dólares, esse custo pode subir muito. O pleno funcionamento do DW inicia-se depois da carga de terabytes de dados e o volume de dados tende a crescer. Os custos também crescem a partir do aumento do número de usuários, aquisição de mais licenças e mais servidores etc.
  • Hardware: A aquisição de hardware poderoso o suficiente para suportar e executar consultas complexas resulta em altos custos. Um DW necessita de servidores para executar software especializado, espaço em data center para os servidores, hardware para armazenamento de big data, rede de computadores de alta velocidade para acesso aos dados do DW, hardware para a redundância de dados etc. Estes custos tendem a aumentar na medida em que o volume de dados e de consultas aumenta, refletindo no aumento de todos os componentes de hardware que suportam o DW.
  • Pessoas: Mesmo que haja software e hardware adequados, esforços humanos são essenciais para gerir e manter o ambiente de DW. Além disso, o pessoal do departamento de TI e usuários regulares têm que ser capacitados e treinados para usar efetivamente todo o aparato. Isso implica igualmente em custos crescentes.

Em função do exposto, o TCO resultante da soma dos cursos de software, hardware e pessoas para construção de um DW pode ser muito grande. Bedi (2015), entretanto, pondera que algumas tecnologias podem contribuir para a redução de custos, como o uso de Data Warehouse as a Service (DWaaS).

DWaaS pode significar a utilização de software sob medida, pagando-se pelo uso de licenças, no modelo pay-as-you-go. Em relação ao hardware, o mesmo pode ser contratado sob demanda, de forma que passe do modelo de capital expenditure (capex) para o modelo operational expenditure (opex) baseado em taxas de uso por hora ou por mês. Desta forma, o hardware pode ser aumentado de forma elástica, sob demanda. Negócios baseados em DWaaS especializados em DW podem reduzir os custos de US$ 20 mil a US$ 40 mil dólares por terabyte para US$ 1.000 a US$ 5.000 dólares por terabyte. Com a contratação de software e hardware, os custos com pessoal também são reduzidos.

Saiba mais     

Data warehouse ou Data mart?

Ralph Kimball é um defensor da teoria de que o DW deve ser dividido para depois ser conquistado, ou seja, que o mais viável para as empresas é desenvolver vários Data Marts para posteriormente integrá-los e, assim, chegar-se ao DW. Na sua avaliação, as empresas devem construir Data Marts orientados por assuntos. Ao final, teriam uma série de pontos de conexão entre eles, que seriam as tabelas Fato e Dimensão em conformidade. Dessa forma, informações entre os diferentes Data Marts poderiam ser geradas de maneira íntegra e segura. Kimball batizou esse conceito de Data Warehouse Bus Architeture.

Bill Inmon rebate essa teoria e propõe justamente o contrário. Na sua avaliação deve-se construir primeiro um Data Warehouse, modelando-se toda a empresa para se chegar a um único modelo corporativo, partindo-se posteriormente para os Data Marts construídos por assuntos ou departamentais. Inmon defende a ideia de que o ponto de partida seriam os CIF – Corporate Information Factory – uma infraestrutura ideal para ambientar os dados da empresa. O CIF seria alimentado pelos sistemas transacionais. A construção de um ODS- Operational Data Store seria facultativa, mas essa iniciativa ajudaria a reduzir a complexidade da construção de um DW, uma vez que todo o esforço de integração entre os sistemas transacionais da empresa seria depositado nele.”

(Fonte: <social.technet.microsoft.com>)

sexta-feira, 6 de novembro de 2020

Data Marts

Data Mart(DM), na definição de Machado (2012, p. 45), é um subconjunto de dados do DW que permite acesso descentralizado, servindo de fonte para os dados que comporão os bancos de dados individuais, conforme pode ser visto na figura.

Data Marts e Data Warehouse.

Um ponto a destacar aqui é que o Data Mart pode ser tratado como um projeto-piloto para que a empresa conheça os benefícios da tecnologia antes da decisão de construir um DW.

(Fonte: MACHADO, 2012, p. 46)

Conforme vimos, o projeto do DW pode ser implementado usando uma arquitetura de DMs independentes ou integrados.

Na arquitetura independente, os DMs fornecem suporte à decisão para os grupos de usuários ou departamentos, desempenhando o papel de um DW departamental, sem foco corporativo.

Na arquitetura integrada, os DMs, apesar de serem implementados separadamente por grupos de usuários ou departamentos, são integrados ou interconectados, permitindo uma visão corporativa dos dados.

Vários tipos de implementação dos DMs nas arquiteturas independente e integrada podem ser usados. Vamos tratar aqui apenas duas destas abordagens: top-down e botton-up.

A abordagem top-down consiste em implementar os DMs a partir da implementação do DW. Neste ambiente os dados são resumidos, dimensionados e distribuídos para um ou mais DMs dependentes, como mostra a figura abaixo. Estes DMs são “dependentes” porque eles derivam todos os seus dados de um DW centralizado.

Arquitetura top-down de DMs.
Fonte: <dataprix.net>.

De acordo com Machado (2012, p. 54), as vantagens da implementação top-down podem ser assim definidas:

  • Herança de arquitetura: todos os DM originados de um DW utilizam a arquitetura e os dados desse DW, permitindo uma fácil manutenção.
  • Visão de empreendimento: o DW concentra todos os negócios da empresa, sendo possível extrair dele níveis menores de informações.
  • Repositório de metadados centralizado e simples: o DW provê um repositório de metadados central para o sistema. Essa centralização permite manutenções mais simples do que aquelas realizadas em múltiplos repositórios.
  • Controle e centralização de regras: a arquitetura top-down garante a existência de um único conjunto de aplicações para extração, limpeza e integração dos dados, além de processos centralizados de manutenção e monitoração.

Mas esta abordagem também apresenta desvantagens, e Machado (2012, p. 54) elenca como as principais:

  • Implementação muito longa: os DWs são, normalmente, desenvolvidos de modo iterativo, separados por áreas de assuntos, como, por exemplo, vendas, finanças e recursos humanos. Mesmo assim, são necessários, em média, 15 ou mais meses para que a primeira área de assunto entre em produção, dificultando a garantia de apoio político e orçamentário.
  • Alta taxa de risco: não existem garantias para o investimento nesse tipo de ambiente.
  • Heranças de cruzamentos funcionais: é necessária uma equipe de desenvolvedores e usuários finais altamente capacitados para avaliar as informações e consultas que garantam à empresa habilidade para lidar com as mudanças de competições políticas, geográficas e organizacionais.
  • Expectativas relacionadas ao ambiente: a demora do projeto e a falta de retorno podem induzir expectativas nos usuários.

Já na abordagem bottom-up os DMs são organizados de forma independente, representando determinadas áreas setoriais ou departamentos da empresa e, após sua implementação, parte-se para a construção do DW. Assim, o DW será corporativo, representando o conjunto de todos os assuntos da empresa de forma que o suporte à decisão atue em todos os níveis da organização. A figura mostra esta configuração.

Arquitetura bottom-up deDMs.
Fonte: <dataprix.net>

De acordo com Machado (2012, p. 56), as vantagens da implementação bottom-up são:

  • Implementação rápida: a construção dos DMs é altamente direcionada, permitindo um rápido desenvolvimento. Normalmente, um DM pode ser colocado em produção em um período de seis a nove meses.
  • Retorno rápido: a arquitetura baseada em DM com incremento demonstra rapidamente seu valor, permitindo uma base para investimentos adicionais com um nível mais elevado de confiança.
  • Manutenção do enfoque da equipe: A elaboração de DMs incrementais permite que os principais negócios sejam enfocados inicialmente, sem que haja gastos no desenvolvimento de áreas que não são essenciais ao problema.
  • Herança incremental: a estratégia de DMs incrementais obriga a entrega de recursos de informação passo a passo. Isso permite à equipe crescer e aprender, reduzindo os riscos. A avaliação de ferramentas, tecnologias, consultores e vendedores só deve ser realizada uma vez, a não ser que existam restrições que impeçam o reaproveitamento”.

Mas suas desvantagens, ainda segundo Machado (2012, p. 56), incluem:

  • Perigo de ‘legamarts’: um dos maiores perigos na arquitetura de DW é a criação de DMs independentes. O advento de ferramentas drag-and-drop (clique e arraste) facilitou o desenvolvimento de soluções individuais de acordo com as necessidades da empresa. Essas soluções podem não considerar a arquitetura de forma global. Desse modo, os DMs independentes transformam-se em DMs legados, ou legamarts que dificultam, quando não inviabilizam, futuras integrações. Eles são parte do problema e não da solução.
  • Desafio de possuir a visão de empreendimento: durante a construção dos DMs incrementais, é necessário que se mantenha um rígido controle do negócio como um todo. Esse controle requer maior trabalho ao extrair e combinar as fontes individuais do que utilizar um DW.
  • Administrar e coordenar múltiplas equipes e iniciativas: normalmente, esse tipo de arquitetura emprega o desenvolvimento de DMs em paralelo. Isso pode conduzir a uma rígida administração, tentando coordenar os esforços e recursos das múltiplas equipes, especialmente nas áreas de regras e semântica empresariais.

quinta-feira, 5 de novembro de 2020

Extract, Transform and Load (ETL)

Staging Area

De acordo com Kimball e Caserta (2004, p. 65), a decisão de se armazenar os dados fisicamente em uma staging area ou processá-los em memória depende de dois objetivos conflitantes: obter os dados das fontes para o destino tão rápido quanto possível e manter a habilidade de se recuperar de falhas sem ter que reiniciar o processo. Os autores indicam que há vantagens em se usar staging area, como: ter pontos de recuperação de dados; utilizar este repositório como backup de dados; e possibilitar a auditoria do processo de ETL.

Quando o histórico dos dados é mantido, a staging area é persistente, e quando os dados são apagados em cada carga, esta área é considerada transitória. Mas é interessante que a staging area assume uma forma híbrida, sendo composta de tabelas persistentes e transitórias.

Extract (Extração)

A extração é a primeira etapa do processo de ETL para obtenção dos dados no ambiente do DW. Consiste basicamente em ler, entender e copiar os dados necessários dos sistemas-fontes para a área de transformação de dados para utilizá-los posteriormente. O principal objetivo é recuperar todos os dados requeridos das fontes utilizando tão poucos recursos quanto for possível, sem afetar os sistemas-fontes em seu desempenho, tempo de resposta e bloqueios (KIMBALL; CASERTA, 2004).

Os dados extraídos são originados de diversas fontes independentes, que podem ser sistemas transacionais (OLTP), planilhas Excel, sistemas legados de diversos fabricantes, dentre outras.

De acordo com Dataintegration.com (2015), há algumas diferentes formas de se realizar a extração:

  • Notificação de atualização: se o sistema fonte for capaz de fornecer uma notificação quando um registro for alterado e descrever esta alteração, esta é a forma mais fácil de obter dados.
  • Extração incremental: há sistemas fonte que não são capazes de fornecer notificação quando uma atualização ocorre, mas conseguem identificar quais registros foram modificados e fornecer a extração de tais registros. Isso será importante em passos posteriores do ETL, quando o sistema precisar identificar as mudanças e propagá-las. O cuidado a ser tomado neste caso é que, usando extração diária, pode-se não tratar registros excluídos adequadamente.
  • Extração completa: alguns sistemas fonte não conseguem identificar nenhuma mudança, desta forma a extração completa é a única maneira de obter dados destes sistemas. A extração completa requer que uma cópia da última extração seja mantida no mesmo formato e ordem para se que possa identificar as mudanças. Este processo também trata as exclusões.

Quando a extração incremental ou completa forem utilizadas, a frequência da extração é muito importante, notadamente na completa, na qual grandes volumes de itens são tratados.

Transformation (Transformação)

Após a extração dos dados, são aplicadas transformações de acordo com as regras de negócio da organização. São exemplos de transformações: geração de novas chaves; conversão de tipos; formatação de campos; definição de valores derivados; agregações; sumarizações; traduções; entre outras operações.

A integração das informações originadas de múltiplas e complexas fontes de dados também é realizada nesta fase. Grandes riscos ocorrem quando as regras de transformações e integrações não são definidas claramente, resultando em cargas de informações equivocadas, o que pode gerar consequências imprevisíveis nas próximas fases do projeto.

Para garantir a qualidade dos dados no DW, deve ocorrer, nesta fase, a limpeza dos dados que aplica regras para a unificação dos dados básicos, como:

  • Unificar identificadores, como nomes e categorias de sexo expressas de diversas formas em diferentes fontes, que devem ser expressas de uma única forma;
  • Converter valores nulos em padrões, como não disponível, por exemplo;
  • Converter números de telefone, CEP e datas em formatos únicos padronizados;
  • Validar campos de endereços e convertê-los para formatos padronizados, como ruas, avenidas, estado, cidade etc.

A figura ilustra este processo.

 Load (Carga)

Para iniciar a etapa de carga, os dados devem estar no formato apropriado, com as devidas limpeza e transformação aplicadas. Esta etapa possui grande complexidade, pois é necessário considerar os seguintes fatores:

  • Integridade dos dados: consiste em validar todas as chaves estrangeiras da tabela, analisando se os valores realmente existem nas tabelas de origem, que contêm a chave primária.
  • Tipo de carga (incremental ou total): na carga inicial do DW é usual fazer a carga total, que contempla todos os dados oriundos do sistema-fonte. Nos processos de carga realizados posteriormente é usual que seja feita somente a carga incremental, que contempla somente os registros novos e alterados desde a carga anterior, gerando, assim, menor tempo de processamento e menor tráfego na rede.

No processo de carga dos dados pode-se utilizar um mecanismo de defesa, chamado Quality Assurance, ou Garantia de Qualidade de Dados. Este mecanismo evita que sejam carregadas massas de “lixo” para dentro das bases, como dados nulos, brancos ou inconsistentes.

Durante a etapa de carga, é necessário garantir que sua execução seja realizada corretamente, com menos recursos quanto possível. O alvo do processo de carga é geralmente uma base de dados e, para tornar o processo eficiente, é útil desabilitar quaisquer restrições e índices antes da carga e habilitá-los após o processo completo. A integridade referencial precisa ser mantida pela ferramenta de ETL para garantir a consistência.

Por ser a última etapa do ETL, após o sucesso em sua execução, o DW ou o DM ficarão disponíveis com os dados íntegros e históricos para as análises realizadas nas fases posteriores do desenvolvimento do projeto.