Construir e Consultar o Data Warehouse com SQL Server

Slides:



Advertisements
Apresentações semelhantes
Ferramentas OLAP: MicroStrategy OLAP Services
Advertisements

Ana Paula B. Barboza Ivana Xavier Rodrigues
Resumo 1.1) Introdução 1.2) Abordagem Convencional de Arquivos
Maurício Edgar Stivanello
Desenvolvimento Baseado em CGI Material cedido pelo Prof
Aluno: Peter F. Dam Orientador: Prof. Marcos V. Villas
Jacques Robin e Robson Fidalgo CIn-UFPE
Material III-Bimestre Wagner Santos C. de Jesus
MySQL Gerdson de Araújo Silva Universidade Federal de Alagoas Maceió-AL, 21 de maio de 2009.
Uma metodologia para o desenvolvimento de aplicações de bases de dados
Administração de Sistemas de Informação Banco de Dados
CONCEITOS Modelo de Dados
Banco de Dados Avançado - Prof.ª Valeria Times
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Web Services Uninorte Semana de Tecnologia da Informação
É um conjunto de registos dispostos numa estrutura regular que possibilita a reorganização dos mesmos e a produção de informação com a menor redundância.
Design Patterns / Acesso ao banco de dados (java.sql)
JSP / Servlets Avançado
Prof. Kelly E. Medeiros Bacharel em Sistemas de Informação
ACESSO A BASE DE DADOS.
Business Intelligence:
Banco de Dados Avançado
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 07.
Banco de Dados Avançado
Banco de Dados Avançado
1.
Conceitos de J2EE para a WEB
OLAP Escola Politécnica da Universidade de São Paulo (EPUSP)
Data Mining: Conceitos e Técnicas
Adriano Melo Introdução ao ASP.NET Adriano Melo
Introdução a Banco de dados
Treinamento sobre SQL.
Conceitos Programas Programação Linguagens de Programação SQL.
António Martins Set 2008 Gestão de Sistemas e Tecnologias de Informação.
Jacques Robin e Francisco Carvalho CIn-UFPE Tópicos de projetos da disciplina de mineração de dados
Jacques Robin CIn-UFPE Aplicações práticas da descoberta de conhecimento em BD.
Kamila T. Lyra Karina C. S. Nishimura Thiago P. Colonhezi William S. Soares.
ASSUNTO Facilitando a Tomada de Decisão em um Ambiente Móvel Mohamed A. Sharaf Panos K. Chrysanthis Felipe Menezes Cardoso COPIN – UFCG Banco de Dados.
MPS – Aula prática Diagrama de Pacotes / Esteriótipos Web
Dados e Informações são considerados os maiores ativos de uma organização. Muito importantes para o correto planejamento, desenvolvimento e operação de.
SQL- Structured Query Language  SQL é uma linguagem de comandos para interagir com uma BD relacional (não é case-sensitive).  A linguagem Java permite.
SQLite Banco de Dados II.
Uma proposta para OLAP ontológica Adriana Ribeiro.
Ricardo Ferreira Schiavo
Linguagem de programação. Histórico  Concebida em 1993 por Yukihiro Matsumoto  Primeiro livro em inglês saiu em setembro de 2000  Ruby on Rails é lançado.
Jacques Robin CIn-UFPE
Jacques Robin CIn-UFPE Arquiteturas de software e linguagens de consultas para descoberta de conhecimento em BD.
24/4/2015IA - Prof. Paulemir Campos1 WEKA UPE – Caruaru – Sistemas de Informação Disciplina: Inteligência Artificial Prof.: Paulemir G. Campos.
CIn/UFPE – Banco de dados Avançado - Profs. Robson Fidalgo e Valéria Times  1 Banco de Dados Avançado Banco de Dados Multidimensionais Introdução a linguagem.
Ellison Siqueira (erms)
CIn/UFPE – Banco de dados Avançado - Profs. Robson Fidalgo e Valéria Times  1.
Data Warehousing para Mineração de Dados Jacques Robin CIn-UFPE.
1 Baseado em whitepapers/eclipse-overview.pdf Nelson Lago IME/USP 04/2003 A Plataforma Eclipse.
Projetos de descobertas de conhecimento em banco de dados e mineração de dados Jacques Robin, Francisco de Assis e Paulo Adeodato CIn-UFPE.
HAC 1 MD - junho/2008 Tecnologias de suporte à Mineração de Dados Gerenciamento de dados Data Warehouse OLAP Arquiteturas Visualização Sistemas de Suporte.
CIn/UFPE – Banco de dados Avançado - Profs. Robson Fidalgo e Valéria Times  1.
Gestão de Bases de Dados
Jacques Robin CIn-UFPE Aplicações práticas da descoberta de conhecimento em BD.
Prof. Jacques Robin Sala C41 Pesquisa: * Inteligência Artificial  Banco de Dados  * Inteligência Artificial  Sistemas.
Daniel Paulo Banco de dados: é uma coleção/conjunto de registros relacionados.  Exemplo: O banco de dados de uma Universidade.
B. I., DATAMINING e OLAP Henrique Liduario Joab Esequiel
BANCO DE DADOS MULTIDIMENSIONAIS CONSULTANDO O CUBO DE DADOS (MDX – SQL SERVER 2008) Banco de Dados Avançado - Prof.ª Valeria Times Andresson Firmino.
VBA – Visual Basic para Aplicativos
1 Database Systems, 8 th Edition Sistemas de Banco de Dados: Projeto, Implementação e gestão Oitava Edição Capítulo 2 Modelo de Dados.
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
Acesso a Banco de Dados com o JDBC Prof. M.Sc. Ronnison Reges Vidal.
Aula 1.  O que é?  Porque usar?  Onde é usado?  Como funciona?  SGBD  Linguagem SQL  Alguns Exemplos de tecnologias conhecidas.
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
BANCO DE DADOS BASE DE DADOS – É UMA COLEÇÃO DE DADOS INTER- RELACIONADOS, REPRESENTANDO INFORMAÇÕES SOBRE UM DOMÍNIO ESPECÍFICO. EX.: LISTA TELEFONICA,
Transcrição da apresentação:

Construir e Consultar o Data Warehouse com SQL Server Jacques Robin Alexandre Damasceno Marcelino Pereira CIn-UFPE

Roteiro 1. Recursos do SQL Server para Data Warehousing e OLAP 2. Estudo de caso: criar e consultar Data Warehouse de estatísticas de jogos da RoboCup para descobrir insights táticos 3. Preparação de dados com o pacote Data Transformation Services 4. Criação de cubos multidimensionais a partir de tabelas relacionais com o OLAP Manager 5. Consultar cubos multidimensionais com OLE DB for OLAP e MDX

Arquitetura de ferramentas do SQL Server para Data Warehousing Tabelas Cubo FLAT Enterprise Manager OLAP SQL Server DTS Query Analizer MDX Sample OLAP Server

Estudo de caso: RoboCup Warehousing link: ~robocup\aula\

Estudo de caso: RoboCup Warehousing Arquivos de log do simulador de partidas SoccerServer Dados em formato flat Sem intencionalidade: Apenas resultado no campo das ações dos agentes/clientes/jogadores Sem as ações mandadas para o simulador pelos agentes, nem as percepções recebidas em volta Sem possibilidade de inferí-las confiavelmente, devido ao ruído introduzido pelo simulador De granularidade fina demais para descobrir insights procurados por mineração direta Necessidade de passo(s) de derivação de dados de granularidade suficiente na preparação dos dados

RoboCup Warehousing: exemplo da fonte de dados disponível

RoboCup Warehousing: preparação de dados Log do Soccer Server Serviços de transformação de dados ... Microsoft SQL Server Data Mart ROLAP Ferramenta de modelagem E-R Hipercubo OLAP derivados Servidor OLAP Hipercubo primitivo API XSB-SQL SGBD relacional JODI: API OLE DB for OLAP / Java DOODI: API OLE DB for OLAP / XSB Sistema dedutivo XSB InterProlog API Java / XDB

Usar Visio para modelagem E-R do Warehouse ROLAP e criação das tabelas

Modelo estrela de dados primitivos

Modelo estrela de dados derivados I

Modelo estrela de dados derivados II

Modelo constelação do warehouse pronto para consultas OLAP

Data Transformation Services (DTS): Funcionalidades Migrar dados entre diferentes localidades de modo automático. Tratar esses dados durante o sua migração. Permite o uso de scripts para realizar esses trabalhos de modo mais elaborado.

Formato Flat do DTS 1,0,4,"0.0,0.0","-47.0,0.0",101,0,-11,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-43.0,0.0",102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-35.0,25.0",103,0,-36,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-30.0,0.0",104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-35.0,-25.0",105,0,35,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-3.0,25.0",106,0,-83,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-0.6,-0.6",107,1,49,0,0,1,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-15.0,-15.0",108,0,-142,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-3.0,31.0",109,0,-83,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-1.0,10.0",110,0,-85,0,0,0,0,0,0,0,0,0,0,0,0,1

Pré-processamento do pré-processamento Teamleft: 11monkeys, Teamright: FCFoo Score: 0:0 T: 0, mode: 4 Ball: ( 0.0, 0.0), P: 1(-48.0, 0.0, 3), 2(-31.8, 0.0, 0), 3(-27.8, 14.9, -8), 4(-28.0,-15.0, 120), 5(-22.0, 0.0, 87), 6( -9.0, 22.0, -11), 7( -1.0, 12.0, 20), 8( -9.0,-22.0, 6), 9( -1.0, 0.0, -75),10(-10.0, 0.0, -15),11( -1.0,-12.0, 87),12( 47.0, 0.0,-179),13( 25.0, 15.0,-178),14( 30.0, 5.0,-150),15( 24.5, 0.0, 179),16( 30.0, -5.0, 150),17( 25.0,-15.0, 179),18( 20.0, 20.0, 178),19( 9.4, 0.0,-179),20( 20.0,-20.0,-176),21( 4.1, 8.2,-116),22( 1.8, -8.9, 101), 1,0,4,"0.0,0.0","-47.0,0.0",101,0,-11,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-43.0,0.0",102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-35.0,25.0",103,0,-36,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-30.0,0.0",104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-35.0,-25.0",105,0,35,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-3.0,25.0",106,0,-83,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-0.6,-0.6",107,1,49,0,0,1,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-15.0,-15.0",108,0,-142,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-3.0,31.0",109,0,-83,0,0,0,0,0,0,0,0,0,0,0,0,1 1,0,4,"0.0,0.0","-1.0,10.0",110,0,-85,0,0,0,0,0,0,0,0,0,0,0,0,1

Pré-processamento do pré-processamento Soluções encontradas: Programa Perl, Java, C ... DTS Com auxílio de consultas SQL

Usar o DTS Wizard Começar a mexer com a base link: ~robocup\aula\

OLAP Manager: funcionalidades Acessar servidores OLAP Registro de servidores Criar e alterar estrutura multi-dimensional Dimensões Cubos ... Visualizar dados Navegador de consultas simples

Criar cubos a partir do warehouse relacional com o OLAP Manager Wizard

OLE DB for OLAP Para conexão com Data Warehouse e funções administrativas: usa outros padrões “abertos e orientados a objetos” da Microsoft: COM e OLE Para consultar Data Mart conectado: usa uma linguagem com sintaxe parecida com SQL: MDX Independente do modelo físico de dados ROLAP, MOLAP ou HOLAP Amarrado a plataforma Windows Pode ser chamado apenas a partir de C++

Padrões da Microsoft “abertos e orientados a objetos” UDA (Universal Data Access): conjunto de padrões e API para acesso a vários tipos de dados transparentemente do seu suporte de armazenamento físico COM (Component Object Model): padrão de interfaces para vários tipos de serviços como métodos de (pseudo)-objetos sem ID nem atributos acesso a métodos via ponteiros, herança simples e simulada via includes OLE (Object Linking and Embedding): conjuntos de interfaces COM fornecendo serviços de acesso a dados de vários tipos (planhilha, BD, HTML, etc) a partir de C/C++ OLE DB: parte de OLE para acesso a BD OLE DB for OLAP: parte de OLE DB para acesso a BDMD ADO (ActiveX Data Objects): camada de UDA acima de OLE permintindo acesso “objetos” OLE a partir de outras linguagens MS como Visual J++ e Visual Basic ADOMD: parte de ADO para acesso a BDMD

MDX: sintaxe das consultas WITH membros virtuais calculados a partir de membros do cubo via operadores aritméticos, estatísticos, de agregação, de series temporais, de formatação de saída SELECT conjunto de membros de dimensões, hierarquias e níveis especificado via expressão de operadores OLAP (DrillDown, Filter, ...) de manipulação de conjuntos (CrossJoin, Union, Inter, Member ...) agregação (TopSum, TopCount, TopPercent, Order, ...) ON eixos de visualização planares: row, column, page, sections, chapters FROM cubo WHERE lista de membros de dimensões medidas, slice e dice.

Exemplos simples de uma consulta MDX WITH [Medidas].[Lucro] AS ‘[Medidas].[Vendas] * ([Medidas].[PrecoUnitario] - [Medidas].[CustoUnitario])’ SELECT NON EMPTY (CROSSJOIN ({[LojaLoc].[Pais].MEMBERS}, {[Tempo].[Ano].MEMBERS}) ON COLUMNS NON EMPTY {[ProdCat].[SubCat].MEMBERS} ON ROWS FROM Vendas WHERE ([Medidas].[Lucro]).

Consultas MDX sobre cubo de dados primitivos select {[DimGame].[Game].AllMembers} on columns, {[DimMode].[Description].AllMembers} on rows from PrimitiveCube where [Measures].[Occurrence] with member [Measures].[TrueValue] as '([Measures].[Occurrence]/22)' {crossjoin([DimGame].[Game].AllMembers, [DimAgent1].[Team].AllMembers) } on columns, where [Measures].[TrueValue] Modificar exemplo

Consultas MDX sobre cubo de dados derivados select {[DimGame].[Game].Allmembers} on columns, {[DimStatistic].[SubType].Allmembers} on rows from DerivedCube where [Measures].[Occurrence] {crossjoin([DimGame].[Game].AllMembers, [DimAgent1].[Team].AllMembers) } on columns, {[DimStatistic].[SubType].AllMembers} on rows Modificar exemplo