Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula 2
Resumo
1. Transformação de dados
2. ETL
3. Armazenamento analítico
4. Prática: Dashboards e cubo de dados
Transformação de Dados
Transformar dados é alterar sua estrutura para torná-lo adequado a um processo específico,
normalmente um processo de análise ou mesmo construção de data warehouse. Normalmente
ocorrem transformações estruturais significativas nos dados, resultando, inclusive, no aumento
do volume.
Apesar de existirem vários motivos e métodos que requerem transformação de dados, existem
estruturas que historicamente são otimizadas para a análise. Uma delas, consagrada desde os
anos 1990, são os modelos dimensionais. O outro, mais recente, é a construção de depósitos de
dados em sistemas de arquivos distribuídos, HDFS – Hadoop Distributed File System, utilizando
o modelo MapReduce.
ETL
O uso de processos de ETL (Extract, Transform and Load) compreende carga de dados em data
warehouse, assim como integração de dados e construção de modelos analíticos. Um ETL possui
conexões com fontes de dados que podem ser heterogêneas e geograficamente dispersas;
processos de extração que irão, através da conexão, copiar dados destas fontes; um processo
de arquivamento que conservará dados em disco temporariamente para a etapa seguinte e,
1
finalmente, os procedimentos de transformação e o arquivamento que carrega os dados na sua
fonte definitiva. Alguns produtos permitem que a etapa de staging seja executada em memória,
sem a necessidade de persistir os dados em disco. Os dados de staging podem ser mantidos
mantidos entre os diferentes processos, ou são apagados e totalmente reconstruídos. A Figura 1
mostra um processo simplificado de ETL.
O processo de transformação pode ter muitos objetivos: transformar um modelo relacional para
um modelo multidimensional, o que incluirá operações de junção, sumarização e cálculos
diversos. A transformação também pode executar rotinas de qualidade e limpeza de dados,
como remoção de duplicados e mudança de codificação. Normalmente, o processo de ETL é um
batch executado em determinados intervalos quando os sistemas de origem possuem uma carga
de uso menor ou simplesmente não estão sendo operados. Outros processos mais críticos
podem ser executados em tempo real ou quase real, são os processos conhecidos como
streaming. O tempo entre as cargas de um processo de ETL é conhecido como latência. No
arquivamento, não ocorre atualização ou exclusão de dados. Um data warehouse sofre apenas
operações de leitura e inclusão.
Fontes de dados, como notas fiscais eletrônicas, podem vir na forma de arquivos. Boas
ferramentas de ETL são capazes de monitorar pastas e iniciar a importação de arquivos assim
que eles são adicionados ao diretório. Este processo pode apagar os arquivos após a
importação ou manter informações históricas para que os dados não sejam importados em
duplicidade. Um processo de ETL tem um alto custo computacional e está sujeito a uma
variedade de tipos de falhas: indisponibilidade da rede, falhas em discos, indisponibilidade dos
sistemas de origem. Bons produtos de ETL devem ser capazes de se recuperarem de falhas, no
sentido de continuarem o processo de um ponto de parada, minimizando os impactos causados
por problemas diversos.
Integração de Dados
2
Um processo de ETL é um processo de integração de dados. As organizações normalmente
dependem de muitos processos de integração que são vitais para o funcionamento de
departamentos, por exemplo, integrar a folha de pagamento com a contabilidade. A integração
de dados também permite que dados sejam trocados com fornecedores, clientes, parceiros etc.
Armazenamento Analítico
Data Warehouse
1. Orientado ao assunto
Os data warehouses normalmente fornecem uma visão concisa e direta em torno de um assunto
específico, como cliente, produto ou vendas, em vez das operações contínuas da organização
global. Isso é feito excluindo dados que não são úteis em relação ao assunto e incluindo todos
os dados necessários aos usuários para entender o assunto, como mostra a Figura 2.
3
2. Integrado
Um data warehouse integra várias fontes de dados heterogêneas, como RDBMSs, arquivos
simples e registros de transações online. Requer a execução de limpeza e integração de dados
durante o armazenamento de dados para garantir consistência nas convenções de
nomenclatura, tipos de atributos, etc., entre diferentes fontes de dados, como mostra a Figura 3.
3. Tempo variável
As informações históricas são mantidas em um data warehouse. Por exemplo, pode-se recuperar
arquivos de 3 meses, 6 meses, 12 meses ou até mesmo dados anteriores de um data warehouse.
Essas variações com um sistema de transações, onde muitas vezes apenas o arquivo mais atual
é mantido.
4. Não volátil
4
substancial da recuperação de dados. Não Volátil define que, uma vez inserido no warehouse, os
dados não devem ser alterados.
Data Marts
5
Fatos, Dimensões e Medidas
Um data warehouse utiliza o modelo multidimensional que tem como elemento central um fato.
O fato é a informação central, o tema ao qual se quer analisar. Um fato possui medidas que são
valores a serem analisados e pré-calculados. Um fato também possui dimensões que são os
diversos pontos de vista sobre o qual se quer analisar o fato. A Figura 6 mostra a estrutura de um
fato ”Vendas”, com suas dimensões e medidas. Uma dimensão tempo também é obrigatória, pois
um data warehouse traz dados históricos. Um fato ”Vendas” pode responder a perguntas como:
quem vendeu mais no bimestre? Qual produto apresentou a maior margem de lucro? Quem foi
nosso maior cliente? (Figura 7).
6
Um fato não é construído para gerar um único tipo de relatório ou gráfico: ele pode produzir uma
variada gama de elementos, de acordo com o que se está analisando (Figura 8).
7
A Figura 10 mostra o fato “Vendas” modelado no esquema estrela. O fato se encontra ao centro.
Junto à tabela fato são registradas as medidas que tiveram seus valores já calculados durante o
processo de carga: quantidade, total, impostos, lucro. Ao seu redor, temos as dimensões
“Cliente” e “Produto” e uma dimensão “Data”. As dimensões “Cliente” e “Produto” têm chave
substituta: “IDVenda” e “IDCliente”. A chave primária do banco relacional também é mantida, mas
como um atributo comum, denominado “Código”.
O modelo floco de neve tem os mesmos princípios de organização do modelo estrela, porém,
onde existam atributos de dimensões que não mudem constantemente, pode-se adicionar um
relacionamento um para muitos com outra tabela. Na figura 11 o atributo ”País”: a cada novo
registro, o país é incluído. No modelo floco de neve, é criada uma tabela ”Países” e é adicionado
um relacionamento com a dimensão.
8
Figura 11. Modelo floco de neve
Granularidade
OLAP
9
warehouse normalmente é construído em um OLAP Server, que é um tipo de aplicação otimizado
para gerenciar dados em formato multidimensional. Alguns gerenciadores de banco de dados
relacionais também oferecem produtos a fim de implementar os modelos multidimensionais para
a construção de data warehouses. Ele pode ser usado para executar consultas analíticas
complexas sem prejudicar sistemas transacionais.
Os bancos de dados que uma empresa usa para armazenar todas as suas transações e registros
são chamados bancos de dados OLTP (processamento de transações online). (Figura 13).
Business Intelligence
Alguns elementos visuais como relatórios e dashboards podem ser resultantes de um BI.
Relatórios
Relatórios produzem informação detalhada, de forma estática e sem interatividade, ou seja, não
é possível aumentar ou reduzir o grão na própria interface do relatório. Um relatório tem caráter
operacional, para atividades de conferência.
10
Figura 14. Exemplos de relatório.
Cubos
11
produzir gráficos. Outras, mais sofisticadas, permitem ainda a inclusão de indicadores de
performance dentro de células de medidas.
Dashboards
Dashboards são painéis visuais que mostram indicadores de um mesmo assunto. Trazem
informação resumida, normalmente de cunho estratégico ou gerencial, mas também têm
aplicações nas áreas operacionais. Oferece características de navegação dos dados, como
filtros, drill downs e drill ups. Embora não deva conter detalhes, pode trazer os melhores ou os
12
piores. Também pode conter indicadores de performance. Estão normalmente conectados a data
marts.
Infográficos
Infográficos são elementos extremamente ricos visualmente, mas que não estão conectados a
uma fonte de dados: a informação é um retrato estático em um ponto no tempo.
Mini projeto 2
Todos os seus mini-projetos deverão ficar disponíveis no GitHub. Use-o como repositório para
seu portfólio.
Material complementar
olapR (pacote de R nos Serviços de Machine Learning do SQL Server)
https://docs.microsoft.com/pt-br/sql/machine-learning/r/ref-r-olapr?view=sql-server-ver16
Referências
Amaral, Fernando. Introdução à Ciência de Dados. 2016. Alta Books.
Provost F, Fawcett T. Data Science and its Relationship to Big Data and Data-Driven Decision
Making.Big Data.Mar 2013.51-59.http://doi.org/10.1089/big.2013.1508. Disponível em
https://www.liebertpub.com/doi/full/10.1089/big.2013.1508
13
14