Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouRaphaella Justo Alterado mais de 10 anos atrás
1
Um framework para a gerência de cache de Banco de Dados Móvel: Design and Avaliação Yuri A. Lacerda
2
Cronograma Introdução Mecanismo de Caching Caching Convencional Caching Móvel Conclusão Referências
3
Introdução Em um ambiente móvel os servidores de banco de dados enviam informações via wireless para diversos clientes. Clientes móveis podem possuir perfis variados: notebooks, palmtops, celulares, etc.
4
Introdução Database Server Mobile Client Rede Wireless
5
Introdução Canal de transmissão wireless: – Baixa largura de banda; – Instabilidade na conexão; Motivam: – Armazenar itens mais acessados do banco de dados em um cache no cliente móvel: Aumentar o desempenho ao realizar consultas Prover disponibilidade mesmo desconectado
6
Mecanismo de Caching Granularidade Estratégia de Coerência Políticas de Substituição
7
Mecanismo de Caching Granularidade: – Unidade que será armazenada no cache: Página Objeto Atributo Cache: Cliente c_a; Cliente c_c; Ex: Mobile Client
8
Mecanismo de Caching Estratégia de Coerência – Invalidar os itens que estão incoerentes no cache – Atualizar os itens inválidos
9
Mecanismo de Caching Estratégia de Coerência Database Server: Database: Cliente = { c1 ( João, Rua a); c2 ( Maria, Rua b); } Client A Client B Query q1
10
Mecanismo de Caching Estratégia de Coerência Database Server: Database: Cliente = { c1 ( João, Rua a); c2 ( Maria, Rua b); } Cache: c_c1 ( João, Rua a); return q1; Client A Client B
11
Mecanismo de Caching Estratégia de Coerência Database Server: Database: Cliente = { c1 ( João, Rua C); c2 ( Maria, Rua b); } Update c1 Client A Client B Cache: c_c1 ( João, Rua a);
12
Mecanismo de Caching Estratégia de Coerência Database Server: Database: Cliente = { c1 ( João, Rua C); c2 ( Maria, Rua b); } INCOERENTE! - Que estratégia usar para corrigir este problema? Client A Client B Cache: c_c1 ( João, Rua a);
13
Mecanismo de Caching Políticas de Substituição – O tamanho do cache é limitado Client A Cache: c_c1 ( João, Rua a); c_c3 ( Maria, Rua m); c_c4 ( José, Rua j); Database Server: Query q
14
Mecanismo de Caching Políticas de Substituição – O tamanho do cache é limitado Client A Database Server: c5 ( Francisco, Rua f); ESTÁ CHEIO! Cache: c_c1 ( João, Rua a); c_c3 ( Maria, Rua m); c_c4 ( José, Rua j);
15
Mecanismo de Caching Políticas de Substituição – O tamanho do cache é limitado Client A Database Server: c5 ( Francisco, Rua f); ESTÁ CHEIO! - Qual item substituir? Cache: c_c1 ( João, Rua a); c_c3 ( Maria, Rua m); c_c4 ( José, Rua j);
16
Caching Convencional Banco de Dados Cliente / Servidor – Tráfego é comparado ao acesso ao disco – Diminuir latência da rede Granularidade – Mecanismo de cache é baseado em Páginas – Servidor também é baseado em Páginas – Princípio da Localidade Vizinhos serão acessados num futuro próximo – Overhead compensa se vizinhos forem acessados num futuro próximo
17
Caching Convencional Por que não aplicar a MDS? – Alta perda de energia (Baterias) – Overhead devido a pequena largura banda – Espaço de armazenamento pequeno
18
Caching Convencional Estratégia de Coerência – O servidor possui conhecimento do cache de cada cliente e envia mensagem quando um item base é atualizado – Atualização do cache em cada cliente
19
Caching Convencional Estratégia de Coerência Database Server: Database: Cliente = { c1 ( João, Rua C); c2 ( Maria, Rua b); } Client A Client B Update c1 Local Network Cache: c_c1 ( João,Rua C);
20
Caching Convencional Estratégia de Coerência Database Server: Database: Cliente = { c1 ( João, Rua C); c2 ( Maria, Rua b); } Client A Client B Refresh Local Network Cache: c_c1 ( João,Rua C);
21
Caching Convencional Por que não aplicar a MDS? – Clientes trafegam livremente – Servidor pode não estar capaz de enviar mensagem para todos Database Server: MC 2 wireless Database: Cliente = { c1 ( João, Rua C); c2 ( Maria, Rua b); } Cache: c_c1 ( João, Rua a); Cache: c_c1 ( João, Rua a);
22
Caching Convencional Estratégia de Coerência – Solução Leases [2] Cada item no cache possui um refresh-time pré- estabelecido Ao expirar o item é atualizado Que valor utilizar? – Muito Alto: Pode ter itens desatualizados – Muito Baixo: Atualizações e muito tráfego desnecessários Deveria ser adaptado automaticamente.
23
Caching Convencional Políticas de Substituição – Algumas soluções existentes Least Recently Used (LRU); – LRU-k Least Reference Density (LRD); Optimal; CLOCK; WORST; Entre outras
24
Caching Móvel - Modelo Sequência Database server (S) Mobile client (S) Início da Query (Q) Envio de Q para o servidor Avaliação da Query Identificados itens locais qualificados (i) Identificados todos os itens qualificados (I) Envio de i para o servidor (I – i) Itens qualificados para serem enviados para o cliente Identificados todos os itens qualificados Políticas de Substituição
25
Caching Móvel - Modelo Paradigma ponto-a-ponto Banco de Dados Orientado a Objetos – Não impede que se use para Relacional
26
Caching Móvel - Modelo Cache Table – É um mini banco de dados que pode ser manipulado pelo servidor. – Estrutura: Database serverMobile client X attribute a attribute b attribute c Remote (R_oid,R_host) Cache X C_X attribute c_a attribute c_b attribute c_c method a() method b() method c() substituto x
28
Caching Móvel - Modelo Granularidade – Caching de Atributo – Caching de Objeto – Caching Híbrido
29
Caching Móvel - Modelo Caching de Atributo – O servidor só retorna para o cliente aqueles atributos que foram requisitados – Exemplo: Select x.name, x.city from x in Places to Stay where x.vacancy > 0 Consulta retorna dois objetos: x e y
30
Caching Móvel - Modelo CACHE Places To Stay c_vacancy Substituto x
31
Caching Móvel - Modelo CACHE Places To Stay c_vacancy Substituto x Server x.name x.city y.name y.city y.vacancy
32
Caching Móvel - Modelo CACHE Places To Stay c_vacancy Substituto x Server x.name x.city y.name y.city y.vacancy
33
Caching Móvel - Modelo CACHE Places To Stay c_name c_city c_vacancy Substituto x Substituto y Server
34
Caching Móvel - Modelo Caching de Objeto – Clientes móveis tendem a ter os objetos acessados mais frequentemente – Possuir todo o objeto pode evitar futuros acessos no servidor
35
Caching Móvel - Modelo Caching Híbrido – Armazena apenas os atributos de um objeto qualificado com uma grande probabilidade de ser acessado futuramente; – Probabilidade de Acesso Futuro ao Objeto > Threshold E
36
Caching Móvel Coerência de Cache – Cada cliente é responsável por se invalidar – Mesma estratégia de Leases, Refresh Time (RT), unido a heurísticas – Cada item tem seu RT baseado na probabilidade de ser atualizado: Caching de Atributo e Caching Híbrido: Atributos com RT. Caching de Objeto: Objeto com R.T.
37
Caching Móvel Estimativa do RT – X: item do cache – dx: duração da inter-chegada entre escritas – dx: média de Dx – Sx: desvio padrão – βx: frequência de atualização de x RT = dx + βx.Sx t 0 5 10 15 20 25 30 35 W(x) W(X) = Write (X)
38
Caching Móvel Erro False Alarm Servidor Cliente Servidor Cliente t t t t Refresh(x) W(x) Refresh(x) Não houve escrita!
39
Caching Móvel Políticas de Substituição – Mean Armazena a média de acesso de cada item Problema: Não descobre a mudança rapidamente t 0 5 10 15 20 25 30 35 A(x) A(X) =Acessa (X) Média de todos os acesso de cada item
40
Caching Móvel – Window Armazena uma janela dos valores inter-operações Problema: Necessita armazenar uma janela para cada objeto ou atributo t 0 5 10 15 20 25 30 35 A(x) A(X) =Acessa (X) Janela: 10 5 Média dos últimos acessos
41
Caching Móvel – Exponentially Weighted Moving Average Resolve o problema da janela Adiciona pesos aos valores inter-operações
42
Simulações Não foram exaustivos Perfil do comportamento: – Granularidade Caching Híbrido possuiu desempenho superior: – Alta taxa de acertos – Baixo tempo de resposta – Baixa taxa de erros – Baixo taxa de alarmes falsos
43
Caching Móvel – Políticas de Substituição EWMA-0.5 desempenho bastante estável em diversos cenários; LRU, LRU-3 e LRD também possuíram um desempenho satisfatório para alguns cenários.
44
Conclusões Proposto um mecanismo para prover desempenho Caching baseado em paginas não é adequado Foi proposto um caching baseado em atributos, objetos ou híbrido. Estratégias de coerências e políticas de substituição que se adaptam a forma de acesso
45
Referências [1] B. Y. Chan, A. Si, H. V. Leong, A Framework for Cache Management for Mobile Databases: Design and Evaluation. 2001. [2] C.G. Gray and D.R. Cheriton, Leases: An efficient fault- tolerant mechanism for distributed file cache consistency, in Proceedings of SOSP, 1989, pp. 202–210.
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.