Com relação ao controle de concorrência e à alta disponibili...

Próximas questões
Com base no mesmo assunto
Q349083 Banco de Dados
Com relação ao controle de concorrência e à alta disponibilidade de banco de dados, julgue os itens a seguir.

Como forma de garantir a alta disponibilidade de dados, bem como sua consistência, o MySQL Cluster permite que o bloqueio de uma tabela seja aplicado simultaneamente em todos os nós do cluster.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: E - errado

A questão aborda o conceito de alta disponibilidade e controle de concorrência em sistemas de banco de dados, com foco no MySQL Cluster. O MySQL Cluster é uma tecnologia que proporciona alta disponibilidade e escalabilidade, utilizando um sistema de gerenciamento de banco de dados distribuído. Quando falamos em alta disponibilidade, estamos nos referindo à capacidade de um sistema continuar funcionando mesmo diante de falhas em componentes individuais, minimizando o tempo de inatividade.

O controle de concorrência, por sua vez, se refere à capacidade do sistema de gerenciar o acesso simultâneo aos dados por múltiplos usuários, garantindo que as transações sejam processadas de forma segura e consistente. No entanto, o enunciado afirma que o MySQL Cluster permite que o bloqueio de uma tabela seja aplicado simultaneamente em todos os nós do cluster, o que não é uma característica desse sistema de banco de dados.

O MySQL Cluster utiliza um modelo de bloqueio baseado em row-level locking (bloqueio a nível de linha), não a nível de tabela. Isso significa que as operações de bloqueio são aplicadas em linhas específicas dos dados, o que permite uma maior granularidade e eficiência no controle de concorrência. Aplicar bloqueios a nível de tabela em todos os nós seria contraprodutivo e poderia levar a problemas de desempenho, já que todas as transações que acessam essa tabela seriam bloqueadas, independentemente de estarem trabalhando em dados diferentes.

Portanto, a afirmação de que o MySQL Cluster aplica bloqueio de tabelas simultaneamente em todos os nós está incorreta, pois o sistema trabalha com um modelo mais sofisticado de bloqueio a nível de linha, buscando otimizar tanto a concorrência quanto a alta disponibilidade.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Com certeza nenhum gerenciador fará bloqueio na tabela toda, apenas no registro ou no campo.

Acredito que o bloqueio de uma tabela vise a consistência dos dados e não a disponibilidade. O próprio cluster já é a solução para problemas da disponibilidade do banco de dados.

MySQL Cluster não suporta bloqueio de tabela distribuído: Um LOCK_TABLE funciona somente para o nó SQL em que o bloqueio foi feito; nenhum outro nó SQL no cluster "vê" esse bloqueio.

Fonte: https://dev.mysql.com/doc/refman/5.6/en/mysql-cluster-limitations-multiple-nodes.html

Se o objetivo é garantir a disponibilidade da informação, não faz sentido bloquear todos os nós de um cluster.

Lembre-se : A disponibilidade é a capacidade do usuário em ter acesso a um determinado sistema.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo