• Nenhum resultado encontrado

Lista de Exercícios 13 Bancos de Dados Distribuídos/Data Warehouse

N/A
N/A
Protected

Academic year: 2021

Share "Lista de Exercícios 13 Bancos de Dados Distribuídos/Data Warehouse"

Copied!
5
0
0

Texto

(1)

UNIVERSIDADE DE SÃO PAULO

INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÃO

SCC0141 - Bancos de Dados e Suas Aplicações

Prof. José Fernando Rodrigues Júnior – 2º semestre de 2011

Lista de Exercícios 13 – Bancos de Dados Distribuídos/Data Warehouse

 A ser vistada em 28/11/2011

Nomes:_______________________________________________________________________________

BDD

1. Quais as vantagens e desvantagens dos SGBD Distribuídos em relação aos SGBD Centralizados?

Vantagens

 disponibilidade;  acesso distribuído  localidade  desempenho  análise distribuída de dados  escalabilidade.

Desvantagens

 Maior complexidade de projeto (fragmentação/replicação)  Necessidade de políticas de sincronização

 Necessidade de estrutura de rede

 Necessidade de software gerenciador do BDD

2. Qual diferença entre replicação síncrona e assíncrona incluindo, discutindo os problemas apresentados por cada uma delas.

 replicação síncrona: todas as cópias são atualizadas dentro de uma mesma transação problema? – tráfego intenso de rede

 replicação assíncrona: atualizações periódicas das cópias de dados modificados

problema? – controle de transação mais elaborado é necessário, alguns dados não tem garantia de consistência e não devem ser lidos

3. Discuta os tipos de transparência de dados em um SGBDD na perspectiva de operações de consulta e de atualização.

A transparência se refere à separação entre os detalhes de implementação e a semântica do sistema. Os detalhes de como o sistema é distribuído devem ser “escondidos” de quem o usa, sendo acessíveis apenas àqueles que o gerenciam.

 de distribuição localização nomenclatura

(2)

 todos os sites devem ser acessados independentemente de sua localização (sem que detalhes sobre a rede sejam necessários) física por meio de uma nomenclatura padronizada

 de replicação

 todos os sites devem acessar os dados com a suposição de que possuem a versão mais atualizada das informações; os usuários também não devem se envolver com as tarefas de replicação, ou mesmo ter conhecimento de que os dados são replicados

 de fragmentação horizontal (WHERE) vertical (SELECT)

 todos os sites devem acessar os fragmentos com a suposição de que possuem todas as informações de que precisam; as consultas devem ser executadas sem que seja necessário conhecer os problemas de otimização de consultas distribuídas

4. Consulte a apresentação da aula 21 e explique como funciona o controle de transações 2PC. 5. Considere as relações

Aluno = {Aluno_id (20 B), Nome (30 B), Sobrenome (40 B), Idade (10 B)}  site 1, 20 mil tuplas, 10% Idade > 20 Curso = {Curso_id (20 B), Nome_curso (30 B), Ementa (100 B)}  site 2, 50 tuplas

Matricula = {Aluno_id (20 B), Curso_id (20 B), Data(10 B)}  site 3, 200 mil tuplas,

cada aluno tem 10 matriculas Para a seguinte consulta

Site 1: SELECT Nome, Sobrenome, Nome_curso, Data FROM Aluno A, Matricula M, Curso C

WHERE A.Idade > 20 AND

A.Aluno_id = M.Aluno_id AND M.Curso_id = C.Curso_id;

Determine como a consulta distribuída poderia ser executada por meio de duas semi-junções simultâneas, calculando o tráfego da rede para cada etapa.

Site 1: C1 = SELECT Aluno_id FROM Aluno

WHERE Idade > 20;  2mil * 20 = 20 mil B  Site 3

Site 2: C2 = SELECT Curso_id, Nome_curso

FROM Curso;  50 * (20+30) = 2500B  Site 3 Site 3: C3 = SELECT Aluno_id, Nome_curso, Data

FROM C1, Matricula M, C2

WHERE C1.Aluno_id = M.Aluno_id AND

M.Curso_id = C2.Curso_id;  2mil * 10 * (20+30+10) = 1.200.000B  Site 1 Site 1: C4 = SELECT Nome, Sobrenome, Nome_curso, Data

FROM Aluno, C4

WHERE Aluno.Aluno_id = C4.Aluno_id; Tráfego total: 20.000 + 2.500 + 1.200.000 = 1.222.500 B

(3)

6. Considere as seguintes relações

Livros = {Num_livro, Autor_principal, Assunto, Estoque_total, preco}

Livraria = {Num_livraria, Cidade, Estado, CEP, Valor_estoque_total}

Estoque = {Num_livraria, Num_livro, Qtd, UltimaAtualizacao, Funcionario}

Estoque_total é o número total de livros em estoque e Valor_estoque_total é o valor de estoque total para a loja em reais.

a) Defina dois possíveis partiticionamentos horizontais para a relação Livraria.

- particionamento por um dos atributos Cidade, Estado ou CEP  localidade

- particionamento por faixas de Valor_estoque_total, de acordo com o tamanho das lojas  particionamentos de dados orientado a grande lojas e subsidiárias (hierarquização)

b) Como um particionamento horizontal derivado de Estoque seria baseado no particionamento de Livraria?

- o particionamento de Estoque poderia seguir o mesmo particionamento de Livraria por meio da chave estrangeira Num_livraria;

- por exemplo:

CREATE MATERIALIZED VIEW Estoque_cep_x AS SELECT Num_livraria, Num_livro, Qtd

FROM Estoque

WHERE Estoque.Num_livraria IN (SELECT Num_livraria FROM Livraria

WHERE CEP = ‘cep_x’);

c) Também é possível fragmentar verticalmente Estoque, quais atributos você escolheria? Escreva o correspondente SQL.

CREATE MATERIALIZED VIEW Estoque_vertical AS SELECT *

FROM Estoque

7. Considere a seguinte relação

Empregado = {Nome, Cidade, Salario, UnidadeDeLotacao}

fragmentada horizontalmente pelo atributo UnidadeDeLotacao. Assuma que os fragmentos encontram-se no site local (UnidadeDeLotacao) e também em um site central SP. Considerando o processamento distribuído de consultas, descreva como cada uma das seguintes operações será realizada a partir da UnidadeDeLotacao BH:

a) Encontre todos os empregados que estão na UnidadeDeLotacao RJ;

Envio da consulta SELECT Nome FROM EMPREGADO, para o site RJ Recebimento do resultado enviado pelo site RJ para o site BH.

b) Calcule a média salarial de todos os empregados;

Cálculo da média salarial no site central SP;

(4)

DW

1. Descreva o modelo de dados multidimensional. Explique a distinção entre medidas e dimensões, e entre tabelas de fatos e tabelas de dimensões. O que é um esquema estrela? Ilustre estes conceitos.

O modelo multidimensional é constituído por tabelas de contexto relacionadas a uma tabela central (fatos) segundo relacionamentos 1:N. Na tabela de fatos, as medidas são a informação de interesse para a análise, para a geração de relatório e para técnicas OLAP. O esquema estrela é a modelagem multidimensional mais simples e mais comum.

2. As informações sobre operações diárias de uma organização são armazenadas em bancos de dados operacionais. Por que seria usado um data warehouse?

O datawarehouse visa criar uma réplica dos dados operacionais: a partir de múltiplas fontes, limpos e validados, em um formato padronizado, e em armazenamento otimizado para operações de leitura.

3. Em um processo de data warehousing, explique o que são e quais são os principais aspectos a serem tratados nas seguintes tarefas: extração, transformação e carregamento.

Extração:

extração de múltiplas fontes;

consolidação e integração de dados de múltiplas fontes; Transformação (não necessariamente nesta ordem):

 seleção: escolha das colunas de interesse;

 limpeza: remoção da tuplas fora do escopo temporal, e dos interesses de análise; remoção de dados espúrios ou irrecuperáveis;

 validação: verificação da integridade, padronização, e consistência dos dados;  conversão dos dados para o modelo do DW: conversão de tipos, nomes e regras;

 remodelagem: tradução dos esquemas operacionais para o esquema histórico multidimensional;  derivação (processamento): cálculo de valores de interesse para análise, tais como totalizações,

produtos e sumarizações (agregações);

 normalização: quebra de atributos compostos e multi-valorados;

 de-normalização: junção de dados de diferentes relações seguindo o esquema do DW; Carregamento:

armazenamento de acordo com o modelo do DW; criação e manutenção de estruturas de dados; criação e manutenção de caminhos de acesso; tratamento de dados que variam no tempo; suporte a atualização.

4. Qual o relacionamento entre data warehousing e replicação de dados? Que forma de replicação (síncrona ou assíncrona) é mais eficiente para um DW? Por que?

Um DW é uma replicação dos dados operacionais. A replicação assíncrona é mais adequada, pois o dw trabalha com massivos volumes de dados históricos; assim, a atualização dos dados é mais eficiente se feita em lotes, bastando que os dados estejam atualizados com relação a um marco temporal de interesse, não com relação à base operacional.

5. Especifique um domínio de aplicação (diferente do que foi usado em aula) em que seria interessante a criação de um data warehouse. No contexto escolhido, especifique:

a. o propósito do DW;

Um banco, para o qual o DW ofereceria análises das operações dos clientes, especialmente sua movimentação financeira e os serviços consumidos.

(5)

b. a tabela de fatos e as tabelas de dimensões;

Fato = {Cliente_id, Tempo_id, Operacao_id, Nro_operacoes, Valor_operacoes, Custo_servicos} Cliente = {Cliente_id, Tipo_cliente (físico/jurídico), Nome}

Tempo = {Tempo_id, Ano, Mês, Dia}

Operacao = {Operacao_id, Tipo (Credito, Debito, Emprestimo,...), Variacao (CC, Poupanca, CI, ...)}

c. principais operações OLAP a serem aplicadas: indique a operação (drill-down, roll-up, etc...), ilustre uma consulta (semântica) associada à operação e mostre uma maneira de implementá-la em SQL. Explore os recursos ROLLUP e CUBE também.

6. Defina uma tabela, instancie dados (em torno de 20 tuplas) e calcule o resultado de uma operação GROUP BY CUBE e de uma operação GROUP BY ROLLUP sobre dois atributos.

7. As operações OLAP comuns são: roll-up, drill-down, pivoting, slicing e dicing. Descreva cada uma delas e ilustre com exemplos. Descreva, em termos gerais, como cada uma delas pode ser implementada em SQL.

Referências

Documentos relacionados

 A alocação dinâmica é muito utilizada em problemas de estrutura de dados como por exemplo, listas encadeadas, pilhas, filas, arvores binárias e grafos ...  O interessante

O segundo passo é idêntico ao segundo passo do algoritmo Huang , porém no algoritmo Aloc é criada uma lista LCO (Lista de Candidatas Ordenada) para cada fragmento, contendo todas

A baixa taxa de desconto ao longo dos anos de produção do campo, para o cálculo da função objetivo, aliada a baixa produção de água que a locação de

 Compreender a importância do domínio das técnicas da escrita para a produção de uma informação de qualidade e saber aplica-las às especificidades dos diferentes géneros

O PDE pretende ser mais que a tradugao instrumental do Piano Nacional de Educagao (PNE), por apresentar um bom diagnostico dos problemas educacionais, mas, deixa em aberto a.. 23

Todo ser humano é único e, por isso, toda sala de aula é um berço de diversidade. O que os sistemas educacionais fizeram ao longo dos tempos foi homogeneizar o sistema educacional

Como não se conhece parâmetros hematológicos do pacu-manteiga Mylossoma duriventre Cuvier, 1817, a proposta do presente estudo foi descrever tais parâmetros em espécimes

Membro_Faculdade (Matrícula: Inteiro, Nome: string[50], Carga: Inteiro, IniContrato: data, Curso: string[30], professor: booleano, aluno: booleano). Membro