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

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

An Overview of Data Warehousing and OLAP Technology

Apresentações semelhantes


Apresentação em tema: "An Overview of Data Warehousing and OLAP Technology"— Transcrição da apresentação:

1 An Overview of Data Warehousing and OLAP Technology
Tópicos Avançados de Bases de Dados André Valente Rodrigues  Carlos Filipe Ribeiro Ferreira  Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

2 Índice Data Warehousing Data Warehouse BDOs vs DWs: OLAP
Cubos OLAP Exemplo de queries ad-hoc em excel Modelação dimensional Esquema em estrela Esquemas "Floco de Neve" e Constelações de Fatos Arquitetura Data Warehousing Exemplo Prático Utilidades e Ferramentas Back End Servidores de uma DW OLAP em BDOs Desafios Tipos de Servidores Metadata e Gestão de uma Warehouse Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

3 DATA WAREHOUSING Data warehousing: coleção de tecnologias de suporte à decisão, com o objetivo de permitir ao trabalhador (executivo, gestor, analista, etc.) tomar melhores e mais rápidas decisões. O mercado de data warehousing explodiu tanto em número de produtos e serviços oferecidos como na adoção destas tecnologias pela indústria. As tecnologias foram adotadas em imensas indústrias: - fabrico; - venda a retalho; - serviços financeiros; - transportes; - telecomunicações; - saúde. Fabrico: ordem de shipping e suporte ao cliente Venda a retalho: construir perfis de utilizadores e gestão de inventário Serviços financeiros: análise de reivindicações, análise de risco, análise de cartão de crédito e deteção de fraude Transportes: controlo de frota Telecomunicações: análise de chamadas e deteção de fraude Saúde: análise de resultados Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

4 DATA WAREHOUSE Data warehouse: é uma coleção de dados não volátil, que varia no tempo, integrada e orientada para o utilizador que é usada primeiramente na tomada de decisão organizacional. Tipicamente mantida separadamente das bases de dados operacionais das organizações. Uma Data Warehouse (DW) suporta on-line analytical processing (OLAP). Uma Base de Dados Operacional (BDO) suporta on-line transaction processing (OLTP). Ambos têm requisitos de funcionalidade e de performance diferentes. No final: vamos agora comparar estes 2 conceitos: DWs com BDOs Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

5 BDOs vs DWs - BDOs Aplicações OLTP tipicamente automatizam tarefas como uma nova entrada na base de dados ou uma transação bancária que são tarefas diárias de uma organização. Estas transações requerem dados atualizados e detalhados. As bases de dados operacionais tendem a ter entre centenas de megabytes e gigabytes de tamanho. São desenhadas para refletir as semânticas operacionais de aplicações conhecidas, em particular, para minimizar os conflitos de concorrência.

6 BDOs vs DWs - DWs Desenhadas para suporte à decisão.
Dados históricos, sumarizados e consolidados são mais importantes que entradas individuais detalhadas. Como tendem a conter dados consolidados de uma ou mais bases de dados tendem a ser ordens de magnitude maiores que estas. Warehouses de dados empresariais são projetadas para ser de centenas de gigabytes a terabytes em tamanho. As queries são intensivas por isso o throughput das queries e os tempos de resposta são mais importantes do que o throughput das transações.

7 OLAP Para facilitar a visualização, os dados são tipicamente modelados multidimensionalmente. Muitas vezes estas dimensões/atributos são hierárquicas: - tempo da venda pode ser organizado como uma hierarquia de dia-mês- trimestre-ano; - um produto pode ser organizado como uma hierarquia de produto-categoria- indústria. É esta a tecnologia que oferece a interface para os utilizadores responsáveis pelas tomadas de decisão. Operações típicas OLAP incluem: - rollup; - drill-down; - slide_and_dice; - pivot. (Exemplo de modelo multidimensional é o data cube em que se organizavam os dados pelas dimensões ou atributos mais importantes e se obtina uma organização melhor dos dados que facilitava muito a visualização). Rollup: aumentar o nível de agregação Drill-down: decrescer o nível de agregação ou aumentar detalhe) ao longo de uma ou mais dimensões hierárquicas Slice and dice: seleção e projeção Pivot: re-orientar a visão multidimensional de dados Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

8 Cubos OLAP Apresentação ao utilizador da informação numa visão cúbica, que se trata do output dos servidores OLAP, em que as dimensões e métricas da DW são directamente mapeadas para este. Figura 1 – Data Cube.

9 Exemplo de queries ad-hoc em excel
Figura 2 – Exemplo de queries ad-hoc em excel.

10 Modelação dimensional
Tabela de fatos Medidas numéricas de performance; Granularidade da Tabela de Factos: Consiste no nível de detalhe da DW em relação às transacções operacionais tendo por medida unidades de tempo. Evitar os “Zeros” (“o que não aconteceu”); Muitas Linhas, Poucas Colunas; 90% do espaço; 2 ou mais Chaves Estrangeiras (FK); Chave Primária (composta). Figura 3 – Tabela de fatos de vendas diárias.

11 Modelação dimensional
Tabelas de Dimensões Descrição Textual do Negócio; Contêm Atributos; Poucas Linhas(relativamente); Muitas Colunas; Chave Primária (PK) – Integridade Referencial com factos; Respondem aos “por”: Vendas em €“por mês”, “por” Cliente e “por” “Artigo”. Hierarquia de Dimensões (sem normalização): Ex: Produtos->Marcas->Categorias. Figura 4 – Tabela de Dimensões de Produtos.

12 Esquema em estrela Diagramas ER e técnicas de normalização são populares em ambientes OLTP. Diagramas ER são inapropriados para suporte à decisão onde a eficiências das queries e no carregamento dos dados são importantes. Data Warehouses usam o esquema em estrela para representar modelos de dados multidimensionais. Vamos falar agora de uma metodologia de design de bases de dados (Apenas uma tabela de fatos e uma tabela para cada dimensão com os respetivos atributos. Cada uma das dimensões é uma foreign key (apontador para cada dimensão) na tabela de fatos) Desvantagem: Não providencionam suporte para hierarquia de atributos Figura 5 – Esquema em estrela. Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

13 Esquemas "Floco de Neve" e Constelações de Fatos
A hierarquia dimensional é explicitamente representada normalizando as tabelas de dimensões. Desvantagem: A estrutura desnormalizada das tabelas de dimensões em esquemas estrela pode ser mais apropriado para navegar nas dimensões Constelações de fatos: Estruturas mais complexas em que múltiplas tabelas de fatos partilham tabelas dimensionais. Figura 6 – Esquema “Floco de Neve”. Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

14 Esquemas "Floco de Neve" e Constelações de Fatos
Desvantagem: A estrutura desnormalizada das tabelas de dimensões em esquemas estrela pode ser mais apropriado para navegar nas dimensões. Constelações de fatos: Estruturas mais complexas em que múltiplas tabelas de fatos partilham tabelas dimensionais.

15 Arquitetura Data Warehousing
Operational Source Systems(OSS): Transacções do Negócio; Performance e Disponibilidade; Heterogéneos e não integrados. Data Staging Area: Storage + processos ETL ; Extracção de dados a partir dos OSS; Transformação (“Limpeza “ de dados); Regra geral, BDs “não Normalizadas”; Carregamento (Loading) dos vários Data Marts. Data PresentationArea: Conjunto de Data Marts; Estruturas (Modelos) Dimensionais: Baixa complexidade; Dados Atómicos. Factos e Dimensões Partilhados (“Conformed” ); Cubos OLAP. Data Access Tools: Ad-hoc queries – acesso apenas a especialistas. Figura 7 – Arquitetura Data Warehousing. ETL – Extract Transform Load: Consiste no processo de transformação e passagem (load) dos dados para a DW; O ETL package, deve ser capaz de analisar o que há de novo na BD operacional, de modo a no momento do varrimento (refresh) actualizar a DW com sucesso, carregar a DW inteira não é aplicável isto só se deve fazer na primeira vez, estes updates à DW são sempre feitos nas horas em que o sistema está menos sobrecarregado.

16 Figura 8 – Exemplo prático de uma pequena DW.
Esta DW pequena, teve origem na BD OLTP (Online Transaction Processing) proveniente da demonstração do ERP da Primavera. Figura 8 – Exemplo prático de uma pequena DW.

17 Exemplo Prático Neste caso o que se esta a medir na tabela de factos são os dados relativos às vendas. As vendas são então o somatório das quantidades vendidas e totais ilíquidos agrupados por artigo, entidade data e vendedor, esta agregação é fácil de entender a olhar pela ilustração a baixo. Neste caso TSQL. Figura 9 – Screenshot dos valores retirados das BD e da DW.

18 Detalhes de uma DW Uma DW tem que ter sempre a dimensão tempo, pois é deste que ela depende para organizar a sua granularidade. A DW não pode nunca conter valores nulos, regra geral o que se usa é a substituição de nulos. Slowly changin dimensions, consiste em updates na base da dados operacional. ex: “Produto = garrafa”, “Material = plástico” passar a ser Material = vidro: Os tratamentos mais comuns são: De tipo 1 (não é mantido histórico); De tipo 2 (todo o histórico é mantido); De tipo 3 (é apenas mantido um histórico recente). Mapeamento Surrogate Key, Natural Key: Consiste num sistema de pk-fk interno à DW, para ligar os factos às dimensões. Os dados da DW nunca são removidos. Entre outros… Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

19 Limpeza de dados Ferramentas de migração dos dados.
 Ferramentas de data scrubbing. Ferramentas de audição dos dados. Como uma data warehouse é usada para tomada de decisões é importante que os dados estejam corretos. Como os dados provêm de múltiplas fontes a probabilidade de erros e anomalias é alta. Por isso existem ferramentas que ajudam a detetar anomalias e a corrigi-las. Data Migration tools - permitem regras de transformação específicas como por exemplo substitui a string "gender" por "sex“. Data scrubbing tools - usam informação específica de um determinado domínio para filtrar dados que não correspondam ao filtro. Um exemplo desse filtro pode ser um código postal. Ferramentas de audição dos dados - Descobrem regras, relações nos dados (padrões) e padrões suspeitos (um vendedor de um carro nunca recebeu queixas) baseados em análises estatísticas Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

20 Utilidades e Ferramentas Back End
Load Batch Load: processamento adicional para carregar os dados para uma data warehouse (toda a computação necessária para criar as tabelas derivadas que são guardadas na data warehouse); monitorizar o estado, suspender, resumir e reiniciar um load (carga) para a base de dados. Refresh: Quando fazer refresh e como fazê-lo; A política de refresh é definida pelo administrador dependendo nas necessidades e tráfego dos utilizadores e pode ser diferente para diferentes fontes. Para além das ferramentas do slide anterior existem também utilidades para: Load - carregamento para a DW Refresh - propagar updates nos dados para a base de dados e para os correspondentes dados na DW Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

21 OLAP em Bases de Dados Operacionais
Dado que as BDOs estão desenhadas para suportar os workloads de OLTP, executar queries OLAP complexas resultaria em performance inaceitável. Suporte à decisão requere dados que podem não estar numa BDO: - Dados históricos; - Dados consolidados de várias fontes heterogéneas. BDOs não providencionam os modelos multidimensionais de dados e a organização dos dados especial e os métodos de implementação e de acesso que OLAP requere. Dados históricos (perceber tendências ou fazer previsões requere dados históricos e as bases de dados contêm apenas os dados atuais) (Conclusão: Por isso as Data Warehouses são implementadas em separado das bases de dados operacionais) Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

22 Servidores de uma Warehouse
Desafios: Escolher que índices gerar e que vistas materializar. Usar efetivamente os índices e as vistas para responder a queries. Otimização das queries complexas. Melhorar a eficiência de scans. Paralelismo tem que ser explorado para reduzir os tempos de resposta a queries. Melhorar a eficiência de scans - em queries para seleção de dados os scans a índices são eficazes mas para queries intensivas de dados já se necessita de scans sequenciais por que nos interessa tirar conclusões de um todo e não apenas recolher uns dados em particular Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

23 Estruturas de índices e a sua utilização
As operações de reunião e de interseção de índices podem ser usadas para reduzir significativamente o acesso às bases de dados. Os servidores de Warehouses conseguem utilizar índices bit map que suportam operações sobre índices eficientes. A natureza dos esquemas em estrela torna a utilização de índices join especialmente atrativa para suporte à decisão. Índices para suportar pesquisa de texto também são muito úteis. As operações de reunião e de interseção de índices podem ser usadas para reduzir significativamente o acesso às bases de dados (e em muitos casos até eliminar a necessidade desse acesso). NÃO DIZER >>> (ex: As seletividades de múltiplas condições conseguem ser exploradas através da interseção de índices.) A natureza dos esquemas em estrela torna a utilização de índices join especialmente atrativa para suporte à decisão - tradicionalmente os índices mapeiam o valor de uma coluna para uma lista de linhas com esse valor. Um índice join mantém as relações entre uma foreign key e as suas chaves primárias. É bom utilizá-los porque um índice join consegue relacionar os valores de um ou mais atributos de uma tabela de dimensões para as linhas correspondentes na tabela de fatos Índices para suportar pesquisa de texto também são muito úteis (Porque estas bases de dados de suporte à decisão contêm uma quantidade significativa de texto descritivo) Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

24 Vistas e a sua utilização
Materializar resumos de dados pode ajudar a acelerar muitas queries comuns (por ex: num ambiente de investimento a grande maioria das queries pode ser baseada na performance do último trimestre ou no ano fiscal actual). Uma estratégia simples mas muito útil para usar uma view é a utilização de selection ou rollup (ex: query que pede o total de venda das calças de determinada marca do ano. aplica-se a seleção para a marca de calças e de seguida faz-se rollup do trimestre para o ano).

25 Transformação de Queries SQL complexas e Processamento Paralelo
Tradução de queries SQL com nested subqueries em queries SQL de um único bloco. Redução de número de invocações de inner subqueries utilizando técnicas semi-join. Os maiores vendedores de DBMSs oferecem particionamento de dados e tecnologia de processamento de queries paralela. São técnicas que não foram explicadas no artigo, foram apenas referenciadas o tipo de técnicas utilizadas Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

26 Arquiteturas de Servidores para processamento de Queries
Servidores SQL especializados: Providencionam uma linguagem de queries e de suporte ao processamento de queries SQL avançada sobre esquemas em estrema e floco de neve em ambientes read-only. Servidores ROLAP: Servidores intermediários que se localizam entre um servidor back end relacional (onde os dados da warehouse estão guardados) e as ferramentas frontend to cliente. Servidores MOLAP: Suportam a visão multidimensional de dados através de um motor de armazenamento multidimensional. (Vou falar dos 2 últimos nos próximos slides) Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

27 Servidores ROLAP Data Warehouses são implementadas em servidores relacionais OLAP (ROLAP). Estes servidores assumem que: - os dados estão guardados em BDs relacionais: - suportam extensões para MySQL; - possuem métodos especiais de acesso e de implementação que implementem eficientemente o modelo de dados e as operações multidimensionais.

28 Servidores ROLAP Eles estendem os servidores relacionais tradicionais com middleware especializado para eficientemente suportar queries OLAP multidimensionais. Identificam as vistas que devem ser materializadas. Refraseiam as queries dos utilizadores para as vistas materializadas. Geram multi-statement SQL (é uma técnica que permite executar várias declarações SQL como sendo apenas uma) para o servidor back end relacional. Providencionam serviços adicionais tais como scheduling de queries e atribuição de recursos. Desvantagens: Diferenças intrínsecas entre o estilo de querying de OLAP e de SQL pode causar bottleneck de performance para os servidores OLAP.

29 Servidores MOLAP Suportam diretamente a visão multidimensional dos dados através de um motor multidimensional de armazenamento. Vantagem: Propriedades de indexação excelentes. Desvantagem: Providenciam utilização do armazenamento fraca especialmente quando o conjunto de dados é esparso. Alguns adotam uma representação de armazenamento de 2º nível para se adaptarem a conjuntos de dados esparsos e usarem compressão extensivamente: - Um conjunto de dados que seja identificado como sendo possivelmente esparso é representando num array; - A estrutura de indexação tradicional é usada para indexar para estes arrays.

30 Extensões SQL Família Estendida de Funções Agregadas: Suporte para rank e percentile. Relatórios de Características: Avaliação de agregações de dados numa janela temporal com pontos de interrupção e totais correntes. Group-By Múltiplo: Suportam Rollup e Cube. Comparações: SQL possui deficiências na execução de comparações que são comuns no mundo dos negócios. (Aqui estão algumas extensões de SQL que facilitam a expressão e processamento de queries OLAP que foram propostas ou implementadas em servidores relacionais) Família Extendida de Funções Agregadas: Suporte para rank e percentile - pode-se pedir o top 10 dos clientes ou os 30% melhores clientes Relatórios de Características: Avaliação de agregações de dados numa janela temporal, pontos de interrupção e totais correntes - pontos de interrupção são marcadores temporários que se podem colocar no código para parar o processo numa dada linha e se poder fazer debug Comparações: SQL possui deficiências na execução de comparações que são comuns no mundo dos negócios - ex: Comparar a diferença entre a projeção total de uma venda e o total atual de vendas para cada trimestre em que a venda projetada e a venda atual são colunas de uma tabela (Aqui o artigo reencaminha para outro artigo em que são propostas técnicas para resolver estes problemas) Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

31 Metadata e Gestão de uma Warehouse
Diferentes tipos de metadata que tem de ser gerida:  - Administrativa - toda a informação necessária para a criação e utilização de uma warehouse; - Negocial - termos e definições de negócios, propriedade dos dados e políticas tarifárias; - Operacional - a linhagem dos dados migrados e transformados, o estado dos dados na warehouse e informação de monitorização. Pode ser usado um repositório de metadata que é utilizado para guardar e gerir toda a metadata associada à warehouse (ex: “Platinum Repository” e “Prism Directory Manager”). (Como uma data warehouse reflete o modelo de negócios de uma empresa, um elemento essencial da arquitetura warehousing é a gestão de metadata (o conteúdo da warehouse)) Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

32 Metadata e Gestão de uma Warehouse
Ferramentas de desenvolvimento - utilizadas para desenhar e editar esquemas, vistas, scripts, regras, queries e relatórios. Ferramentas de planeamento e análise - utilizadas em cenários "e-se" para entender o impato de alterações de esquema ou refresh rates e para fazer planeamento de capacidade. Ferramentas de gestão de Warehouses - Usadas para monitorizar uma warehouse, reportar estatísticas e fazer sugestões para o administrador. Exemplos: “HP Intelligent Warehouse Advisor”, “IBM Data Hub”, “Prism Warehouse Manager”. Ferramentas de gestão de rede e de sistema - Usadas para medir o tráfego entre clientes e servidores, entre servidores de warehouses e BDOs, entre outros. Exemplos: “HP OpenView”, “IBM NetView“ e “Tivoli”. Ferramentas de gestão de fluxo - Gestão do processo extração-scrub-transformação-carregamento-refresh. Diferentes classes de ferramentas estão disponíveis para facilitar diferentes aspetos dos processos de uma arquitetura de warehousing. Temos …. Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology

33 Perguntas???

34 Obrigado pela atenção! Departamento de Ciências de Computadores - An Overview of Data Warehousing and OLAP Technology


Carregar ppt "An Overview of Data Warehousing and OLAP Technology"

Apresentações semelhantes


Anúncios Google