Relatório do trabalho acerca de Data Warehouses Breve introdução Este relatório de pesquisa consiste em dar a conhecer ao autor deste trabalho e aos restantes colegas, o objectivo, funcionamento e também outras curiosidades acerca de um Data Warehouse. O criador desde conceito de Data Warehouse é Ralph Kimball. A sua pesquisa, estudo e desenvolvimento desde conceito tem vindo desenvolvido desde 1982 que hoje são usados em diversas ferramentas de software para Data Warehouse. Ele é conhecido por suas convicções de longa data de que o Data Warehouse deve ser desenhado para ser compreensível e rápido. Sua metodologia, conhecida como modelagem dimensional ou metodologia Kimball, é frequentemente usada para permitir a partilha de dimensões conformadas. Definição de Data Warehouse Um Data Warehouse é um sistema de computação utilizado para armazenar informações relativas às actividades de uma organização em bases de dados, de forma consolidada. O desenho da base de dados favorece os relatórios, a análise de grandes volumes de dados e a obtenção de informações estratégicas que podem facilitar a tomada de decisão. Os Data Warehouses surgiram como conceito académico na década de 80. Com o amadurecimento dos sistemas de informação empresariais, as necessidades de análise dos dados cresceram paralelamente. Os sistemas OLTP não conseguiam cumprir a tarefa de análise com a simples geração de relatórios. Nesse contexto, a implementação do Data Warehouse passou a se tornar realidade nas grandes corporações. O mercado de ferramentas de Data Warehouse, que faz parte do mercado de Business Intelligence, cresceu então, e ferramentas melhores e mais sofisticadas foram desenvolvidas para apoiar a estrutura da Data Warehouse e sua utilização. Funcionamento O Data Warehouse possibilita a análise de grandes volumes de dados, recolhidos dos sistemas transaccionais. São as chamadas séries históricas que possibilitam uma melhor análise de eventos passados, oferecendo suporte às tomadas de decisões presentes e a previsão de eventos futuros. Por definição, os dados num Data Warehouse não são voláteis, ou seja, eles não mudam, salvo quando é necessário fazer correcções de dados previamente carregados. Os dados estão disponíveis somente para leitura e não podem ser alterados. Arquitectura Um Data Warehouse e constituído por três diferentes partes: Armazenamento: é feito num depósito único mas que seja de rápido acesso para as análises. Tal armazenamento tem que possuir um histórico com todos os dados possíveis para que possa se ter uma análise mais apurada. Modelagem: Os sistemas de base de dados tradicionais utilizam a normalização no formato de dados para garantir consistência dos dados e uma minimização do espaço de armazenamento necessário. Entretanto, algumas transacções e consultas em bases de dados normalizadas podem se tornar lentas devido às operações de junção entre tabelas. Um Data Warehouse utiliza dados num formato sem padrão definido. Isto aumenta o desempenho das consultas e, como benefício adicional, o processo tornase mais intuitivo para os utilizadores comuns. Essa maneira de reordenar os dados chama-se Modelagem Dimensional, e o resultado da modelagem é o Modelo Dimensional, ou MD. Metadado: o conceito Metadado é considerado como sendo os "dados sobre dados", isto é, os dados sobre os sistemas que operam com estes dados. Um repositório de metadados é uma ferramenta essencial para a gestão de um Data Warehouse no momento de converter dados em informações para o negócio. Entre outras coisas, um repositório de metadados bem construído deve conter informações sobre a origem dos dados, regras de transformação, nomes e alias, formatos de dados, etc. Ou seja, esse "dicionário" deve conter muito mais do que as descrições de colunas e tabelas: deve conter informações que adicionem valor aos dados. Acesso O Data Warehouse é normalmente acedido através de Data Marts, que são pontos específicos de acesso a subconjuntos do Data Warehouse. Os Data Marts são construídos para responder prováveis perguntas de um tipo específico de utilizador. Por exemplo: um Data Mart financeiro poderia armazenar informações consolidadas dia-a-dia para um gestor e em periodicidades maiores (semana, mês, ano) para um utilizador no nível da directoria. Um Data Mart pode ser composto por um ou mais cubos de dados. Hoje em dia, os conceitos de Data Warehouse e Data Mart fazem parte de um conceito muito maior chamado de Corporate Performance Management. Extracção de dados Os dados introduzidos num Data Warehouse geralmente passam por uma área conhecida como área de estágio. O estágio de dados ocorre quando existem processos periódicos de leitura de dados. Os dados podem passar então por um processo de qualidade, de normalização e gravação dos dados no Data Warehouse. Ferramentas OLAP As ferramentas OLAP (do inglês, Online Analytical Processing) são geralmente desenvolvidas para trabalhar com bases de dados desnormalizados (sem padrões pré-definidos), embora existam ferramentas que trabalham com esquemas especiais de armazenamento, com dados (informações) normalizados. Essas ferramentas são capazes de navegar pelos dados de um Data Warehouse, possuindo uma estrutura adequada tanto para a realização de pesquisas como para a apresentação de informações. Nas ferramentas de navegação OLAP, é possível navegar entre diferentes níveis de granularidades (detalhe) de um cubo de dados. Através de um processo chamado Drill o utilizador pode aumentar (Drill down) ou diminuir (Drill up) o nível de detalhe dos dados. Por exemplo, se um relatório estiver consolidado por países, fazendo um Drill down, os dados passarão a ser apresentados por Estados, cidades, bairros e assim sucessivamente até o menor nível de detalhe possível. O processo contrário, o Drill up, faz com que os dados sejam consolidados em níveis superiores de informação. Outra possibilidade apresentada pela maioria das ferramentas de navegação OLAP é o recurso chamado Slice and dice. Esse recurso é usado para criar visões dos dados por meio de sua reorganização, de forma que eles possam ser examinados sob diferentes perspectivas. O uso de recursos para manipular, formatar e apresentar os dados de modo rápido e flexível é um dos pontos fortes de um Data Warehouse. Essa característica faz com que a apresentação de relatórios na tela seja mais comum do que imprimi-los. Além disso, o utilizador tem liberdade para examinar as informações que quiser de diversas maneiras e, ao final, pode imprimir e até mesmo salvar as visões mais importantes para uma futura consulta. Data Mining Data Mining ou mineração de dados, é o processo de descoberta de padrões existentes em grandes massas de dados. Apesar de existir ferramentas que ajudam na execução do processo, o Data mining não tem automatização simples (muitos discutem se é sequer factível) e precisa ser conduzido por uma pessoa, preferencialmente com formação em Estatística ou áreas afins. Propriedades e Características de um Data Warehouse Existem quatro propriedades básicas características de um Data Warehouse, estas são: - Um warehouse é Orientado a assunto; - Um warehouse é Integrado; - Um warehouse não é volátil; - Um warehouse é variável com o tempo; Estas propriedades são que diferencia um Data Warehouse de outros sistemas convencionais de apoio a decisão. - Orientação a Assunto Os sistemas tradicionais são sistemas transaccionais e estão voltados para processos e aplicações específicas, já o Data Warehouse foca sua modelagem para assuntos específicos dentro dos segmentos da empresa. Estes assuntos são informações específicas dos sectores da empresa. Os warehouse são feitos para responder abordagens sobre certos assuntos como, saber mais sobre as vendas da empresa, ou sobre os resultados das actuações das equipas de marketing em determinadas regiões, então o warehouse é feito para responder perguntas sobre certos assuntos como: “Quais foram os melhores clientes em um determinado período?”, “Qual foi o lucro obtido sobre uma campanha de em uma determinada região?”. É possível cruzar assuntos e obter respostas de assuntos mistos, com um Data Warehouse feito para abordar assuntos como vendas para clientes, e actuações das equipas de marketing, podemos obter respostas a assuntos como: “Quais foram os clientes que no ano passado tiveram um grande aumento nas suas compras em resposta a uma campanha de marketing que neste ano não obtiveram um aumento significativo (10% por exemplo) este ano em resposta a mesma campanha?” - Integrado Um Data Warehouse, armazena dados de várias fontes de dados, entre elas sistemas transaccionais e arquivos, mas é comum que as informações sejam cadastradas em formatos e padrões diferentes nas diversas fontes de dados, para ser possível relacionar informações entre os sistemas, estas informações devem ser previamente tratadas antes de serem armazenadas no warehouse, neste processo diversas actividades são feitas, tais como: - Conversão de datas para um formato único; - Resolver conflitos entre nomes; - Conversão de medidas. Exemplos destas informações que estão armazenadas de formas distintas nas diferentes fontes de dados são: - Sexo de uma pessoa, os sistemas podem registar o sexo como, (Masculino, Feminino), (Homem, Mulher), (M,F),(H,M) ou até (0,1). No warehouse deve ser adoptado um padrão e feita a conversão dos dados antes dos dados serem inseridos no Data Warehouse. - Tamanho da embalagem, os sistemas podem cadastrar os tamanhos como Metro, Centímetro, Polegada e novamente deve-se padronizar e converter estas informações antes de serem inseridas no warehouse. - Intervalo entre transações, os intervalos podem ser armazenados como Segundo, Minuto, Hora, e um padrão deve também ser definido. Estas padronizações fornecem a forma pela qual as informações de diversos sistemas e fontes de dados podem ser relacionadas em um Data Warehouse dando assim a ele a propriedade de ser integrado. - Não Volátil Em um warehouse somente existem duas operações a serem feitas, Cargas de dados e Consulta. Dizer que um Data Warehouse não é volátil significa que as informações cadastradas não são actualizadas, o que é feito é que um novo registo é gravado e este passa a ser utilizado de um certo tempo em diante, isto possibilita que consultas realizadas para um certo período sempre retornarão o mesmo resultado, pois os registos não foram actualizados. Guardando um histórico confiável e relacionado com as informações que lhes são consistentes, assim o warehouse não é somente consistente e íntegro na actualidade, mas no decorrer de todo o tempo. Exemplo de actualização do endereço de um cliente. - Em uma determinada data um cliente muda-se de endereço, no sistema de dados operacional isto significa uma actualização nos campos de endereçamento do cliente, no warehouse significa a inclusão de um novo registo. Os relatórios que solicitarem os clientes até a data de 05 de Agosto de 2005 trarão os produtos vendidos a Empresa Alfa como sendo frutos de resultados das campanhas das equipes de marketing da região Norte e posteriormente a esta data as vendas serão atribuídas as equipes responsáveis pela região Sul. A propriedade de não volatilidade de um Data Warehouse lhe permite fazer comparações confiáveis entre períodos distintos que um sistema de dados operacional não permite. - Variável com o tempo Ser variável com o tempo significa somente que os Data Warehouses mantém um histórico por muito mais tempo que um sistema de dados operacional ou transaccional, enquanto os sistemas OLTP guardam históricos por um curto período, para não reduzir a performance do sistema, os warehouses guardam um histórico por muito tempo, assim possibilitando que análises de tendências ao longo do tempo sejam feitas com suas informações. Software Data Mining O pacote de software Weka (Waikato Environment for Knowledge Analysis) começou a ser escrito em 1993, usando Java, na Universidade de Wakato, Nova Zelândia sendo adquirido posteriormente por uma empresa no final de 2006. O Weka encontra-se licenciado ao abrigo da General Public License sendo portanto possível estudar e alterar o respectivo código fonte. O Weka tem como objectivo agregar algoritmos provenientes de diferentes abordagens/paradigmas na sub-área da inteligência artificial dedicada ao estudo da aprendizagem por parte de máquinas. Essa sub-área pretende desenvolver algoritmos e técnicas que permitam a um computador “aprender” (no sentido de obter novo conhecimento) quer indutiva querem dedutivamente. O Weka procede à análise computacional e estatística dos dados fornecidos recorrendo a técnicas de data-minning tentando, indutivamente, a partir dos padrões encontrados gerar hipóteses para soluções e nos extremos inclusive teorias sobre os dados em questão.