Modelo de Multiversão

Post on 15-Jan-2016

33 views 0 download

description

Modelo de Multiversão. MVCC - MultiVersion Concurrency Control. Alunos: Ronald Bertele Sidinei da Silva. - PowerPoint PPT Presentation

Transcript of Modelo de Multiversão

Modelo de Modelo de MultiversãoMultiversão

MVCC - MultiVersion MVCC - MultiVersion Concurrency ControlConcurrency Control

Alunos: Ronald Alunos: Ronald BerteleBertele

Sidinei da Sidinei da SilvaSilva

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;

Existem muitos Bancos de Dados que utilizam este tipo de controle como o PostgreSql, Firebird, HiperSonic, Oracle, SyBase, ZoDB entre outros;

VantagensVantagens Os processos de leitura não bloqueiam processos de escrita e vice-versa;

Ele reduz drasticamente (às vezes, eliminando) a contenção entre transações concorrentes;

  Ele diminui a paralisação parcial ou completa (deadlock);

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.

VantagensVantagens

DesvantagensDesvantagens

O MVCC ocasiona o aumento do tamanho das tabelas de forma muita rápida.

Tipos de MVCCTipos de MVCC

Visão Pessimista

PostgreSql

Visão Otimista

ZODB

FuncionamentoFuncionamento

Estado InicialEstado Inicial

FuncionamentoFuncionamento

Comando Sql que será Executado Comando Sql que será Executado

UPDATE FROM Clientes SET Debito = Debito - 2500 WHERE cod = 2;

FuncionamentoFuncionamento

Estado FinalEstado Final

comandocomando VACUUMVACUUM

Limpa a sujeira 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.

ManutençãoManutenção

Exemplo do VacuumExemplo do Vacuum

Dúvidas???Dúvidas???