MVCC não é magia: por que ALTER, DROP e TRUNCATE ignoram sua transação no MySQL
Arquitetura, schema e shardingTodo mundo aprende que uma transação pode ser desfeita com um ROLLBACK. Mas será que isso vale para qualquer comando executado após um START TRANSACTION? Nesta palestra trago um comportamento pouco conhecido do MySQL: por que operações como ALTER TABLE, DROP TABLE e TRUNCATE TABLE não participam do MVCC e não podem ser revertidas da mesma forma que um INSERT, UPDATE ou DELETE. Através de demonstrações práticas, conceitos de MVCC, Undo Log, Implicit Commit e Atomic DDL, vamos entender como o MySQL trata comandos DDL, quais os riscos em ambientes de produção e por que nem tudo que acontece dentro de uma transação está realmente protegido por ela. Ao final, os participantes entenderão as diferenças entre DML e DDL, os limites do MVCC e os cuidados necessários ao executar alterações estruturais em bancos MySQL.
