Bloqueio pessimista. Vamos aos detalhes dessa abordagem de bloqueio para simultaneidade de operações nos bancos de dados. Vamos lá! Bom, ao contrário do que vimos no bloqueio otimista, quando estamos falando do bloqueio pessimista, nós temos os recursos do banco de dados sendo bloqueados exclusivamente para a transação que está realizando o acesso nesse instante. Então, aqui a premissa é que conflitos são comuns, ao contrário do que vimos no bloqueio otimista, que fala que conflitos são raros. que fala que conflitos são raros. Então, falando de bloqueio pessimista, os dados são bloqueados antes da leitura ou escrita e as demais transações que estão em execução ou que serão executadas precisam aguardar a confirmação ou a reversão dessa transação. Por confirmação, estamos falando dos comandos commit e da reversão, estou falando do comando rollback. Este cenário é bem interessante, bem adequado para situações em que as aquele cancelamento e repetição das transações, que é a proposta do bloqueio otimista, acaba sendo muito caro ou acaba sendo muito complexo de ser executado. Vamos aos passos do bloqueio pessimista. Então, nós vamos ter, primeiramente, a requisição de bloqueio, então a transação solicita explicitamente um bloqueio exclusivo para o recurso. Nós vamos ver que existem tipos diferentes de bloqueio, como leitura e escrita. Logo em seguida, acontece a concessão do bloqueio, ou seja, se o recurso não estiver bloqueado por nenhuma outra transação, será concedido este bloqueio à transação solicitante. Se o recurso já tiver sido bloqueado, esta transação solicitante tem que ficar em espera até que o bloqueio seja liberado. Uma vez concedido o bloqueio, é avançado para o acesso ao recurso. Então, este recurso fica disponível de maneira exclusiva para a transação realizar as operações que estão sendo demandadas. Nenhum outro processo pode acessar ou modificar este recurso que foi bloqueado até que o bloqueio seja concluído, seja finalizado, seja liberado. E, por fim, após as operações da transação serem concluídas, o bloqueio é finalmente liberado e os demais processos passam a acessar o recurso. acessar o recurso. Vantagens do bloqueio pessimista, a lógica e código das transações fica simplificado, reduz a latência e a complexidade, favorece a consistência e a confiabilidade dos dados. Desvantagens, risco do impasse, que é o deadlock, uma sobrecarga de bloqueio e desbloqueio, ou seja, o banco de dados precisa trabalhar mais na gestão deste bloqueio e desbloqueio e também existe risco de limitar concorrência ou simultaneidade e também o throughput do banco, que é a taxa de transferência, a taxa de execução, também pode ser reduzida por conta, claro, de toda essa sobrecarga, desse esforço adicional que o sistema gerenciador do banco de dados está executando.