A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1.

Apresentações semelhantes


Apresentação em tema: "SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1."— Transcrição da apresentação:

1 SCC Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1

2 Introdução

3 No início, uma única fonte de dados

4 Exemplo: primeira loja do grupo Casas Bahia. No início, uma única fonte de dados

5 Mais tarde Exemplo: primeira cidade ocupada pelo grupo Casas Bahia.

6 E assim sucessivamente Exemplo: primeiros estados ocupados pelo grupo Casas Bahia.

7 Finalmente Exemplo: Brasil (primeiro país?) ocupado pelo grupo Casas Bahia.

8 Até que… O que está acontecendo nas minhas lojas? - O que é vendido mais? - Quando? - Por qual loja? - Qual a melhor loja? - Quanto estou faturando? - Qual seria uma boa oferta? - As vendas cresceram ou subiram? - Quais regiões vendem mais? -...

9 Até que… O que está acontecendo nas minhas lojas? - O que é vendido mais? - Quando? - Por qual loja? - Qual a melhor loja? - Quanto estou faturando? - Qual seria uma boa oferta? - As vendas cresceram ou subiram? - Quais regiões vendem mais? -... Soluções: 1) Ir até cada uma das lojas e perguntar; Pouco viável.

10 Até que… O que está acontecendo nas minhas lojas? - O que é vendido mais? - Quando? - Por qual loja? - Qual a melhor loja? - Quanto estou faturando? - Qual seria uma boa oferta? - As vendas cresceram ou subiram? - Quais regiões vendem mais? -... Soluções: 2) Usar os dados das lojas para analisar o que está acontecendo no meu negócio. Boa idéia!!!

11 Até que… O que está acontecendo nas minhas lojas? - O que é vendido mais? - Quando? - Por qual loja? - Qual a melhor loja? - Quanto estou faturando? - Qual seria uma boa oferta? - As vendas cresceram ou subiram? - Quais regiões vendem mais? -... Soluções: 2) Usar os dados das lojas para analisar o que está acontecendo no meu negócio. Boa idéia!!! Mas...

12 Impecilhos ao uso dos dados… - Diversos sistemas de bancos de dados em uso nas lojas; depende do gerente que o implementou: PostgreSQL, Oracle, DB2, SQLServer,... - Cada loja, um controle transacional diferente, de acordo com suas necessidades regionais; - Esquemas diferentes, tipos de dados diferentes, distribuição geográfica, falta de interconexão.

13 Impecilhos ao uso dos dados… - Diversos sistemas de bancos de dados em uso nas lojas; depende do gerente que o implementou: PostgreSQL, Oracle, DB2, SQLServer,... - Cada loja, um controle transacional diferente, de acordo com suas necessidades regionais; - Esquemas diferentes, tipos de dados diferentes, distribuição geográfica, falta de interconexão. Total falta de conformidade!!! E muitos, muitos dados!!! O que fazer?

14 O que é necessário? - 1) Recolher (extrair) os dados não importando qual o tipo do sistema de dados; - 2) Padronizar (transformar) os dados, para terem um significado comum mesmo que, originalmente, codificados de maneira diferente; resolução de dados ausentes e espúrios; - 3) Unir (carregar) os resultados das duas operações em um único sistema capaz para responder às minhas perguntas.

15 O que é necessário? - 1) Recolher (extrair) os dados não importando qual o tipo do sistema de dados; - 2) Padronizar (transformar) os dados, para terem um significado comum mesmo que, originalmente, codificados de maneira diferente; resolução de dados ausentes e espúrios; - 3) Unir (carregar) os resultados das duas operações em um único sistema capaz para responder às minhas perguntas. Complicado. Como fazer então?

16 Mas há uma solução

17 Oracle Modelagem x SQLServer Modelagem z DB2 Modelagem y Oracle Modelagem u SQLServer Modelagem w DB2 Modelagem v... Loja 1Loja 2Loja 3Loja n-2Loja n-1Loja n Data warehouse Extrair, transformar, carregar dados Mas há uma solução

18 ETL – Extract Transform Load u O processo descrito de se extrair (Extract), transformar (Transform) e carregar (Load) os dados a partir das diversas fontes de dados é denominado ETL u ETL – uma das camadas principais da arquitetura de um data warehouse Consolidação de dados

19 ETL – Extract Transform Load u O processo descrito de se extrair (Extract), transformar (Transform) e carregar (Load) os dados a partir das diversas fontes de dados é denominado ETL u ETL – uma das camadas principais da arquitetura de um data warehouse Consolidação de dados Extrair, transformar, carregar dados

20 ETL – Extract Transform Load Extração/transformação (Extract/Transform) de dados extração de múltiplas fontes consolidação e integração de dados de múltiplas fontes limpeza e validação conversão dos dados para o modelo do DW

21 ETL – Extract Transform Load Carregamento (Load) de dados armazenamento de acordo com o modelo do DW criação e manutenção de estruturas de dados criação e manutenção de caminhos de acesso tratamento de dados que variam no tempo suporte a atualização refresh purging (eliminação)

22 Conceitos

23 O que é exatamente? Data Warehouse é uma coleção de dados orientados por assunto, integrada, não- volátil, variante no tempo, que dá apoio às decisões de administração (W.H. Inmon, 1992). Orientados a transações: vendas, operações bancárias, acessos à informação.

24 24 Introdução Aplicações empresas de telefonia redes de varejo instituições financeiras instituições governamentais instituições de ensino e pesquisa …. 24 BUSINESS INTELLIGENCE!!!

25 Sistemas OLTP Extrair, transformar, carregar dados

26 Data warehouses são, comumente, alimentados por sistemas OLTP independentes. Sistemas OLTP Extrair, transformar, carregar dados

27 Data warehouses são, comumente, alimentados por sistemas OLTP independentes. Sistemas OLTP Extrair, transformar, carregar dados u Sistemas OLTP (Online Transaction Processing): gerenciamento de transações; u toda vez que você vai ao mercado, ao banco ou faz uma compra online, você está usando um sistema OLTP

28 Objetivos Consolidação dos dados de uma empresa Desempenho na consulta aos dados Separação entre suporte à decisão e bancos de dados operacionais Suporte à ferramentas: mineração de dados, visualização e On-line Analytical Processing (OLAP)

29 Objetivos Os termos Datawarehouse, OLTP e OLAP não se refererem a software apenas São termos que englobam software e serviços (muitos serviços – consultoria) São termos cunhados para a comunidade empresarial não possuindo uma correspondência simples em Ciência da Computação

30 Relação OLTP e OLAP

31 Objetivos das ferramentas Descoberta de conhecimento Avaliar Prever Identificar alternativas Suporte à decisão

32 Arquitetura de um data warehouse

33 u Arquitetura definida pelo contexto da organização u De maneira geral, tem as seguintes camadas: 1. Operacional ( OLTPs ): fornecem dados 2. De acesso aos dados: ETL 3. Acesso à informação: ferramentas de acesso a dados, geração de relatórios, e análise (OLAP) Business Intelligence 4. Metadados: detalhamento do conteúdo do data warehouse dicionário de dados

34 Arquitetura de um data warehouse u Arquitetura definida pelo contexto da organização u De maneira geral, tem as seguintes camadas: 1. Operacional ( OLTPs ): fornecem dados 2. De acesso aos dados: ETL 3. Acesso à informação: ferramentas de acesso a dados, geração de relatórios, e análise (OLAP) Business Intelligence 4. Metadados: detalhamento do conteúdo do data warehouse dicionário de dados

35 Dicionário de dados u Descrição dos dados do DW: u origem u regras de transformação u nomes e aliases u formato dos dados u histórico de atualizações u acesso e segurança u responsabilidades sobre os dados u Sem o dicionário, não há sistema

36 Data warehouse vs Banco de dados operacional

37 Data warehouse Banco de dados operacional Orientado a objetivos específicos Orientado a transações Grande (centenas de GBs até TBs) Pequeno/Médio (MBs até alguns GBs) – distribuído se necessário Dados históricos Dados correntes De-normalizado (poucas tabelas com muitas colunas) Normalizado (muitas tabelas com poucas colunas) Atualizações em Batch Atualizações contínuas Otimizado para acesso Otimizado para escrita/atualização

38 Juntos data warehouse e bancos de dados provém uma solução completa Bancos de dados Inserção/Atualização Data Warehouse Acesso aos dados

39 Visão Geral Extrair, transformar, carregar dados 1. Camada Operacional (OLTPs) 2. Camada de acesso aos dados (ETL) 3. Camada de acesso à informação: MD, relatórios, OLAP Business Intelligence 4. Dicionário de dados

40 Projeto de Data warehouses

41 Datamarts Datamart: ambientes de análise de dados de menor magnitude, com fins mais específicos, limitados a subcomunidades de uma organização Exemplo, uma loja das casas Bahia Modelagem x Loja i

42 Datamarts Datamart: ambientes de análise de dados de menor magnitude, com fins mais específicos, limitados a subcomunidades de uma organização Exemplo, uma loja das casas Bahia Acréscimo de ferramentas de análise Modelagem x

43 Datamarts Datamart: ambientes de análise de dados de menor magnitude, com fins mais específicos, limitados a subcomunidades de uma organização Exemplo, uma loja das casas Bahia Loja i Modelagem x Datamart i

44 Bottom-up Projeto Bottom-up: exemplo, rede das casas Bahia Datamart 1Datamart 2Datamart Datamart n

45 Bottom-up Projeto Bottom-up: exemplo, rede das casas Bahia Datamart 1Datamart 2Datamart Datamart n

46 Bottom-up Projeto Bottom-up: exemplo, rede das casas Bahia Datamart 1Datamart 2Datamart Datamart n Data warehouse : conjunto de pequenos sistemas de tratamento e análise de dados.

47 Bottom-up Projeto Bottom-up: exemplo, rede das casas Bahia Datamart 1Datamart 2Datamart Datamart n Data warehouse : conjunto de pequenos sistemas de tratamento e análise de dados. Grande esforço de consolidação modelo de dados não universal.

48 Data warehouse : projeto bem definido. Top-down Projeto Top-down

49 Data warehouse : projeto bem definido. Top-down Projeto Top-down Datamart 1

50 Data warehouse : projeto bem definido. Projeto Top-down Datamart 1Datamart 2 Top-down

51 Data warehouse : projeto bem definido. Top-down Projeto Top-down Datamart 1Datamart 2Datamart 3

52 Data warehouse : projeto bem definido. Top-down Projeto Top-down Datamart 1Datamart 2Datamart Datamart n

53 Data warehouse : projeto bem definido. Top-down Projeto Top-down Datamart 1Datamart 2Datamart Datamart n Esforço reduzido de consolidação modelo de dados universal e bem definido.

54 Projeto Top-down vs Bottom-up Bottom-upTop-down Consistência via manutenção constante Alta consistência Expansão custosa Expansão com novos DMs facilitada Custo diluído ao longo do tempo Inicialmente custosa Natural em organizaçõesRara em start-ups Baixa latênciaAlta latência

55 Conceitos vistos u Data warehouse OLTP u ETL u Dicionário de dados u DW vs BD u Datamart u Projeto Bottom-up vs Top-down

56 OLAP – Online Analytical Processing

57 OLAP u Definição: uma categoria de tecnologia de software que visa à compreensão de dados u Provê: acesso rápido, consistente e interativo u DW e OLAP, em muitos casos, conceitos indissociáveis

58 OLAP - FASMI u FASMI: Fast Analysis of Multidimensional Information u Fast: agilidade em responder consultas u Analysis: versatilidade analítica u Shared: dados/analistas múltiplos u Multidimensional: orientado a dimensões de dados u Information: propósito fim

59 Cubo de dados OLAP

60 Cubo de dados

61 u Estrutura básica da prática de OLAP u Observam-se u As dimensões dos dados u As medidas sobre os dados u O cubo é orientado a planos (faces) u Apesar da complexidade dos sistemas OLAP, seus objetivos analíticos são básicos: contagem, média, máximo, mínimo, soma,... Agregação, rápida e flexível, sobre imensos volumes de dados Cubo de dados

62 Cubo de dados - slicing u Pode ser interessante ver o cubo a partir de diferentes perspectivas (planos) u Operações sobre o cubo: slicing, dicing e rotating (pivoting)

63 Cubo de dados - slicing A operação de slicing equivale a fatiar o cubo, definindo um novo plano de apreciação dos dados A operação geométrica é apenas uma analogia, o slicing dispara o processamento OLAP para calcular o novo plano

64 Cubo de dados - slicing Dados calculados e acessíveis ao analista. A operação de slicing equivale a fatiar o cubo, definindo um novo plano de apreciação dos dados A operação geométrica é apenas uma analogia, o slicing dispara o processamento OLAP para calcular o novo plano

65 Exemplo de dado calculado: quantas TVs de plasma foram vendidas em 2002 na região SE? Cubo de dados - slicing A operação de slicing equivale a fatiar o cubo, definindo um novo plano de apreciação dos dados A operação geométrica é apenas uma analogia, o slicing dispara o processamento OLAP para calcular o novo plano

66 Exemplo de dado calculado: quantas TVs de plasma foram vendidas em 2002 na região SE? Cubo de dados - slicing A operação de slicing equivale a fatiar o cubo, definindo um novo plano de apreciação dos dados A operação geométrica é apenas uma analogia, o slicing dispara o processamento OLAP para calcular o novo plano

67 A operação de dicing é semelhante ao slicing, mas usa dois, ou mais, planos de corte Dados calculados e acessíveis ao analista. Dicing conseguido com 5 planos de corte. Cubo de dados - slicing

68 A operação de dicing é semelhante ao slicing, mas usa dois, ou mais, planos de corte Dados calculados e acessíveis ao analista. Dicing conseguido com 5 planos de corte. Exemplo de dado calculado: quantas Celulares foram vendidas em 2001 na região CO? Cubo de dados - slicing

69 A operação de dicing é semelhante ao slicing, mas usa dois, ou mais, planos de corte Dados calculados e acessíveis ao analista. Dicing conseguido com 5 planos de corte. Exemplo de dado calculado: quantas Celulares foram vendidas em 2001 na região CO? Cubo de dados - slicing

70 Cubo de dados - rotating A operação de rotating muda a perspectica do cubo todo. Novo plano: Produto x Tempo Dados calculados e acessíveis ao analista.

71 Cubo de dados - rotating A operação de rotating muda a perspectica do cubo todo. Novo plano: Produto x Tempo Dados calculados e acessíveis ao analista. Obviamente refere-se a cubo apenas para fins didáticos – aplicações de DW/OLAP geralmente envolvem mais do que 3 dimensões, definindo hipercubos.

72 Modelo de dados dimensional

73 OLAP e DW u OK, mas e o DW, onde entra nisso tudo? O modelo de dados do DW é orientado a servir a análise baseada em Dimensões de dados

74 Modelo de dados DW Banco de dados operacional Esquema complexo Data Warehouse FATOS Esquema estrela

75 Modelo de dados DW Banco de dados operacional Esquema complexo Data Warehouse FATOS Esquema estrela

76 Banco de dados operacional Esquema complexo (normalizado) Esquema floco de neve (snow flake) Data Warehouse Modelo de dados DW FATOS

77 u Exemplo Estrela: Tempo t_chave Ano Trimestre Mes Produto p_chave Tipo Fabricante Modelo Local l_chave Regiao Cidade Loja Fatos t_chave p_chave l_chave Nro_unidades Valor Assist_tecnica Modelo de dados dimensional

78 u Exemplo: Tempo t_chave Ano Trimestre Mes Produto p_chave Tipo Fabricante Modelo Local l_chave Regiao Cidade Loja Fatos t_chave p_chave l_chave Nro_unidades Valor Assist_tecnica Modelo de dados dimensional Exemplo: Quantas vendas e qual valor de vendas ocorreram considerando Ano, Tipo de Produto e Região? SELECT Tempo.Ano, Produto.Tipo, Local.Regiao, Sum(Nro_unidades), Sum(valor) FROM Fatos, Tempo, Produto, Local WHERE Fatos.t_chave = Tempo.t_chave AND Fatos.p_chave = Produto.p_chave AND Fatos.l_chave = Local.l_chave GROUP BY Tempo.Ano, Produto.Tipo, Local.Regiao

79 79 Exemplo Snowflake Modelagem de Dados para DW 79 (Elmasri e Navathe, 2005)

80 Modelo de dados dimensional u Cubo de dados: análise dimensional das medidas (dados) DW: modelo de dados dimensional u Dimensões: dão contexto aos fatos u Fatos: números transacionais

81 u Observe que as dimensões dos dados possuem uma hierarquia categórica u Por exemplo: u Tempo(Ano, Trimestre, Mês) Modelo de dados dimensional

82 u Hierarquia das dimensões: apreciação dos dados em diferentes granularidades. Exemplo: u Itens_vendidos(ano) > Itens_vendidos(Trimestre) u Itens_vendidos(Trimestre) > Itens_vendidos(Mês) u Duas outras operações muito importantes u Drill down u Roll up Modelo de dados dimensional

83 Drill down / Roll up u Drill-down e roll-up: navegação ao longo dos níveis hierárquicos das dimensões u Exemplo Itens_vendidos(Região) Itens_vendidos(Cidade) Drill-down Roll-up

84 Drill down / Roll up Drill-down sobre as três dimensões simultaneamente.

85 Drill down / Roll up Drill-down sobre as três dimensões simultaneamente. Exemplo: Quantas vendas e qual valor de vendas ocorreram considerando Ano, Tipo de Produto e Região? Drill Down em todas as dimensões Quantas vendas e qual valor de vendas ocorreram considerando Trimestre, Fabricante e Cidade? SELECT Tempo.Ano, Tempo.Trimestre, Produto.Tipo, Produto.Fabricante, Local.Regiao Local.Cidade, Sum(Nro_unidades), Sum(valor) FROM Fatos, Tempo, Produto, Local WHERE Fatos.t_chave = Tempo.t_chave AND Fatos.p_chave = Produto.p_chave AND Fatos.l_chave = Local.l_chave GROUP BY Tempo.Ano, Tempo.Trimestre, Produto.Tipo, Produto.Fabricante, Loca.Regiao, Local.Cidade

86 Drill down / Roll up Drill-down sobre as três dimensões simultaneamente. Exemplo: Quantas vendas e qual valor de vendas ocorreram considerando Ano, Tipo de Produto e Região? Drill Down em todas as dimensões Quantas vendas e qual valor de vendas ocorreram considerando Trimestre, Fabricante e Cidade e considerando um slicing de ano entre 2001 e 2002? SELECT Tempo.Trimestre, Produto.Fabricante, Local.Cidade, Sum(Nro_unidades), Sum(valor) FROM Fatos, Tempo, Produto, Local WHERE Fatos.t_chave = Tempo.t_chave AND Fatos.p_chave = Produto.p_chave AND Fatos.l_chave = Local.l_chave AND Tempo.Ano between 2001 AND 2002 GROUP BY Tempo.Trimestre, Produto.Fabricante, Local.Cidade

87 OLAP - Agregação

88 Mais do que cubinhos, o OLAP/DW é uma tecnologia sofisticada que visa responder às diferentes possibilidades e níveis de agregação de maneira rápida e precisa. OLAP - Agregação

89 Síntese

90 90 Relational OLAP (ROLAP) Recursos OLAP sobre SGBDs disparam todas as agregações necessárias para se obter os resultados requisitados O OLAP não relacional, também é conhecido como Multidimensional OLAP - MOLAP SQL:1999 ROLLUP e CUBE 90 SELECT …. FROM …. WHERE … GROUP BY CUBE (trim, região) ex: selecionar total de vendas por trim. por região total de vendas por trim. total de vendas por região total geral de vendas SELECT …. FROM …. WHERE … GROUP BY ROLLUP (trim, região) ex: selecionar total de vendas por trim. por região total de vendas por trim. total geral de vendas

91 91 Relational OLAP (ROLAP) Sobre ROLLUP e CUBE ROLLUP e CUBE aplicados sobre k atributos... GROUP BY CUBE (....) é equivamente a agrupamentos sobre cada um dos 2 k subconjuntos de atributos ex: k=2... GROUP BY CUBE (a,b) agrupamentos sobre: (a,b), (a), (b), (null) agrupamento em (null) é o total geral de vendas

92 92 Relational OLAP (ROLAP) (cont...)... GROUP BY CUBE (....) é equivamente a agrupamentos sobre cada um dos 2 k subconjuntos de atributos ex: k=3... GROUP BY CUBE (a,b,c) agrupamentos sobre: (a,b,c), (a,b), (a,c), (b,c) (a), (b),(c), (null)

93 Relational OLAP (ROLAP) Exemplo GROUP BY CUBE SELECT Dept, Funcao, COUNT(*), SUM(Salario) FROM Empregados GROUP BY CUBE(Dept, Funcao); Dept Funcao COUNT(*) SUM(Salario) Secretario Gerente Presidente Analista Secretario Gerente Secretario 3340 Gerente Presidente Analista

94 94 Relational OLAP (ROLAP) (cont...)... GROUP BY ROLLUP (....) é equivamente a agrupamentos em k+1 subconjuntos: k=2... GROUP BY ROLLUP (a,b) agrupamentos sobre: (a,b), (a), (null) agrupamento em (null) é o total geral de vendas k=3... GROUP BY ROLLUP (a,b,c) agrupamentos sobre: (a,b,c), (a,b), (a), (null)

95 95 Ferramentas Ferramentas de suporte à criação e manutenção de DW Ferramentas OLAP Ferramentas de BI … 95

96 96 Referências ELMASRI, R; NAVATHE, S.B. Sistemas de Banco de Dados, Addison Wesley, 4a edição, Ramakrishnan R.; Gehrke, J. Database Management Systems, Mc Graw Hill,


Carregar ppt "SCC0141 - Bancos de Dados e Suas Aplicações Data Warehouse e OLAP Prof. Jose Fernando Rodrigues Junior 1."

Apresentações semelhantes


Anúncios Google