Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Controle de Concorrência MySQL
Alcion Edigar Weizmann
Luis Eduardo Mendes Merino
Rafael José de Miranda Sobrinho
Ramon Nicolas Beiler 
Conformidade ACID
● A : Atomicidade - Tudo ou nada;
● C: Consistência - Restrição de integridade;
● I: Isolamento - Acesso simultâneo garantido;
● D: Durabilidade - Persistência de dados;
Transações implícitas
● Transações implícitas ocorrem quando alguns comandos são enviados ao 
SGBD e o próprio SGBD realiza um COMMIT.
● Estes são comandos que execução uma transação implícita:
● ALTER TABLE, BEGIN,START TRANSITION,CREATE INDEX, DROP INDEX,DROP 
TABLE,LOCK TABLES, UNLOCK TABLES, LOAD DATA INFILE ,RENAME TABLE.
 
Transações explícitas
● Transações explícitas ocorrem quando determinamos o início e o fim.
● O início dessa transição é definido pelo comando BEGIN.
● Enquanto que o fim dela pode ser feito através de um COMMIT e um 
ROLLBACK.
● COMMIT é um comando utilizado para finalizar a transação quando não 
ocorrem erros.
● ROLLBACK é um comando utilizado para apagar uma transição quando 
ocorrem erros.
Níveis de Isolamento
● Read Uncommitted;
● Read Committed;
● Repeatable read;
● Serializable;
Padrão mercado vs padrão MySQL.
Bloqueio e DeadLock
● Transação necessita manter o bloqueio do 
item
● Necessidade de Bloqueio e Desbloqueio
● DeadLock
● Fila de espera
Bloqueio em Linha
● Minimizar o custo do bloqueio
● Bloquear em uma granularidade menor
● Restringe o acesso a qualquer parte da tabela 
Bloqueio de Página
● Substituir os níveis de bloqueio 
● Acesso excessivo 
● Falta do Bloqueio
● Desabilitar bloqueios de linha
● DeadLock
DeadLock
● Não são perigosos
● Tabelas com ordens pré-estabelecidas
● Finalizando com RollBack
● Identificar um DeadLock
Recuperação de Transações
● MyISAM
○ Executar um script que execute “myisamchk” antes de 
reiniciar
● InnoDB
○ Recuperação automática de falhas
Dúvidas
Obrigado.

Mais conteúdos dessa disciplina