Judite Chaves Mirandela
1 UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM COMPUTAÇÃO Um estudo de metodologia para criação de um Depósito de Dados por DAPHNIS LOPES VALENTE Dissertação submetida à avaliação, como requisito para a obtenção do grau de Mestre em Ciência da Computação Profª Dra. Lia Goldstein Golendziner Orientadora (in memoriam) Porto Alegre, janeiro de 2001.
2 2 CIP CATALOGAÇÃO NA PUBLICAÇÃO Valente, Daphnis Lopes Um estudo de metodologia para criação de um Depósito de Dados / por Daphnis Lopes Valente. Porto Alegre: PPGC da UFRGS, f. : il. Dissertação (mestrado) Universidade Federal do Rio Grande do Sul. Programa de Pós-Graduação em Computação, Porto Alegre, BR-RS, Orientadora: Golendziner, Lia Goldstein. 1. Extração. 2.Integração. 3. Sistema de Suporte a Decisão. 4. Modelo dimensional. 5. Consulta Analítica. 6. Metadados. 7. Data Mart. 8. Depósito de Dados. I. Golendziner, Lia Goldstein. II. Titulo. UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL Reitora: Profª. Wrana Panizzi Pró-Reitor de Ensino: Prof. José Carlos Ferraz Hennemann Pró-Reitor Adjunto de Pós-Graduação: Prof. Philippe Olivier Alexandre Navaux Diretor do Instituto de Informática: Prof. Philippe Olivier Alexandre Navaux Coordenador do Programa de Pós-Graduação em Computação: Prof. Carlos Alberto Heuser Bibliotecária-Chefe do Instituto de Informática: Beatriz Regina Bastos Haro
3 3 Agradecimentos Agradeço ao Instituto de Informática da Universidade Federal do Rio Grande do Sul, que ao longo do curso me proporcionou a oportunidade de adquirir os conhecimentos necessários para realizar este trabalho. Agradeço aos professores e funcionários do Instituto por sua dedicação, e em especial à minha professora orientadora. Agradeço também ao Professor Clésio Saraiva dos Santos, que me orientou na ausência da Profª. Lia Goldstein Golendziner. Agradeço, especialmente, à minha maior incentivadora, Susana, minha esposa.
4 4 Sumário Lista de abreviaturas... 6 Lista de Figuras... 7 Resumo... 9 Abstract Introdução Conceitos Conceitos Necessidade de utilizar um DD Características Base de dados SSD separada Armazenamento de dados Dados integrados Dados limpos Não-volátil Orientado a assunto Metadados Modelo dimensional [KIM 96][KIM 98] Acesso fácil Principais causas de insucesso Objetivos Estrutura de Depósito de dados Arquitetura Topologia do Data Mart Metodologia Metodologias analisadas Metodologia James Martin Metodologia Alan Simon Metodologia Ralph Kimball Metodologia Douglas Hackney Metodologia NCR NCR Corporation [NCR 99] Metodologia Visible Visible Corp Metodologia proposta Sistema de Gerência de Banco de Dados e Servidores... 61
5 SGBD Servidores Ferramentas Integradas para criação de DM/DD Microsoft SQL Server 7 e Microsoft Excel Oracle Data Mart Suite Ferramentas de projeto e modelagem Sybase Datawarehouse Architect Anubis-Constructa Extração, transformação e carga de dados De primeira geração, produtos geradores de código: De segunda geração, produtos baseados em acesso direto: Ferramentas de acesso a dados Prova de conceito empresa de telecomunicações Utilização de Call Detail Record (CDR) ou Bilhetes em aplicações para empresas de telecomunicações [TEC 95] [MAT 97] Prova de conceito O problema A solução Metodologia Dificuldades na integração automática de dados de bases transacionais Comparando o nome dos atributos Comparando valores e domínios utilizando conteúdo dos dados Comparando especificações de atributos Semântica de base de dados Especificações de campo Conteúdo dos dados Padrões de dados para campos tipo caractere Padrões de dados para campos numéricos Método da integração semântica Conclusão...93 Anexo 1 Script de criação da tabela-destino...95 Anexo 2 Script de transformação do arquivo-texto...97 Bibliografia
6 6 Lista de abreviaturas DBMS EIS SQL MIS PC DOS DD DM SSD SGBD SI EMT OLTP OLAP DBA SW HW NUMA MPP SMP I/O RI SO CDR Sistema Gerenciador de Banco de Dados Executive Information System Structured Query Language Sistema de informação gerencial Computadores Pessoais Disk Operating Systems Depósito de Dados Data Mart Sistemas de Suporte a Decisão Sistema Gerenciador de Banco de Dados Sistemas de Informação Extração, Mapeamento e Transformação On line transactions processing Sistemas orientados a transação On line analytical processing Sistemas orientados a análise Database Administrator Administrador de Base de Dados Software Hardware Non Uniform Memory Architecture Massively Parallel Processing Symmetric Multiprocessing Input/Output Retorno de Investimento Sistema Operacional Call Detail Record Bilhete de central telefônica
7 7 Lista de Figuras FIGURA 1 Depósito de Dados FIGURA 2 Integrado [INM 94] FIGURA 3.a Não-volátil e 3.b Temporal [INM 94} FIGURA 4 Orientado a assunto [INM 94] FIGURA 5 Exemplo de modelo dimensional FIGURA 6 Ciclo de vida de um Depósito de Dados [HAC 97] FIGURA 7 Data Marts não integrados FIGURA 8 Arquitetura de Data Marts incrementais Primeira fase FIGURA 9 Arquitetura de Data Marts incrementais Segunda fase FIGURA 10 Topologia duas camadas de um Data Mart FIGURA 11 Topologia três camadas de um Data Mart FIGURA 12 - Metodologia Alan Simon FIGURA 13 Metodologia Ralph Kimball...42 FIGURA 14 - Metodologia NCR FIGURA 15 - Metodologia Visible FIGURA 16 Método espiral de desenvolvimento FIGURA 17 - SMP FIGURA 18 - MPP FIGURA 19 - NUMA FIGURA 20 Microsoft Data Warehousing Framework FIGURA 21 Procedimento de integração semântica... 91
8 8 Lista de Tabelas TABELA 1 Comparação entre bancos de dados transacionais e Depósito de Dados TABELA 2 Quadro comparativo das metodologias TABELA 3 Aplicações de DD para telecomunicações... 82
9 9 Resumo Este estudo tem como objetivo analisar as diferentes metodologias existentes para criação de Depósito de Dados (DD) e determinar uma metodologia que melhor atenda às necessidades de uma empresa de telecomunicações, iniciando um projeto de DD e identificando as causas mais comuns de insucesso, a serem evitadas em projetos desta natureza. E para comprovar esta metodologia foi construído um Data Mart utilizando dados da Cia. Rio-grandense de Telecomunicações, com objetivo de análise de qualidade dos bilhetes utilizados nos indicadores de desempenho de centrais bilhetadoras. Apresenta, também, as arquiteturas possíveis de um Depósito de Dados/Data Mart, suas características e diferenças. Esta Dissertação de Mestrado é uma contribuição à pesquisa e à análise de metodologias empregadas na criação e manutenção de Depósitos de Dados e a determinação de uma metodologia que atenda às necessidades de uma empresa de telecomunicações. Palavras-chave: extração, integração, Sistemas de Suporte a Decisão, modelo dimensional, consulta analítica, metadados, Data Mart, Depósito de Dados.
10 10 TITLE: A STUDY OF DATAWAREHOUSE CREATION METHODOLOGIES Abstract The main objective of this study is to analyze different methodologies used in developing a Data Warehouse and also to determine a methodology that will offer the best results when implementing a Data Warehousing for telecommunication segment. It will also identify the most common causes of failure in telecom DW project. And finally as a proof of concept apply the chosen methodology to build a Data Mart, using data from Cia. Rio-grandense de Telecomunicações, resulting in analysis of Call Detail Record quality and telecom exchange performance. Also shows DW/DM architecture with its characteristics and differences. This dissertation has as contribution research and analysis of methodologies used in creating and maintaining a DW and to determine a methodology that best suites telecom industry. Keywords: extraction, integration, Decision Support Systems, dimensional model, analytical query, metadata, Data Mart, Data Warehouse.
11 11 1 Introdução Estrategistas militares utilizam o termo superioridade incontestável para descrever o que todo exército gostaria de ter antes de se defrontar com um inimigo. Superioridade incontestável significa possuir a capacidade de combate superior, numérica e tecnológica, e saber efetivamente tirar proveito desta superioridade. Um benefício de ter uma superioridade incontestável e que ela possa fazer com que a maioria dos adversários opte por não entrar em luta na qual acredite não ter nenhuma chance. Nos dias de hoje, o termo superioridade incontestável se aplica a empresas que tenham alcançado uma posição tão dominante em seu mercado que aparentem ser invencíveis. A Microsoft, a Disney e a Wal-Mart são exemplos que se apresentam nestas condições. Estas empresas, e muitas outras que possuem superioridade incontestável nos seus segmentos de indústria, são capazes de tomar decisões estratégicas e táticas muito rapidamente. O ritmo das mudanças não diminuirá; por isso, a vantagem competitiva pende na direção de empresas que podem acelerar a sua capacidade de tomar decisões. No ambiente empresarial de hoje, as informações são uns dos bens mais valiosos de que uma empresa pode dispor para combater eficientemente seus concorrentes e defender sua posição no mercado. Cada vez mais os líderes da indústria se sobressaem aos seus adversários, sendo mais rápidos e mais ágeis ao planejar suas estratégias de competição. Conseqüentemente, o objetivo é identificar cada vez mais rápido as oportunidades, planejar suas ações estando de posse do maior número possível de dados, executar suas ações de forma cada vez mais rápida e poder corrigir possíveis enganos antes de seus concorrentes. Na maioria das organizações os dados se encontram dispersos em vários sistemas, de diferentes tecnologias, armazenados em arquivos, em bases não relacionais e relacionais, sem padronização na identificação dos seus elementos, o que acaba dificultando enormemente sua utilização no suporte à decisão. A área acadêmica tem desenvolvido muitos trabalhos envolvendo bases de dados heterogêneas com vistas a permitir consultas nestas bases diversas e, após o processo de integração, obter resultados homogêneos conforme solicitado.
12 12 Depósito de Dados é uma excelente alternativa ao enfoque tradicional para integração e acesso de dados a fontes de informações heterogêneas. O enfoque DD é especialmente útil quando se necessita de altos desempenhos nas consultas (característica dos sistemas de suporte à decisão), ou quando as fontes de informações são transitórias (bases que sofrem alterações intensas impedem a obtenção de informações de eventos já realizados). Com o uso de um DD podemos atender às necessidades de empresas que se encontram com muitos sistemas legados ainda em operação, mas que necessitam de informações para apoiar seu planejamento estratégico e ações rápidas. Isso se realiza integrando os dados transacionais de variadas origens, unificando suas formas diversas em uma única e consistente base de dados que permitirá análises e decisões complexas de negócio. Um DD é semelhante a um depósito físico. Sistemas transacionais criam dados que são carregados no depósito. Alguns destes dados são sumarizados em informações e armazenados no depósito. Usuários de DD fazem solicitações e recebem informações que são criadas com os dados e informações sumarizadas do depósito. Um DD é tipicamente uma mistura de tecnologias, incluindo base de dados relacionais e multidimensionais, arquitetura cliente/servidor, programas de extração e transformação, interface gráfica para os usuários e muitas outras. Ferramentas devem ser disponibilizadas de acordo com as necessidades de informação dos usuários, mas com a garantia de obter informações rápidas, confiáveis e consistentes. Um DD é projetado de forma a facilitar a identificação da informação necessária ao usuário e obter estas informações seja através do uso de ferramentas simples, com gerador de relatórios ou planilha eletrônica, ou ferramentas estatísticas complexas. Três tecnologias fundamentais convergem para formar a infraestrutura da informação com a finalidade de acelerar o processo de tomada de decisão. O investimento nessas tecnologias ajuda a criar o capital intelectual necessário a que empresas se sobressaiam em relação a suas concorrentes: Armazenamento de dados, que é a criação de um repositório de dados completo e preciso.
13 13 Ferramentas de análise, que permitem o acesso e avaliação dos dados. Podem ser multidimensionais, geradoras de relatórios ou ferramentas estatísticas. Internet, que melhora a comunicação e colaboração por toda a empresa. Os exemplos que seguem sugerem algumas de suas áreas de aplicação ou características onde a utilização da abordagem do depósito de dados é adequada [WAT 95]. 1. Reunir dados científicos. Nestas aplicações, um grande volume de dados heterogêneos pode ser criado tão rapidamente que o processamento de uma pesquisa em tempo real se torna impossível. Além disso, as fontes podem ser esporádicas e incertas, portanto, armazenar os dados em um local seguro e conveniente para futuro processamento é apropriado. Ex.: NASA-Jet Propulsion Laboratory e Caltech desenvolveram o SKICAT (SKy Image Cataloging and Analysis Tool Ferramenta de Catalogação e Análise do Céu), um avançado sistema de mineração da informação que automaticamente analisa e cataloga a segunda pesquisa Palomar Sky Survey dos céus do norte. (O SKICAT foi escrito em C, roda sob Unix e emprega algoritmos especiais e um DBMS Sybase). Quando estiver completa, a pesquisa terá catalogado mais de 50 milhões de galáxias, cerca de 2 bilhões de estrelas e quasares. A pesquisa produzirá aproximadamente 3 terabytes de dados, que serão reduzidos a um catálogo da galáxia. SKICAT descobriu nove novos quasares. Com as técnicas anteriores de pesquisa seriam necessários três anos para completar uma descoberta semelhante. Com o SKICAT, os astrônomos do Caltech realizaram o feito em menos de seis meses, utilizando tempo de observação de no mínimo uma ordem de magnitude inferior. 2. Manter historicamente dados empresariais. Processar e minerar dados empresariais (calcular o histórico das vendas de todas as lojas de uma grande cadeia de supermercados em um determinado período de tempo) é um trabalho intenso, e é melhor ser executado fora do ambiente normal ( off-line ) de produção para não afetar as operações do dia-a-dia. Ex.: O Wal-Mart descentralizou o controle de seus estoques a partir A mineração de dados serve como base para a estratégia da rede de estoque descentralizado, e neste caso é o processo de localização de dados úteis encontrados nas informações de compras e vendas específicas de cada
14 14 região. A empresa utiliza um sistema Intranet que auxilia nas decisões sobre as compras para cada loja. Hoje, aproximadamente 10 milhões de decisões de aquisições são realizadas diariamente na rede com um DD de 101 terabytes. 3. Obtendo informações freqüentemente requisitadas. Pelo armazenamento de respostas em depósitos de dados previamente extraídas e integradas para questões freqüentemente perguntadas, a desvantagem inerente dos sistemas de bancos de dados (ineficiência, atraso no processamento de consultas, etc.) pode ser superada, resultando numa melhora no desempenho e eficiência. Esta dissertação, além de estudar os fundamentos básicos (capítulo 2 Conceitos), se preocupou principalmente em analisar as metodologias existentes (capítulo 3 Estrutura de DD). O capítulo 2 descreve os conceitos de um Depósito de Dados conforme variada bibliografia [INM 96][BAR 96][HAR 96][HAC97] e apresenta em detalhes o porquê da necessidade de utilizar um DD, as características clássicas de um Depósito de Dados, as principais causas de insucesso em projetos deste tipo e os objetivos desta dissertação. Um dos objetivos deste trabalho é apresentado no capítulo 3 Estrutura de DD, onde é apresentada a arquitetura de um DD, as várias topologias de um Data Mart, a análise de metodologias existentes e a proposta de uma metodologia que melhor atenda às necessidades de uma empresa de telecomunicações, que gera uma grande quantidade de dados para serem analisados. Exemplificando: uma empresa com dois milhões de terminais telefônicos fixos gera cerca de 25 milhões de registros/dia para chamadas interurbanas, e para chamadas locais (urbanas) um número três vezes superior. Para chegar a uma proposta de metodologia foram examinadas as metodologias de James Martin [Mar 98], de Alan Simon [SIM 98], de Ralph Kimball [KIM 98], de Douglas Hackney [HAC 98], de NCR Corporation [NCR 99] e a metodologia utilizada pela empresa Visible [VIS 99]. Também são apresentados os bancos de dados e ferramentas comerciais dirigidas para criação e uso de um DD. A necessidade de utilização de uma metodologia que possa contribuir significativamente para o sucesso da construção de um DD é o principal motivador deste trabalho. A existência de grandes bases de dados transacionais em todas as empresas e em especial na área de telecomunicações determina a necessidade da construção de um DD. A escolha da metodologia
15 15 adequada para esta construção é primordial para permitir atender às necessidades de toda a corporação nas informações que irão permitir a tomada de decisões. Esta dissertação também está motivada pela possibilidade de utilizar a metodologia proposta no capítulo 3, visando atender a um problema determinado na Cia. Rio-grandense de Telecomunicações na área de análise da qualidade de bilhetes, para o que foi feita uma prova de conceito com a criação de um Data Mart utilizando ferramentas de extração, base de dados relacional, base multidimensional e ferramenta de acesso. As conclusões do trabalho e a apresentação de novas direções de pesquisa estão no capítulo 6. Nos anexos 1 e 2 está a descrição da base de dados utilizada e as transformações realizadas nos dados relativas à prova de conceito do capítulo 4, e finalmente, a bibliografia utilizada.
16 16 2 Conceitos 2.1 Conceitos Os conceitos de Depósito de Dados e Data Mart são apresentados a seguir, por serem estes os conceitos fundamentais deste trabalho. Vários são os autores que definem Depósito de Dados. A seguir definições que melhor representam este sistema: Depósito de Dados é uma coleção de dados orientadas a assunto, integrada, não-volátil e temporal, de suporte a decisões gerenciais [INM 96]. Depósito de Dados (tradução do termo inglês data warehouse) consiste em um único repositório de dados, extraídos de bases de dados transacionais e/ou dados externos, acumulados ao longo do tempo, integrados, possibilitando a análise massiva de informações, de forma a permitir melhores tomadas de decisões e a descoberta de conhecimento, sem impactar no desempenho dos bancos de dados do mundo transacional [BAR 96]. Depósito de Dados é um processo em andamento que aglutina dados de fontes heterogêneas, incluindo dados históricos e dados externos para atender à necessidade de consultas estruturadas, ad hoc, relatórios analíticos e de suporte a decisão [HAR 96]. Depósito de Dados é uma coleção de técnicas e tecnologias que juntas disponibilizam um enfoque pragmático e sistemático para tratar com o problema do usuário final de acessar as informações que estão distribuídas pela organização [BAR 96]. O mesmo ocorre para Data Mart (DM). A seguir definições que melhor representam este sistema: Data Mart é um Depósito de Dados especializado contendo um subconjunto de dados, originados do Depósito de Dados, e preparados para atender a uma necessidade particular de uma área do negócio [BAR96]. Data Mart é um conjunto de dados sumarizados derivados dos dados detalhados encontrados no Depósito de Dados [INM96]. Data Mart é um conjunto de informações com foco definido que são projetadas das mesma forma que um DD, mas são implementadas para atender às necessidades específicas de um conjunto de usuários que compartilham características comuns [HAC97]. Data Mart incremental é um conjunto de dados organizados para atender a uma área funcional específica do negócio, baseado em uma arquitetura corporativa definida, preparado para integração, escalável e com
17 17 capacidade de subsidiar a construção de um sistema centralizado de Depósito de Dados [HAC97]. 2.2 Necessidade de utilizar um DD Os sistemas de informações, em todas as organizações, evoluíram até a situação atual através de caminhos tortuosos e acidentados. Os sistemas, longe de terem uma visão corporativa, foram criados visando resolver problemas para áreas específicas, agindo localmente e atendendo problemas particulares sem a preocupação com o todo. Isso se aplica perfeitamente a departamentos de uma corporação que tipicamente tendem a enxergar somente os problemas de sua área e buscar sistemas que os resolvam. Por exemplo, Sistemas de Contas a Pagar não se preocupa com a área de Vendas; Mercadologia não se preocupa com área de Manufatura. No entanto, a gerência superior necessita enxergar o todo para poder realizar decisões mais efetivas. Os sistemas atuais apresentam dados fracionados e cada pedaço está em conflito com as outras partes em termos de dados contraditórios ou sobrepostos por terem definições de dados inconsistentes. Como resultado disso, para se de obter estatísticas vitais de todas as áreas da empresa, o trabalho necessário é enorme, principalmente na determinação de sistemas individuais que contêm as partes de dados necessárias, e mais difícil ainda é conciliar as discrepâncias para se obter uma única visão. O objetivo primário de um DD é resolver este dilema para os gerentes e analistas de cenários e ao mesmo tempo diminuir a carga de trabalho sobre a área de sistemas de informações. Simplificadamente, poderíamos dizer: a solução é obter todos os dados requeridos para suporte a decisão dos sistemas transacionais e arrumá-los em um único repositório de forma consistente, de forma a responder perguntas que necessitam ser respondidas [FLA 97]. As bases de dados destes sistemas normalmente estavam centralizadas em um único banco de dados servindo a toda a comunidade de processamento da informação de transação, a processamento em lote e a processamento analítico. Na maioria dos casos, o foco primário das bases de dados era transacional. Há poucos anos, surgiu com uma noção mais sofisticada para bancos de dados uma base que serve às necessidades transacionais e outra que serve às necessidades de informações ou analíticas [INM96]. Isto se deve ao uso de PCs, tecnologias de 4GL, o poder crescente de processamento dos equipamentos de usuários e o decréscimo do custo dos equipamentos. A necessidade de ruptura dos bancos de dados transacionais e os de informação se deve a vários fatores:
18 18 os dados que atendem às necessidades transacionais são fisicamente diferentes daqueles que servem às necessidades de informações e dados analíticos; a tecnologia utilizada no processamento transacional é fundamentalmente diferente daquela utilizada ao suporte das necessidades de informações e dados analíticos; o usuário da comunidade transacional é diferente daqueles atendidos por informações e dados analíticos. Devido a estas e outras razões é que a maneira adequada de construir bases de dados é separar as necessidades dos sistemas transacionais dos sistemas de analíticos. Dados analíticos aqui são vistos como o processamento que serve às necessidades de gerência no processo de tomada de decisão. Muito conhecido como Sistema de Suporte a Decisão (SSD), o processamento analítico trabalha com grandes quantidades de dados para detectar tendências. Ao invés de trabalhar com um ou dois registros de dados (processamento transacional), quando um analista executa uma consulta muitos registros são processados. Além disso, é muito raro um analista de SSD atualizar dados. Em sistemas transacionais, dados são constantemente atualizados ao nível de registro individual. Em processamento analítico, registros são constantemente buscados e seus conteúdos analisados, mas pouca ou nenhuma alteração de registros individuais acontecem. Em SSD, o tempo de resposta necessário é muito flexível quando comparado a sistemas transacionais tradicionais. Tempo de resposta para SSD é medido de 30 minutos a 24 horas. Tempo de resposta desta ordem de grandeza para sistemas transacionais seria catastrófico. O número de usuários pertencentes à comunidade de SSD é muito menor que a aquela que serve à comunidade transacional. Usualmente, existirá um número infinitamente menor de usuários de SSD do que os da área transacional.
19 19 Diferente da tecnologia que atende ao ambiente SSD, a tecnologia do ambiente transacional deve se preocupar com bloqueio de dados e transações, deadlock e outros [INM 96]. Portanto, a necessidade de utilização de um DD se deve à impossibilidade de manter desempenho aceitável nos sistemas OLTP, quando utilizado como base de dados de consultas de SSD, e também pelo baixo desempenho obtido, quando criamos bases replicadas utilizando a mesma plataforma e modelo de dados de sistemas OLTP (altamente normalizado) para uso por SSD. 2.3 Características A arquitetura de um DD atende às necessidades de uma organização que procura recursos de suporte a decisão flexível e escalonável. Um DD integra dados de vários sistemas OLTP e dados de terceiros em um ambiente comum que toda área de negócio pode facilmente consultar. Os dados são limpos para remover os erros e omissões nos sistemas-origem e carregados no DD, de forma a ter confiabilidade nas informações obtidas pelos usuários. O DD contém dados históricos, de forma que usuários podem examinar tendências e explorar dados históricos detalhados para descobrir padrões desconhecidos. DD é somente para leitura, garantindo aos usuários que os relatórios de hoje serão compatíveis com os do próximo mês. O DD é integrado permitindo uma visão de todas áreas da organização de todos os sistemas OLTP [WID 95]. Uma estrutura clássica de DD é definido pela seguinte série de características fundamentais: Base de dados de SSD separada de sistemas OLTP Armazenamento de dados somente Dados integrados Dados limpos Temporal Não-volátil Orientado a assunto Metadados
20 20 Modelo dimensional Acesso fácil Base de dados SSD separada O DD é sempre armazenado numa base de dados separada dos sistemas OLTP numa arquitetura clássica de DD. Sistemas OLTP Clientes Depósito de Dados FIGURA 1 Depósito de Dados Desta forma teremos ambientes diferentes para os sistemas OLTP e o DD. Normalmente, o DD está instalado em um servidor dedicado, permite que o servidor e a base de dados sejam otimizados, ou afinados, para o melhor desempenho possível. Sistemas OLTP necessitam de otimizações totalmente diferentes de SSD Armazenamento de dados O DD funciona como um repositório de dados. Nenhum dado é criado no DD. Os dados podem sofrer derivações dos dados originais, mas nenhum dado novo é criado no sistema de DD Dados integrados Uma das propriedades básicas de um DD é a integração dos dados de diversos sistemas de OLTP na organização. O DD contém informação de todos os sistemas de OLTP existentes. Isto permite que usuários acessem todas
21 21 as informações corporativas disponíveis tanto em nível de transações como descritivas. A habilidade do DD possibilitar o acesso a dados de toda a corporação é extremamente poderoso para os analistas de negócio na tomada de decisões. Esta integração e disponibilidade dos dados é o que viabiliza a criação de um DD, permitindo retorno de investimento de até 400%. De todos os aspectos do Depósito de Dados, este é o mais importante. A Figura 2 mostra que a integração ocorre quando os dados passam dos bancos de dados transacionais para o DD. As várias decisões de projeto que os projetistas de sistemas de aplicação fizeram durante vários anos aparecem em milhares de diferentes formas. Não existe consistência na codificação das aplicações, convenção de nomes, atributos físicos, medidas dos atributos e muito mais. Cada desenvolvedor tinha liberdade para tomar decisões. Quando os dados são colocados no Depósito de Dados, isto é feito de forma que as inconsistências das aplicações sejam desfeitas. Por exemplo, na Figura 2, não interessa se o atributo sexo foi codificado m/f ou 1/0, o que interessa é qual a codificação realizada para o Depósito de Dados, devendo ser consistentes independente da aplicação de origem. Se a aplicação codifica com X/Y, ela é convertida quando é movida para o Depósito de Dados. A mesma consideração de consistência existe para outras características dos dados como estrutura da chave, convenção de nomes e características físicas. Integrado Operacional aplicação A m, f aplicação B h, m aplicação C masc, fem padronização Armazém de dados m, f chaves conflitantes aplicação A key char(10) aplicação B dec fixed(9,2) aplicação B key pic 9999 key char(12) FIGURA 2 Integrado [INM 94]
22 Dados limpos Quando os dados são carregados no DD de um sistema OLTP, ele sofre uma limpeza, retirando erros, irregularidades e outras anomalias. Esta etapa crítica cria ambiantes que usuários podem acessar com confiança. Não se pode utilizar dados oriundos dos sistemas OLTP sem que haja um tratamento dos dados Temporal DD contém dados históricos que permitem a usuários examinar tendências e desempenhos históricos. Dados históricos podem ser guardados resumidos ou em detalhe. Depósito de Dados é variante no tempo. A Figura 3.b mostra como a variação do tempo ilustra este fato, que pode ser de várias formas: O horizonte de tempo para o DD é significativamente maior que de um sistema de operação. Um horizonte de 60 a 90 dias de intervalo é normal para sistemas de operação; um horizonte de 5 a 10 anos é normal para um DD. Bancos de dados de operação contêm valores correntes valores corretos para o momento de acesso. Como tal, estes valores podem ser atualizados. Dados de DD são na verdade uma série de fotografias (snapshots) tirados em um momento do tempo. A estrutura-chave de dados de operação pode ou não conter elementos de tempo, como ano, mês, dia, hora etc. A chave da estrutura do DD sempre conterá algum elemento de tempo Não-volátil Depósito de Dados é uma base de dados em que os dados depois de carregados não sofrem alterações, sofrem atualizações (novos carregamentos), portanto são não-voláteis [INM 96]. A Figura 3.a ilustra a nãovolatilidade dos dados. Essa figura mostra que dados transacionais são buscados regularmente e manipulados um registro por vez. Atualização é feita nos dados em ambiente de operação. Mas o Depósito de Dados exibe um conjunto de características bem diferentes. Os dados em um Depósito de Dados são carregados (usualmente em massa) e depois consultados. Mas a alteração dos dados não ocorre no ambiente do Depósito de Dados.