Beruflich Dokumente
Kultur Dokumente
Conceitos bsicos
Prof. Renato Fileto Departamento de Informtica e Estatstica (INE) Universidade Federal de Santa Catarina (UFSC)
Tpicos
Conceitos bsicos Sistemas de Suporte Deciso Data Warehouses (DWs)
Processos Decisrios
passado presente futuro tempo
OLTP vs. OLAP Modelo Dimensional e operadores OLAP (drill-down, roll-up, etc.) Diretrizes gerais, fases do desenvolvimento e tarefas envolvidas Estudo de Caso: DWs para a agricultura
tomada de decises
BD Transacional
Atividades cotidianas Operacional OLTP Incluso, alterao, excluso Operadores (muitos) Aes pr-definidas Operacionais Pode ser alto (MB GB) 60 a 90 dias Detalhada (baixa) No ocorre (s p/ eficincia) Esttica Mnima o desejvel Contnua (tempo real) Transao Poucos - por transao Poucos/simples Localizar um registro
BD Suporte Deciso
Anlise do negcio Informativo OLAP Carga e consulta Gerncia (poucos) Pr-definida e ad-hoc Analticos Muito alto (GB TB) vrios anos Detalhada e consolidada (alta) Pode ocorrer Varivel Constante Peridica (snapshots - retratos) Cada atualizao Muitos - para consolidao Muitos/complexos Agilizar consultas
Definies
Data Warehouse - DW (W. H. Immon)
Coleo de dados orientada a assuntos, integrada, com sries temporais e no voltil, voltada para o apoio tomada de deciso.
Data Warehousing
Processo de construo e uso de DWs.
Caractersticas de um DW
Orientado a assuntos: por exemplo, vendas de produtos a diferentes tipos de clientes, atendimentos e diagnsticos de pacientes, rendimento de estudantes Integrado: diferentes nomenclaturas, formatos e estruturas das fontes de dados precisam ser acomodadas em um nico esquema para prover uma viso unificada e consistente da informao Sries temporais: o histrico dos dados por um perodo de tempo superior ao usual em BDs transacionais permite analisar tendncias e mudanas No voltil: os dados de uma data warehouse no so modificados como em sistemas transacionais (exceto para correes), mas somente carregados e acessados para leituras, com atualizaes apenas peridicas
Metadados
Data Warehouse
Integrao
Fonte 1
Fonte 2
Fonte 3
Arquitetura de um DW
Cliente 1
resultados
Cliente 2
... ...
Cliente N
ADM
I t e r f a c e
DataMart 1
DataMart M
...
Data Warehouse ETC Catlogo de Metadados
atualizaes
Fonte 1
Fonte 2
...
Fonte K
Tempo
Clulas ordinrias (brancas) tm dados no nvel mnimo de granularidade para todas as dimenses Faces cooloridas com dados agregados (count, sum, max, etc.) nas respectivas dimenses
Sales Fact
time_key item_key branch_key location_key units_sold dollars_sold avg_sales
item_key item_name brand type supplier_type location location_key street city province_or_street country
Measures
17
18
Hierarquias de dimenses
(podem ser normalizadas) normalizadas)
sType
item
Sales Fact
time_key item_key branch_key
supplier
supplier_key supplier_type
store
city
region
sType tId t1 t2 size small large location downtown suburbs
branch
branch_key branch_name branch_type
location
location_key street city_key
store storeId s5 s7 s9
tId t1 t2 t1
city
cityId sfo la
pop 1M 5M
city
city_key city province_or_street country
region regId nam e north cold region south warm region
item
Shipping Fact
time_key item_key shipper_key from_location
Sales Fact
time_key item_key branch_key
Tabela Fato
sale prodId p1 p2 p1 p2 storeId c1 c1 c3 c2 amt 12 11 50 8
Cubo
p1 p2 c1 12 11 c2 8 c3 50
branch
branch_key branch_name branch_type
location
location_key street city province_or_street country
shipper
shipper_key shipper_name location_key shipper_type
22
Measures
Agregao de dados
Quantidade vendida no dia 1 SELECT sum(amt) FROM SALE WHERE date = 1
sale prodId p1 p2 p1 p2 p1 p1 storeId c1 c1 c3 c2 c1 c2 date 1 1 1 1 2 2 amt 12 11 50 8 44 4
Tabela fato
sale prodId p1 p2 p1 p2 p1 p1 storeId c1 c1 c3 c2 c1 c2 date 1 1 1 1 2 2 amt 12 11 50 8 44 4
Cubo
day 2 day 1
c1 c2 c3 p1 44 4 p2 c1 c2 c3 p1 12 50 p2 11 8
81
24
sale
sale
prodId p1 p2 p1 p2 p1 p1
storeId c1 c1 c3 c2 c1 c2
date 1 1 1 1 2 2
amt 12 11 50 8 44 4
ans
date 1 2
sum 81 48
prodId p1 p2 p1
date 1 1 2
amt 62 19 48
rollup drill-down
25
26
Operadores OLAP
Slice: Projeta valores especficos de uma dimenso (extrai uma fatia do hypercubo) Dice: Slices consecutivos (extrai hypercubo menor) Roll-up (drill-up): sumariza dados, subindo na hierarquia de uma dimenso Drill-down (roll-down): reverso de roll-up, isto , detalha os dados, descendo na hierarquia de uma dimenso Pivot: muda posio ou orientao da dimenses na projeo bidimensional de dados do hypercubo
27
Slice
28
DrillDrill-down
Visualizao no OpenI
(Felipe Shigunov, UFSC, 2007) Shigunov,
Drill Down
usado para solicitar uma viso mais detalhada de um conjunto de dados. Pode-se dizer que o usurio "mergulha" nos dados.
Roll Up
Consiste na operao inversa ao Drill-Down, ou seja, apresenta os dados cada vez mais agrupados ou sumarizados.
Pivoting
Serve para adicionar ou rearranjar as dimenses das tabelas
Tpicos
Conceitos bsicos
Planejamento Levantamento das necessidades e fontes de dados Integrao de dados Modelagem dimensional Projeto fsico do banco de dados Projeto das transformaes de dados (ETC) Desenvolvimento de aplicaes Validao e teste Treinamento Implantao
Modelagem Dimensional
crtica para o sucesso de uma DW diferente da modelagem de dados convencional
A forma como o usurio visualiza e manipula os dados (organizao em hipercubo) deve prevalecer A implementao pode ser em SGBDs especficos para DW ou relacionais/convencionais (verificar a forma como so realizadas junes e outras operaes) Diagramas em estrela e floco de neve so utilizados para a implementao de bancos de dados em hypercubos sobre o modelo relacional Normalizao pode ser dispensada, especialmente nas dimenses, por questes de eficincia Abordagem top-down
1. 2. 3. 4. 5. 6.
Aditivas: faz sentido adicionar (e.g., valor) Semi-Aditivas: faz sentido somar em certas dimenses (e.g., qtde. vendida no tempo/espao, qtde. de chuva s no tempo) No Aditivas: no faz sentido somar (e.g., valor-venda/custo)
Escolher um DataMart (definido por uma tabela fato e as dimenses associadas, para iniciar o desenvolvimento)
Tarefas de ETC
Filtragem de dados: para eliminar erros e elementos indesejados Integrao de dados: correlaciona dados de fontes heterogneas com os da data warehouse
BDs legados
ETC
Flat Files
DW
SGBD Relacional SGBD OO/Relacional BD dedutivo Flat files
Converso de dados: procedimentos para transformao entre formatos e unidades Condensao de dados: para reduzir o volume e/ou agilizar o processamento Derivao de dados: define frmulas para produzir novos valores a partir dos existentes
Externos
ETL Steps
Capture = extractobtaining a snapshot of a chosen subset of the source data for loading into the data warehouse
Incremental extract = capturing changes that have occurred since the last static extract
Transform = convert data from format of operational system to format of data warehouse
Load/Index= place transformed data into the warehouse and create indexes
RecordRecord-level:
Selection data partitioning Joining data combining Aggregation data summarization
FieldField-level:
single-field from one field to one field multi-field from many fields to one, or one field to many
Qualidade de Dados
Preciso: grau de correo (e.g., casas decimais) Consistncia: grau de coerncia entre os dados Integridade: no falta pedaos do banco de dados e no h dados corrompidos Abrangncia: escopo do banco de dados como um todo (e.g., intervalo de tempo, espao geogrfico coberto, gama de produtos) Granularidade: escopo mnimo de cada valor de dado (e.g., valores totais, mnimos e/ou mximos para cada hora ou cada dia)
DW Centralizado
DW Descentralizado
Data marts:
Mini-warehouses, limited in scope
L L T E
One, companywide warehouse
T E
Separate ETL for each independent data mart Data access complexity due to multiple data marts
51
T E
Single ETL for enterprise data warehouse (EDW) Simpler data access Dependent data marts loaded from EDW
T E
Near real-time ETL for @active Data Warehouse
Data marts are NOT separate databases, but logical views of the data warehouse Easier to create new data marts
A equipe de desenvolvimento de um DW
Funo
Gerente da data warehouse Arquiteto de dados Administrador de metadados Administrador do BD Usurio de nvel gerencial Analista de suporte deciso Especialista em aplicaes OLTP Analista e programador de converses Especialista em suporte tcnico Instrutor
Responsabilidades
Definio das estratgias, planejamento e gerenciamento Anlise dos requitos de dados, modelagem de dados e definio de vises Definio dos padres de metadados e gerenciamento do catlogo de metadados Criao das estruturas fsicas e monitoramento da carga de dados e desempenho das consultas Descrio dos dados necessrios, especificao das regras do negcio e teste dos resultados Desenvolvimento de aplicaes de suporte deciso Ajuda na localizao dos dados e uso dos recursos de consulta (dump) nos sistemas transacionais Indicao e catalogao das fontes de dados e desenvolvimento de programas para carga de dados Atividades tcnicas como instalao e configurao de hardware e software Treinamento dos usurios para utilizao da data warehouse
Crop Production
planted area production unit monetary_value
DW Produo Agrcola
(Renato Deggau, Epagri/UFSC, 2009) Deggau, Epagri/UFSC,
Territorial Divisions country region state county location
Climate Data
Time year month week day
Climate Attributes
Max Temp Min Temp Avg Temp Total Rainfall
10
Country Region Macro Region State State Region County Locality Geo-Point
Polygons of Territorial Subdivisions
Brazil
Brazil
Official Region
Center North
North-East
South
South-East
Official Region
Amazon
Center-South
Northeast
State
DF GO MS MT
AM AP
AL BA
PR RS SC
ES MG RJ SP
State
AM AP PA
DF ES GO RJ SC SP
AL BA CE
State Region
State Region
County
Florianpolis
County
Alto Paraso
Rio de Janeiro
Ubatuba
GeoPoint
GeoPoint
1400800 S 4703030 W
2201900 S 4201700 W
2302300 S 4500700 W
Calendar Time
Years Period
1997-2001
Year
1997
1998
1999
2000
2001
2002
Trimester
week
5 days
Month Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
Day Hour
Day 1 2 3 29
11
Stage
Emergence
Development
Blooming
Grain Filling
Maturation
Stage
Development
Production[1,...]
Phase
Ps-emergence
Middle Development
Pr-Blooming
Phase
Dormence
Blooming
Grain Filling
Maturation
Period 5 days
1st.Per. 2nd.Per. 3rd.Per. 4th.Per.
Period 10 days
D[1,...] D[(1,1),(1,2),...] B[(1,1),(1,2),...]
Plant
RNA
Kind
Grain
Fruit
Vegetable
Institution
Embrapa
Unicamp
IAC
Crop
Group
Carioca black
Combining Repositories
C1 C2
Abstraction Aggregation
I3
Scope
fuse data
Institutional Repositories
I2 I1 I3a I3b
Detail Precision
Weather Measures
12
WeatherSample at Measures has Lat Long un DegreeMinSec Rainfall un mm has Temp un Celsius in Loc in City Lat un
at Position in Loc
DegrDec
Data Integration
SP.Water Balance at
Position Measures
Water Balance
So Paulo State
WSamples_BR
Position
Loc DD=f(DMS) DegrDec WSamples-SP mm Celsius Lat Long Rainfall Temp
in id Loc
WSamples_MG
id Long Period
Lat
Position
Measures
Position
Values
un Celsius Degrees
Loc
Lat
Long
Rainfall
Temp
Loc
Lat Long
Alt
DegreeMinSec
DegreeMinSec
mm
Celsius
City
DegrDec
Meters
mm
Celsius
...
Dec
Water Balance
Minas Gerais State
MG.Water Balance at Position in id Loc in un City un Meters Year id id Altitude ComposedOf
in Position over id id Period Location Latitude Longitude Rainfal RNA.Water Balance at
Water Balance
Data Integration
ComposedOf Values PartOf ETP un Month Millimeters
MG.Water Balance at Position PartOf over in id Loc in City Lat id id Period P ETP ETR DEF EXC T un Celsius Degrees Long Altitude ComposedOf Values PartOf
ETR
Def
Exc
un
un Year
One Of Part Of
SigDegrDec
SP.Water Balance
Latitude Longitude
Period OneOf
ETP
ETR
DEF
EXC
T
at Position
ComposedOf Values over Per One Of Year Part Of Month One Of Dec ... un Millimeters
un Celsius Degrees
Rainfall Evap ER PEP Arm Exc Def Alt AvTemp un Celsius Degrees
un
un
DegreeMinSec
...
Dec
Jan Feb
One un Of un un Year Month Part Millimeters SigDegrDec Meters Of One Of ... Dec Jan Feb
13
Selecting on a Dimension
Target
[State(SP)]
(Lat,Long) IN SP (Source)
Source
[Country(BR]]
Source
[State(SP)]
Target
Crop Production
Total production unit Avg value
[Year,State]
(Source)
Year,State (Source)
Source
Crop Production
production unit monetary_value [Country(BR), Fruits, Per(1997-2002)]
[State(SP)]
Source
Climate Attributes Avg Temp
[Month,County]
Relevant Measure
Freezing Risk
ISP(Source)
[State(SP)]
FR = f(MinTemp,Alt)
Source
Climate Attributes Latitude Longitude Rainfall
[State(SP)]
[State(SP)]
Source 1
Climate Attr
Min Temp
Source 2
Relief
Alt. Distr.
14
Tpicos
Conceitos bsicos
Componentes tpicos de um DW
Ferramentas para Extrao, Transformao e Carga (ETC ) para facilitar a integrao e assegurar a qualidade dos dados carregados (e.g., Keetle, GeoKettle) Mecanismos de interoperabilidade para fontes de dados heterogneas (e.g., gateways como ODBC e JDBC, wrappers e mediadores) Sistema de gerenciamento de bancos de dados (com bom desempenho e segurana!) Catlogo de metadados (necessrio para documentar e compreender os dados e suas transformaes) Gerenciador de DataMarts Servidor OLAP (e.g. Mondrian) Gerador de interfaces cliente na Web (e.g. Jpivot)
Wrappers e mediadores
Implementao de OLAP
ROLAP Relacional MOLAP Multidimensional
Wrapper
Cliente
Fonte 1
Fonte 2
Fonte 3
HOLAP Hibrido
Arquitetura Geral
15
Critrios Gerais
Ferramentas de ETC
Servidores OLAP
Implementao (ROLAP, MOLAP, etc) Fontes de dados Limpeza de dados Abrangncia dentro do processo
16
Clientes OLAP
Suites de ferramentas
Licenas
GNU General Public License (GPL) GNU Library General Public License (LGPL) Common Public License (CPL) Mozilla Public License Apache License BSD License
Mondrian
Busca os dados de um sistema de gerenciamento de banco relacional e apresentando o resultado no formato multidimensional Executa consultas a ele submetidas na linguagem MDX. O formato de sada processado por seus clientes OLAP
Mondrian
Arquitetura:
17
Mondrian
Instalao e configurao
Disponvel no SourceForge. Definir o esquema do cubo multidimensional O esquema descrito por um documento XML
JPivot
uma biblioteca JSP para a interao do usurio com servidores OLAP via Web O JPivot permite aos usurios submeter consultas a servidores OLAP e explorar a resposta obtida atravs de uma interface grfica
JPivot
Arquitetura
Suporta diversos servidores OLAP Tipos de conexo com servidores:
Acesso atravs de XMLA Acesso atravs de um Driver JDBC
JPivot
OpenI
OpenI suite de BI (Business Intelligence) Open Source baseada em tecnologia J2EE para analise OLAP Compatvel com servidores OLAP que utilizam o protocolo XMLA Propsito de ser uma ferramenta fcil e intuitiva para executar operaes OLAP.
OpenI
Arquitetura
O componente de conexo O componente de Relatrio Componente de interface O Componente de Segurana
18
OpenI
Arquitetura
OpenI
Instalao e Configurao
Aplicao Web que funciona em qualquer servidor de aplicao J2EE Segurana do OpenI baseada na segurana do servidor de aplicao J2EE Utiliza o conceito de projetos para definir uma coleo especfica de relatrios OLAP
OpenI
Criao de anlise
Pentaho
Objetivo de fornecer solues para os problemas em BI Arquitetura orientada a servios e centrada em processos Engloba componentes responsveis por relatrios, anlises, minerao de dados, ETC, entre outros
Pentaho
Arquitetura:
Componentes maduros Projetos consolidados em cdigo aberto Facilmente substitudos por outros produtos Padro de servidor web J2EE Repositrios de dados externo a plataforma Pentaho
Pentaho
Componentes:
Servidor OLAP Mondrian Front-End jPivot Analysis Shark e JaWE Workflow Kettle EII e ETL Servidor de aplicao JBoss, Hibernate e Portal Weka Data Mining Eclipse Workbench e BIRT reporting components JOSSO single sign-on and LDAP integration Mozilla Rhino Javascript Processor
19
Pentaho
Visualizao atravs do JPivot
SpagoBI
Suite que engloba todos as etapas do processo de BI. Desde o ETC chegando at as ferramentas de Data Mining Ferramentas adicionadas como componentes dentro de um portal
SpagoBI
Arquitetura
SpagoBI
Instalao
Arquivo executvel instala o Portal e os componentes necessrios para o funcionamento da plataforma.
Spago BI
BEE Project
Suite que reune uma ferramenta ETC, um servidor OLAP e duas opes de cliente, um desktop e um web
20
BEE Project
A instalao do BEE Project a mais complexa entre as ferramentas analisadas, e exige, entre outros, a compilao do cdigo fonte PERL. Alm disso a documentao muito deficiente o que dificulta e toma muito tempo. Por esses motivos esse trabalho analisou o BEE project apenas atravs da documentao disponvel e a instalao no foi realizada.
BEE Project
Pentaho Mondrian Mtodo de Armazenam ento JPivot OpenI No se Aplica Rolap No se Aplica No se Aplica
BEE Project
SpagoBI
No se Aplica
No se Aplica
Varias (JVM)
Varias (JVM)
Varias (JVM)
Varias (JVM)
Varias (JVM)
Formas de Conexo Disponveis Linguagem de Consulta Formas de Conexo com Servidor Gerencia de anlises
XMLA, JDBC
No se Aplica
No se Aplica
No se Aplica
No se Aplica
No se Aplica
Java CPL
C, Perl GPL Pouco Amigvel Perl DBI/DBD, MySQL, Oracle, PostgreSQL (pgsql)
Java GPL
MDX
MDX
MDX
No se Aplica
No se Aplica
No se Aplica
Usabilidade
Amigvel
Amigvel
No se Aplica Sim
SGBD suportado
JDBC (todos)
No se Aplica
No se Aplica
JDBC (todos)
JDBC (todos)
Componente Servidor
Ferramentas proprietrias
Microsoft (SQL Server + Analysis Services) Oracle IBM Informix Cartelon NCR Red Brick Sybase SAS Microstrategy Corporation Pentaho verso comercial :
125
Tpicos
Conceitos bsicos
21
DWs espaciais
Problemas em aberto:
Integrao do modelo dimensional com algum modelo espacial:
Modelagem Operadores Implementao de sistemas integrados
Operadores em SIG
Operadores: Egenhofer props:
disjunto de ... encontram... igual a ... dentro de ... contm ... cobre ... coberto por ... sobreposio
Operadores em SIG
Unrio com resultado espacial:
Operadores em SIG
Binrio com resultado escalar: Distncia rea
22
Proposta de nova classificao Funes de agregao classificadas de acordo com o tipo da funo e com o tipo de retorno: Distributivas, Algbricas e Holsticas X Escalar e Espacial
Algbrica escalar:
AvgArea(), StdvPerimeter(), MaxNArea()
Algbrica espacial:
MaxNAt_North_Of(), MaxNAt_South_Of() :
Ex.: A partir de uma figura (A), indicar quantos objetos tocam e quantos esto disjuntos (B)
Integrando FerramentasConcluso e SIG OLAP - Trabalhos relacionados (Carlos Eduardo Costa e Jos Felipe Neis, UFSC, 2007) Neis,
Vista tabular
Vista geogrfica
23
Reclassificaes no tempo
(Francisco M. Arboletta, Un. Colombia Medelin , 2009) Arboletta, 2009)
AC Milan
24
Histrico de Reclassificaes
(Francisco M. Arboletta, Un. Colombia Medelin , 2009) Arboletta, 2009)
Measures
Tpicos
Conceitos bsicos
What was the total number of goals scored by P1 in his first and last seasons in Team1? In his first three seasons in Team1? In his last two seasons in Team1? Which was the season (dates, number of season, and team), where the total number of goals scored by P1 was the highest? What was the total and average number of goals scored by each player in each season for each team?
Concluses e referncias
Concluses
DWs permitem a integrao de dados e a execuo de anlises detalhadas e dinmicas (OLAP) da informao, na forma de tabelas, grficos e mapas para apoio tomada de deciso A disponibilidade de ferramentas livres ou de baixo custo para a implementao de DWs abre oportunidades para a aplicao desta tecnologia em pequenos e mdios empreendimentos Aconselha-se o desenvolvimento de DWs de forma gradual, ao invs de tentar alcanar todos os objetivos de uma nica vez
Concluses (II)
Padres de sistemas abertos possibilitam a interoperabilidade de componentes na Web (SGBDs, servidores OLAP, servidores e interfaces para tabelas, grficos e mapas, etc.) Diversas aplicaes requerem tratamento especial das dimenses espao e tempo, gerando desafios na integrao com GIS e uso de tcnicas de BDs temporais Semntica pode auxiliar na integrao de dados e projeto de aplicaes de DWs (e.g., gerao de DMs)
25
Links teis
Sutes de ferramentas para DWs
http://www.pentaho.org/ http://spagobi.objectweb.org/ http://www.microsoft.com/sqlserver/2008/en/us/default.aspx http://www.microsoft.com/sqlserver/2008/en/us/wp-sql-2008analysis-services.aspx http://openi.sourceforge.net
Referncias bibliogrficas
Inmon, W.H. Tech Topic: What is a Data Warehouse? Prism Solutions. Volume 1. 1995. Kimball. The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling (Second Edition)", Wiley, 2002. Kimball, et al. The Data Warehouse Lifecycle Toolkit, Wiley, 1998. Kimball and Caserta. The Data Warehouse ETL Toolkit, Wiley. 2004. Bernard Lupin. Try OLAP! 2007. Daniel Lemire. Data Warehousing and OLAP - A Research-Oriented Bibliography, 2007.
XMLA
http://www.xmla.org http://www.xmlforanalysis.com/ http://msdn2.microsoft.com/en-us/library/ms187178.aspx
Gray, Jim; Bosworth, Adam; Layman, Andrew; Priahesh, Hamid. Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals. Proceedings of the 12th International Conference on Data Engineering. IEEE., 1995. 152-159. Gartner Reveals Five Business Intelligence Predictions for 2009 and Beyond. http://www.gartner.com/it/page.jsp?id=856714.
26