240 likes | 334 Views
Gerência de Transações em Sistema de Banco de Dados Móvel. Prof: Marcus Sampaio Aluna: Rute Cardoso Drebes. Sumário. Sistema de Banco de Dados Móvel Processamento de Dados em Sistema de Banco de Dados Móvel Modelos de Execução Modelos de Transação Considerações Finais.
E N D
Gerência de Transações em Sistema de Banco de Dados Móvel Prof: Marcus Sampaio Aluna: Rute Cardoso Drebes
Sumário • Sistema de Banco de Dados Móvel • Processamento de Dados em Sistema de Banco de Dados Móvel • Modelos de Execução • Modelos de Transação • Considerações Finais
Sistema de Banco de Dados Móvel • Um Sistema de Banco de Dados Móvel (do inglês, Mobile Database System - MDS) oferece completa funcionalidade de banco de dados e comunicação móvel; • Permite a um usuário móvel iniciar uma transação em qualquer lugar e a qualquer momento e garante a consistência preservada durante a execução; • Em caso de qualquer tipo de falha (transacional, do sistema, ou da mídia utilizada), MDS garante a recuperação do banco de dados;
Arquitetura de um MDS • A arquitetura de um MDS oferece as seguintes propriedades essenciais, que são: • Mobilidade geográfica; • Conexão e desconexão; • Capacidade de processamento de dados; • Comunicação sem fio; • Transparência;
Arquitetura de um MDS • Onde: • PSTN: Public Switched Network; • MSC : Mobile Switching Center; • O conjunto de PSTN e MSC’s conectam o MDS ao mundo externo; • HLR: Home Location Register; • VLR: Visitor Location Register; • Amazenam o perfil do usuário e sua localização geográfica; • BSC: Base Station Controller; • Coordenam as operações das BS’s; • DBS: Database Server; • BS: Base Station; • MU: Mobile Unit;
Tipos de Replicação de Dados • Três tipos básicos de replicação de bancos de dados são mostrados: • Sem replicação; • Replicação tradicional distribuída (réplica temporal); • Replicação dependente de localização (réplica espacial);
Execução de Transações em MDS • Fragmentação de uma transação em várias subtransações; • É necessário um módulo coordenador, para gerenciar a transação; • O que é necessário a um coordenador: • Comunicação direta e contínua com outros nós; • Energia contínua e ilimitada, e grande capacidade de armazenamento; • Alta confiabilidade e disponibilidade;
Processando uma Transação em MDS • Uma transação pode ser iniciada tanto no DBS (DataBase Server) ou no MU, ou pode ser iniciada por ambos. • Pode ser processada inteiramente em um nó (que pode ser tanto o de origem ou qualquer outro), ou pode haver mais de um nó envolvido na execução.
Processando uma Transação em MDS • Quando há mais de um nó envolvido na execução, algumas situações podem surgir: • Originada DBS; • Originada na MU; • Executada na MU e em um conjunto do DBS; • Processada somente em DBS; • Processada totalmente na MU; • Quando não é possível executar totalmente na MU, existem duas opções: • Transferir os dados necessários do DBS para o MU; • Distribuir a transação para um conjunto de nós;
Processando uma Transação em MDS • O movimento da MU torna a função do coordenador difícil; • Devido à mobilidade, são possíveis as seguintes situações: • Uma MU que não se movimenta; • Uma MU em movimento; • Processamento distribuído e MU em movimento;
Processando uma Transação em MDS • O serviço de um coordenador deve estar disponível continuamente para a MU durante a execução de uma transação. • Caso haja quebra de link, devido a mobilidade, existem duas maneiras manter o link: • Método estático; • Método dinâmico;
Processando uma Transação em MDS • Quando uma unidade é altamente móvel, torna-se difícil mantê-la conectada ao seu coordenador; • Soluções: • Definir um limite de permanência; • Migração não-adjacente;
Um Modelo de Transação para MDS • Como o modelo convencional de transação baseado nas propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade) não é capaz de gerenciar satisfatoriamente as tarefas de processamento móvel de dados, surge a necessidade de um novo modelo de transação para MDS. • Duas abordagens propostas: • Modelo de execução baseado em propriedades ACID; • Modelo de transação móvel e sua execução;
Modelo de Execução Baseado em Propriedades ACID • A introdução de mobilidade alterou significativamente a arquitetura de banco de dados; • É necessário compreender o relacionamento entre os dados, as operações que serão feitas nos dados, e a finalização da sua execução, para então poder desenvolver um modelo de execução; • Com a introdução de mobilidade, surgem as questões abrangendo consultas dependentes de localização, e de dados dependentes de localização;
Consulta Dependente de Localização • Consulta Dependente de Localização: • Depende da origem da consulta, ou o processamento da consulta depende da mobilidade; • Um exemplo de consulta dependente de localização: • “Qual a distância até o Aeroporto?” • A resposta correta para uma consulta depende da localização geográfica da consulta e da localização geográfica dos dados necessários para respondê-la;
Efeitos da Mobilidade na Consistência • No ambiente MDS, o conceito de consistência é mais complexo porque envolve a localização geográfica dos dados; • Uma transação pode modificar valor de dados que só serão válidos para uma específica região; • Uma operação idêntica de update (em localizações diferentes) pode ser submetida a diferentes parâmetros de restrição de consistência, que dependerão do local da manipulação dos dados;
Modelos de Execução Desenvolvidos • Existem vários modelos desenvolvidos, que diferem na maneira como esses fragmentos são executados e validados; • Alguns modelos desenvolvidos são : • Modelo de Consistência de Dois Níveis; • Pro-Motion: Gerenciamento Pró-Ativo de Transações Móveis;
Modelo de Consistência de Dois Níveis • Cria clusters de dados que sejam relacionados semanticamente ou por localização; • O modelo também permite que os usuários especifiquem condições para a criação dos clusters; • Mantém a consistência dos dados em nível de clusters (local) e em nível de banco de dados (global);
Pro-Motion: Gerenciamento Pró-Ativo de Transações Móveis • Modelo focado nas questões de recursos limitados; • Gerencia a execução com auxílio de Compactos; • Compacto é um objeto composto de: • Dados em cache; • Métodos de aceso; • Informação sobre o seu estado atual; • Prazos e obrigações; • Interface para que a MU possa gerenciá-lo;
Modelos de Transação Móvel • Como os Modelos de Execução possuem algumas limitações, posteriormente, Modelos de Transação Móvel foram desenvolvidos para abordar essas limitações. Alguns desses modelos são: • Kangaroo; • MDSTPM – Multidatabase Transaction Processing Manager;
Kangaroo • O modelo capta tanto os dados quanto o movimento das MU’s; • Uma transação Kangaroo global (KT) é composta de várias sub-transações, chamadas de Joey Transaction (JT); • Quando uma transação KT é iniciada por uma MU, ela recebe uma identificação única; • A BS onde a transação KT foi iniciada cria imediatamente uma sub-transação JT que se torna responsável por sua execução;
MDSTPM • O modelo dá apoio a transações iniciadas na MU; • Utiliza mensagens para estabelecer a comunicação entre a MU e BS; • Possui os seguintes componentes: • Gerenciador Global de Comunicação; • Gerenciador Global de Transação; • Gerenciador Local de Transação; • Gerenciador Global de Recuperação;
Considerações Finais • Como o modelo de transações baseadas em propriedades ACID não consegue gerenciar satisfatoriamente as tarefas de processamento móvel de dados, surgiu a necessidade de desenvolver um modelo que pudesse lidar com a mobilidade durante o processamento dos dados; • Os Modelos de Transação abordam a maioria das questões referentes a mobilidade; • Apesar de haver várias propostas de métodos, nenhum se tornou um método comumente aceito;
Referências KUMAR, Vijay. Mobile Database Systems. John Wiley & Sons, Inc., Hoboken, New Jersey.