O que é controle de simultaneidade?

Na programação de gerenciamento de dados, o controle de simultaneidade é um mecanismo projetado para garantir que resultados precisos sejam gerados por operações simultâneas. Esses resultados também devem ser obtidos em tempo hábil. O controle de simultaneidade é visto com muita frequência em bancos de dados, onde há um cache de informações pesquisáveis ​​para os usuários obter.

Os programadores

tentam projetar um banco de dados de forma que o efeito importante das transações nos dados compartilhados seja equivalente em série. O que isso significa é que os dados que fazem contato com conjuntos de transações estariam em um determinado estado em que os resultados são obtidos se todas as transações executadas em série e em uma ordem específica. Às vezes, esses dados são inválidos como resultado de ser modificado por duas transações, simultaneamente. Isso é exagero, no entanto, eNão permitirá que um programador se beneficie do controle de simultaneidade em um sistema distribuído. O controle de simultaneidade permite a execução simultânea de várias transações, mantendo essas transações longe uma da outra, garantindo linearizabilidade. Uma maneira de implementar o controle de simultaneidade é o uso de um bloqueio exclusivo em um recurso específico para execuções de transações em série que compartilham recursos. As transações bloquearão um objeto destinado a ser usado e, se alguma outra transação fizer uma solicitação para o objeto bloqueado, essa transação precisará esperar que o objeto desbloqueie.

A implementação deste método em sistemas distribuídos envolve gerentes de bloqueio - servidores que emitem bloqueios de recursos. Isso é muito semelhante aos servidores para exclusões mútuas centralizadas, onde os clientes podem solicitar bloqueios e enviar mensagens para a liberação de bloqueios em um recurso específico. Preservação de EXE em sérieA CUIÇÃO, no entanto, ainda é necessária para o controle de simultaneidade. Se duas transações separadas acessarem um conjunto de objetos semelhante, os resultados precisam ser semelhantes e se essas transações fossem executadas em uma ordem específica. Para garantir a ordem no acesso a um recurso, é introduzido bloqueio em duas fases, o que significa que as transações não são permitidas novas bloqueios após a liberação de uma fechadura separada.

Em bloqueio bifásico para controle de simultaneidade, sua fase inicial é considerada a fase de crescimento, onde a transação adquire sua trava necessária. A fase seguinte é considerada uma fase de encolhimento, na qual a transação possui seus bloqueios liberados. Existem problemas com esse tipo de bloqueio. Se as transações abortarem, outras transações podem usar dados de objetos modificados e desbloqueados por transações abortadas. Isso resultaria em outras transações sendo abortadas.

OUTRAS LÍNGUAS

Este artigo foi útil? Obrigado pelo feedback Obrigado pelo feedback

Como podemos ajudar? Como podemos ajudar?