130 likes | 201 Views
Modelo de Multiversão. MVCC - MultiVersion Concurrency Control. Alunos: Ronald Bertele Sidinei da Silva.
E N D
Modelo de Multiversão MVCC - MultiVersion Concurrency Control
q Sistema de controle de concorrência para aplicações concorrentes altamente escaláveis, onde ele visa manter a consistência dos dados em um Sistema Gerenciador de Banco de Dados; q Existem muitos Bancos de Dados que utilizam este tipo de controle como o PostgreSql, Firebird, HiperSonic, Oracle, SyBase, ZoDB entre outros;
Vantagens q Os processos de leitura não bloqueiam processos de escrita e vice-versa; q Ele reduz drasticamente (às vezes, eliminando) a contenção entre transações concorrentes; q Ele diminui a paralisação parcial ou completa (deadlock);
Vantagens Este modelo tem como objetivo auxiliar na implementação do padrão ACID (atomicidade, consistência, isolamento e durabilidade); Este modelo garante melhora de performance em um ambiente onde vários usuários podem estar acessando os mesmos dados.
Desvantagens O MVCC ocasiona o aumento do tamanho das tabelas de forma muita rápida.
Tipos de MVCC Visão Pessimista PostgreSql Visão Otimista ZODB
Funcionamento Estado Inicial
Funcionamento Comando Sql que será Executado UPDATE FROM Clientes SET Debito = Debito - 2500 WHERE cod = 2;
Funcionamento Estado Final
comandoVACUUM Manutenção • Limpa asujeira das tabelas, e evita que fiquem vácuos nos locais onde existiam registros; • Quando executado, ele faz uma varredura na tabela em busca de dados marcados como inúteis e exclui-os, posteriormente, realoca os registros de forma que não fiquem espaços entre dois registros; • Dependendo da forma que for usado, ele atualiza as estatísticas utilizadas pelo otimizador para determinar o modo mais eficiente de executar uma consulta no PostgreSQL.