Questões de Concurso sobre Protocolo de commit em duas fases (2PC)

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
18 questões encontradas
Questões por página
20
Mais recentes
 

Uma empresa de e-commerce utiliza um sistema de banco de dados distribuído para gerenciar seu inventário e as informações financeiras. Para garantir a atomicidade de transações críticas como a compra de um produto que envolve a baixa no inventário em um nó e o débito na conta em outro nó, o SGBD utiliza o protocolo Two-Phase Commit.


Assinale a opção que descreve corretamente o fluxo de comunicação entre o Coordenador e os Participantes durante a primeira fase do protocolo 2PC.


A

O Coordenador envia a mensagem COMMIT para todos os Participantes, e estes respondem com ACK se a transação foi concluída com sucesso localmente.


B

O Coordenador envia a mensagem VOTE-REQUEST para todos os Participantes, e estes respondem com VOTE-COMMIT se puderem completar a transação ou VOTE-ABORT se não puderem.


C

O Coordenador envia a mensagem GLOBAL-COMMIT para os Participantes que votaram VOTE-COMMIT e GLOBAL-ABORT para os demais.


D

Os Participantes enviam periodicamente mensagens de HEARTBEAT ao Coordenador para sinalizar que estão prontos para receber a decisão final.


E

O Coordenador notifica o cliente sobre o sucesso ou falha da transação e aguarda a confirmação do cliente antes de iniciar a segunda fase.

Um arquiteto de sistemas de uma instituição financeira gerencia um ambiente de banco de dados distribuído que opera com o protocolo de efetivação em duas fases (2PC) para garantir a consistência ACID. Em um cenário de auditoria, uma transação T1 envolve o débito na conta de um cliente no servidor X e o crédito na conta de uma loja no servidor Y. Durante a execução, o coordenador da transação emite a ordem de preparação e tanto o servidor X quanto o servidor Y respondem afirmativamente (Vote Commit), entrando no estado de prontidão. Imediatamente após receber os votos, o coordenador toma a decisão de efetivar a transação e grava o registro Commit em seu armazenamento estável, mas falha criticamente antes de conseguir transmitir a mensagem de decisão para qualquer um dos servidores participantes. Diante desse cenário de falha do coordenador após o voto de prontidão dos participantes, qual é o comportamento técnico obrigatório do servidor Y?


A

O servidor deve aplicar um timeout e abortar unilateralmente a transação para liberar os bloqueios dos registros da conta da loja.


B

O servidor entra em um estado de bloqueio, mantendo os recursos travados indefinidamente até que o coordenador seja restaurado e informe a decisão tomada.


C

O servidor deve assumir o papel de novo coordenador e reenviar a mensagem de preparação para o servidor X a fim de concluir a transação.


D

O servidor consulta seus logs locais e, ao verificar que votou sim, executa o Commit da transação baseando-se na probabilidade estatística de sucesso.


E

O servidor solicita ao cliente que reenvie a requisição da transação para que um novo identificador global seja gerado e o processo reiniciado.

Ano: 2025
Prova: CESPE/CEBRASPE - PCDF - Gestor de Apoio - Área: Analista de Informática Banco de Dados . - 2025

Em ambientes com alta latência ou alto número de falhas, recomenda-se como primeira opção a utilização do protocolo 2PC (Two-Phase Commit), dada a sua eficiência em situações dessa natureza.


C

Certo


E

Errado

Assinale a opção correta acerca do protocolo 2PC (two-phase commit).


A

O protocolo 2PC garante a atomicidade em transações distribuídas ao coordenar commit ou abort entre participantes.


B

O referido protocolo elimina totalmente o risco de bloqueio em caso de falha do coordenador.


C

Esse protocolo é utilizado apenas em sistemas baseados em bancos de dados relacionais centralizados.


D

O uso desse protocolo impede a necessidade de logs nos participantes das transações.


E

O protocolo 2PC exige que todos os participantes liberem seus bloqueios antes da fase de commit.

Ano: 2025
Prova: CESPE/CEBRASPE - PCDF - Gestor de Apoio - Área: Analista de Informática Desenvolvimento de Sistemas . - 2025

Nas transações distribuídas, o processo two-phase commit verifica a prontidão dos gerenciadores de recursos antes de confirmar ou reverter uma transação em caso de falha.


C

Certo


E

Errado

Na implementação de bancos de dados distribuídos, assinale a correta distinção/semelhança entre o algoritmo 2-Phase Commit e o algoritmo 2-Phase lock.


A

O primeiro baseia-se numa memória compartilhada.


B

O primeiro é aplicado em sistemas distribuídos visando à execução correta das transações distribuídas.


C

O primeiro é aplicado visando aos conflitos entre transações concorrentes em sistema centralizados.


D

O segundo é aplicado em sistemas distribuídos visando à execução correta das transações distribuídas.


E

Tanto o primeiro como o segundo são aplicados visando aos conflitos entre transações concorrentes, tanto centralizadas como distribuídas.

O mecanismo que permite a implementação de relacionamentos entre tabelas em um banco de dados relacional é a


A
chave primária.

B
chave estrangeira.

C
chave interna.

D
tupla.

Considere um diagrama IDEF1X contendo um relacionamento identificador, 1:N, onde do lado 1 está a entidade Empresa e, do lado N, a entidade Filial.


Num banco de dados que implemente esse relacionamento, a restrição de integridade referencial entre as tabelas Empresa e Filial, que correspondem respectivamente às entidades citadas, NÃO é possível que a chave estrangeira na tabela Filial:


A

faça parte de um índice;


B

tenha um valor default declarado;


C

admita valores nulos;


D

seja alvo de uma operação update do SQL;


E

possa ser simultaneamente definida como chave estrangeira para outro relacionamento da entidade Filial.

Considere um banco relacional construído sobre os atributos A, B, C e D, para


A -> B

A -> C

A -> D

B -> A


O comando de criação desse banco que garante a decomposição sem perda, preserva as dependências e mantém a normalização do esquema relacional é:


A

create table T( a char(8) not null primary key,

b int, c int, d int)


B

create table T( a char(8) not null primary key,

b int not null unique, c int, d int)


C

create table T1( a char(8) not null primary key,

c int, d int)

create table T2( b int not null primary key,

c int, d int)


D

create table T1( a char(8) not null primary key,

c int, d int)

create table T2(a char(8) not null primary key,

b int)


E

create table T1( a char(8) not null primary key,

b int, c int, d int)

create table T2(a char(8) not null primary key,

b int not null unique)

Sobre o Commit em duas fases (Two-phase commit) é correto afirmar que:


A

refere-se a uma transação que pode utilizar dois ou mais bancos de dados, que podem estar localizados em servidores diferentes.


B

é um modelo relacional que permite extrair dados de duas tabelas ao mesmo tempo.


C

é um tipo de consulta onde são passados dois parâmetros para a SQL de forma a filtrar o conteúdo do SELECT.


D

é um modelo de banco de dados distribuídos que permite criar uma hierarquia em dois níveis.


E

são modelos de banco de dados relacionais com autenticação em duas fases.

Suponha que se deseja realizar a seguinte busca no banco de dados:


Encontrar os nomes de todas as agências que não sejam da cidade de Belo Horizonte e que tenham ativos maiores do que pelo menos uma agência de Belo Horizonte.

Considerando-se que existem várias agências na cidade de Belo Horizonte, é correto afirmar que a consulta SQL que realiza essa busca é


A

select distinct T.nome_agência from agência as T,

agência as S where T.ativo>S.ativo and
S.cidade_agencia='Belo Horizonte' and
T.cidade_agencia <> 'Belo Horizonte'


B

select distinct T.nome_agência from agência as T,

agência as S where S.ativo>T.ativo and
S.cidade_agencia='Belo Horizonte' and
T.cidade_agencia <> 'Belo Horizonte'


C

select distinct nome_agência from agência

where agência.cidade_agência <> 'Belo Horizonte' and
agência.ativo > (select agência.ativo from agência
where agência.cidade_agência = 'Belo Horizonte')


D

select distinct nome_agência from agência

where agência.cidade_agência = 'Belo Horizonte' and
agência.ativo < (select agência.ativo from agência
where agência.cidade_agência <> 'Belo Horizonte' )

A partir do modelo apresentado, infere-se que um hospital pode estar vinculado a várias universidades, pois a tabela Hospital apresenta cardinalidade (0, n).

C
Certo

E
Errado

No tribunal, durante o levantamento de requisitos, Carla deparou-se com as seguintes situações:

I. Os funcionários possuem matrículas, mas seus dependentes são numerados de 1 a n. Assim, por exemplo, o funcionário André com dois dependentes tem a esposa como dependente 01 e o filho como dependente 02. Marta possui um único filho dependente com o número 01.

II. Os funcionários possuem cargos que necessitam ficar registrados historicamente, isto é, sempre que um funcionário mudar de cargo o sistema deverá manter o registro do cargo anterior e alguns demais atributos inerentes.

Assim, em um modelo relacional normalizado, Carla sabe que para resolver o problema I ela deverá prever a manutenção da unicidade das chaves da entidade Dependente e que para resolver o problema II ela deverá prever o registro histórico dos cargos, identificando a data em que o funcionário passou a exercer o cargo. Entre outras, Carla resolveu corretamente da seguinte forma: no caso I ela criou a entidade


A
Dependente como entidade fraca da entidade Funcionário e no caso II ela criou a entidade Histórico de Cargo como dependente das entidades Funcionário e Cargo, relacionando-se em n para 1 com ambas (lado n no histórico).

B
Funcionário como entidade fraca da entidade Dependente e no caso II ela criou a entidade Histórico de Cargo como dependente das entidades Funcionário e Cargo, relacionando-se em n para 1 com ambas (lado n no histórico).

C
Dependente como entidade fraca da entidade Funcionário e no caso II ela criou a entidade Histórico de Cargo como dependente somente da entidade Cargo, relacionando-se em n para 1 com ela (lado n no histórico).

D
Dependente como entidade fraca da entidade Funcionário e no caso II ela criou a entidade Histórico de Cargo como dependente das entidades Funcionário e Cargo, relacionando-se em n para m com ambas.

E
Funcionário como entidade fraca da entidade Dependente e no caso II ela criou a entidade Cargo como dependente somente da entidade Histórico de Cargo, relacionando-se em n para m com ela.

Considere as tabelas relacionais apresentadas na figura a seguir e as afirmativas I, II e III para depois escolher a alternativa correta.

Imagem associada para resolução da questão


I - A transferência de R$ 500,00 da Conta 001 para a Poupança 003 poderia ser especificada através dos seguintes comandos SQL:


update Conta_Bancária

set saldo = saldo - 500

where Número = 001


update Conta_Bancária s

et saldo = saldo + 500

where Número = 003


II - O comando a seguir permite que o usuário ‘José’ leia os dados da tabela Cliente: REVOKE select on Cliente from José

III - O comando a seguir concede privilégios de seleção, inserção e atualização sobre a tabela Conta_Bancária ao usuário “José”:


GRANT select, insert, update on Conta_Bancária to “José”


- Marque a alternativa que corresponde à resposta certa.



A

As afirmativas I e II estão corretas.


B

Apenas a afirmativa II está correta.


C

As afirmativas I e III estão corretas.


D

As afirmativas I, II e III estão corretas.

No modelo relacional de bancos de dados, os valores de___________ possibilitam a distinção de cada entidade de forma individual.


A

um atributo-chave.


B

todos os relacionamentos.


C

um atributo não chave.


D

qualquer campo numérico.


E

qualquer atributo derivado.

 
 
Gerar simulado