280 likes | 367 Views
Criar o Data Warehouse. Marcelino Pereira CIn-UFPE. Data Warehouse x BD operacional. Massa de Dados: Imensa x Grande Acesso aos Dados: Ocasional x Constante Natureza: Temporal x Não Temporal Atualização de Dados: Periódico x Permanente Dados Armazenados: Históricos x Atuais
E N D
Criar o Data Warehouse Marcelino Pereira CIn-UFPE
Data Warehouse x BD operacional • Massa de Dados: Imensa x Grande • Acesso aos Dados: Ocasional x Constante • Natureza: Temporal x Não Temporal • Atualização de Dados: Periódico x Permanente • Dados Armazenados: Históricos x Atuais • Processamento: OLAP x OLTP • Necessidade Desenvolvimento: Estratégica x Operacional • Origem Pesquisa: Indústria x Academia
BD Operacionais Data Warehouse OLAP/KDD extrair traduzir serve OLAP filtrar integrar KDD BD Operacionais Data Warehouse
Data Warehouse x Data Mart • Data Warehouse: • Informações de diferentes fontes (BD´s heterogêneos / distribuídos / sistemas legados etc) são extraídas, traduzidas, filtradas,integradas, agregadas e armazenadas no repositório centralizado. • Data Mart • Subconjunto do data warehouse global. • Mini data warehouse em escala menor (departamental, regional ou funcional). • Permite construção bottom-up de data warehouse.
Principais Vantagens - DW • Altíssima performance de pesquisa corporativa • não necessariamente dos dados mais recentes • Não interfere nas OLTP’s dos BD’s operacionais • pesquisas complexas apenas no DW • Dados armazenados no DW podem ser manipulados de forma arbitrária • podem ser resumidos, reestruturados, redimensionados • Fonte de informações estratégicas • conhecimento do negócio • vantagem competitiva • tomada decisões etc.
Questões em armazenamento de dados não volátil • Aspecto temporal e histórico • A dimensão mais importante: tempo • Armazenar a “evolução dos dados” • Prazo médio de armazenamento de dados: 5 a 10 anos • Necessidade de agregação ao longo da dimensão tempo • DW - BD histórico • Característica determinante do DW: “time variant” • DW - série sofisticada de “snapshots” • Um caso especial de BD temporal • Hierarquias temporais múltiplas • Agregação e manipulação de múltiplas hierarquias temporais • Hora, minuto, dia, semana, quinzena, mês, bimestre, ano etc • Estrutura cíclica
Banco de Dados Temporais: definição e motivação • Definição: • BD Temporal é aquele que é “time dependent” (time varying), pois deve suportar aspectos de tempo. • Dados econômicos e financeiros (empresas, bancos etc) dependem de tempo • Informações sobre estoque, custo e venda de produtos têm variação temporal • Dados na área de saúde • Operações em telecomunicações • Sistemas de Transporte • Atividades que produzem massas de dados regularmente
Ontologias temporais e aplicações p/ BD • Baseados em pontos • Instante: “time point” • Intervalo: conjunto de pontos • Predominante no contexto de BD • Baseados em intervalos • Instante: intervalo mínimo • intervalo: delimitado por designadores • Cálculo de eventos: • Limitações do cálculo de situações • Representação de mudanças • Dimensão espacial e temporal • Tempo de validade • tempo durante o qual um fato era realmente verdadeiro • Tempo de transação • tempo durante o qual o fato estava presente no BD como dado armazenado
Modelo de dados e linguagens de consultas temporais • Suportam aspectos relacionados a tempo • HRDM (Historical Relacional Data Model) • Muito influente • Suporta domínio temporal único, discreto e infinito • Suporta dimensão de tempo única • Álgebra originada da álgebra relacional com redefinição operadores • Álgebra não consegue expressar consultas temporais indutivas • TSQL2 • Derivada do SQL2 • Não possui semântica formal • Suporta tempo de validade e de transação • Suporta granularidade múltipla de tempo • Modelo de dados baseado em pontos
Modelo de dados e linguagens de consultas temporais • TQuel • Derivada do Quel • Possui semântica formal • Suporta domínio temporal único, discreto, infinito e multi-nível • Suporta duas dimensões de tempo: tempo de validade e de transação • Variação da representação de timestamp • Modelo de dados baseado em pontos • Não consegue expressar consultas temporais indutivas • Backlogs • Suporta domínio temporal único, discreto e infinito • Duas dimensões de tempo: tempo de validade e tempo de transação • Outras: • HQuel / HTQuel / TempSQL / TBE
BD Temporal em TSQL2 • Tipos temporais SQL92 • Date • Time • Timestamp • Interval • Tipos/cláusulas temporais adicionais TSQL2 • Period • Valid • Cast • Nobind
Exemplo de BD Temporal em TSQL2 • Definição da relação Prescription • CREATE TABLE Prescription (Name CHAR(30), Physician CHAR(30), Drug (CHAR(30), Dosage CHAR(30), Frequency INTERVAL MINUTE) AS VALID STATE DAY AND TRANSACTION • Modifique a dosagem p/ 50 mg de março a maio: • UPDATE Prescription SET Dosage TO ´50 mg´ VALID PERIOD´[1996-03-01 - 1996-05-30]´ WHERE Name = ´Melanie´ AND Drug = ´Proventil´
BD Temporais e Data Warehouse • Áreas distintas, porém fortemente relacionadas • DW integra informações de diversas fontes heterogêneas, montando BD históricos. • No DW das várias dimensões analisadas, tempo é a mais importante. • Dimensão tempo utilizada para detectar características na evolução dos dados. • Data Warehouse utiliza tecnologia de BD Temporal?
Modelagem e remodelagem de dados para Data Warehouse • DTS - Data Transformation Services (Microsoft OLAP) • mais um conjunto de ferramentas ad-hoc de auxílio à transformação de dados do que ambiente integrado de modelagem e remodelagem • permite transformar dados via caixas de diálogo ou scripts • dados de origem podem ser de diferentes bases de dados, tabelas, textos ou uma query • permite controle de erros, restrições, exceções etc • mapeamento/tratamento da informação direto e interativo • permite conversões entre tipos de dados • exige casamento de tipos de dados origem e destino • transformações podem ser testadas e acompanhadas
Carga de dados no Data Warehouse • On-Demand-Integration (query-driven) • Para uma dada query: • encontrar fontes de informação relevantes • gerar subquery para cada fonte • integrar resultados obtidos e repassá-los à aplicação. • “Sistemas Virtuais” • In-Advance-Integration (analysis-driven) • Informações relevantes extraídas antecipadamente das fontes. • Filtradas, consolidadas e armazenadas num BD separado. • Consultas efetuadas diretamente neste BD. • “Sistemas Materializados”
Arquiteturas de Data Warehouse 1-Estrutura independente (sem arquitetura) • Consulta direta às fontes (ineficientes) • Informações dispersas • Menor qualidade dos resultados • Mediadores complexos • Implementação mais rápida BD Operacionais “Data Warehouse”
Arquiteturas de Data Warehouse2-Estrutura de Data Marts dependentes Data Warehouse Data Marts BD Operacionais
Arquiteturas de Data Warehouse2-Estrutura de Data Marts dependentes • Data Marts são subconjuntos do DW • DM recebem seus dados do DW • Orientado por áreas (assuntos) • Integrado (inconsistências são eliminadas) • Time-Variant • Não volátil • Atualização dos dados • Wrappers: tradutores de informação • Monitor: detecta mudanças • Integrador: trata e instala informação no DW
Arquiteturas de Data Warehouse3-Estrutura de Barramento de DW DW Bus Data Mart Data Mart Data Mart BD Operacionais Data Warehouse
Arquiteturas de Data Warehouse3-Estrutura de Barramento (Bus) de DW • Cada Data Mart é parte do DW • Data Marts são conectados através do bus do DW • Repositórios regionais, funcionais, departamentais • DW busca informações diretamente nos DM’s • Construção bottom-up do DW • Controle centralizado • Flexibilidade localizada • Data Marts são mais ágeis
Integração de Dados: motivações e questões • Problema geral independente de warehousing • Heterogeneidade: de modelos e de implementação • Divergências: protocolo, arquitetura, descrição de dados, níveis de abstração, significado preciso dos termos • Fontes ricas e complexas de informações: • Sistemas Legados • Internet • Bancos e Organizações Financeiras • Bancos de Dados Comerciais e Estatísticos • Agências Governamentais • Necessidade de meios para acesso transparente a fontes diversificadas • Requer meta-dados ou conhecimento • que pode ser aproveitado para fornecer informação mais rica
Wrapper/Monitor/Integrador Data Warehouse Integrador Wrapper/Monitor Wrapper/Monitor Wrapper/Monitor Fonte Fonte Fonte
Mediadores para Integração de Dados • Middleware inteligente associa fontes de dados e programas aplicativos. • 4 passos: • Analisa consulta • Identifica fontes de informação relevantes • Gera as sub-consultas para essas fontes • Integra resultados em uma resposta a consulta inicial • Implicações: • Tendência de descentralização • Cooperação intersistemas • Grande quantidade de dados disponíveis • Avanços tecnológicos na comunicação de dados
Mediadores Aplicações M e d i a d o r BD 1 BD 2 BD 3
Exemplo de Esquemas Locais e do Mediador ESQUEMAS LOCAIS: EMP_RIO EMP_FOR BD2 BD1 sal2 nome2 email2 sal1 nome1 tel1 ESQUEMA DO MEDIADOR local EMP_M email sal nome tel
Assertivas de Correspondência (Mediadores) • Assertivas de Correspondência de Tipos: • AC1: EMP_M EMP • AC2: EMP_M Gen(EMP_RIO, EMP_FOR) • AC3: EMP_RIO EMP_M [local = ‘rio’] • AC4: EMP_FOR EMP_M [local = ‘for’] • Assertivas de Correspondência de Atributos: • AC5: nome nome1 • AC6: nome nome2 • AC7: sal sal1 • AC8: sal sal2 • AC9: tel tel1 • AC10: email email2 • AC11: local [EMP_RIO: ‘rio’; EMP_FOR: ‘for’]
Exemplo de Consulta (Mediadores) Select nome, tel, sal, email from EMP_M where nome = “Roberto” nome = “Roberto” tel = “344-9080” sal = “3000” email= “rob@net” Mediador nome1 = “Roberto” sal1 = “1000” tel1 = “344-9080” nome2 = “Roberto” sal2 = “2000” email2 = “rob@net” Tradutor 1 Tradutor 2 Emp_Rio Emp_For
Data Warehouse - Telecom Italia • Maior provedor telecomunicações italiano e o 5o no mundo • Atua em 40 paises com 90.000 empregados • Motivação: proliferação de BD’s legados - grande overhead • 1993: iniciou seu projeto estratégico • Foco: clientes, fornecedores, rede, administração • 1996: projeto concluído integrando 48 BD’s operacionais • Estratégia de antecipação de problemas p/ o DW: • extração / limpeza / reconciliação • Desenvolvimento de ferramentas e metodologias próprias • Conclusões da Telecom Italia: • Integração é um processo incremental • envolvimento de todos os parceiros tecnológicos • estrutura dedicada para gerenciamento da implementação do DW • Agendamento processos de extração/transformação são críticos