Prévia do material em texto
AO2 Substitutiva Entrega 18 dez em 23:59 Pontos 6 Perguntas 10 Disponível 14 dez em 0:00 - 18 dez em 23:59 Limite de tempo Nenhum Instruções Este teste foi travado 18 dez em 23:59. Histórico de tentativas Tentativa Tempo Pontuação MAIS RECENTE Tentativa 1 74 minutos 6 de 6 Pontuação deste teste: 6 de 6 Enviado 18 dez em 17:24 Esta tentativa levou 74 minutos. Pergunta 1 0,6 / 0,6 pts Elasticidade vertical e elasticidade horizontal Correto! Escalabilidade vertical e escalabilidade horizontal Importante: Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que você clique em "FAZER O QUESTIONÁRIO", no final da página. Leia o texto abaixo: A maneira mais simples de dimensionar um aplicativo é executá-lo em um hardware com um maior poder de processamento e/ou armazenamento. Mas, isso só o leva até o ponto em que a aplicação eventualmente atingirá um teto de desempenho. Chegará um momento em que a infraestrutura de hardware não será mais suficiente e um novo hardware deverá ser comprado. A alternativa para aumentar a escala é expandir, distribuindo a carga por vários nós. Considerando as informações apresentadas, qual alternativa indica, respectivamente, a escalabilidade por aumento ou aquisição de novos recursos para um único nó (por exemplo, memória ou processador) e a escalabilidade por aumentar o número de nós em uma rede? A+ A A- https://famonline.instructure.com/courses/41007/quizzes/195712/history?version=1 A alternativa está correta, pois a escalabilidade vertical está relacionada com a ação de adicionar novos recursos como processadores e memória, por exemplo, a um único nó. Por outro lado, a escalabilidade horizontal está relacionada a estratégia de adicionar novos nós, ou seja, novas máquinas. Elasticidade horizontal e elasticidade vertical Elasticidade vertical e escalabilidade horizontal Escalabilidade horizontal e escalabilidade vertical Pergunta 2 0,6 / 0,6 pts Correto! Escalabilidade horizontal A alternativa está correta, pois: Escalabilidade horizontal: Nesta estratégia, novos nós são adicionados. Esta estratégia requer algum tipo de distribuição dentro do próprio sistema distribuído. A vantagem é que, caso o sistema possa ser dimensionado horizontalmente, ele pode ser ampliado na unidade de centenas a milhares de máquinas. Logo, é uma estratégia ideal para arquiteturas de grande escala. Escalabilidade vertical Escalabilidade unilateral Tolerância a falhas Escalabilidade bilateral Pergunta 3 0,6 / 0,6 pts Correto! Transação distribuída Nesta estratégia, novos nós são adicionados. Esta estratégia requer algum tipo de distribuição dentro do próprio sistema distribuído. A vantagem é que, caso o sistema possa ser dimensionado horizontalmente, ele pode ser ampliado na unidade de centenas a milhares de máquinas. Logo, é uma estratégia ideal para arquiteturas de grande escala. A qual estratégia estamos nos referindo? As transações foram originadas a partir dos sistemas de gerenciamento de banco de dados (SGBDs), sendo que uma transação distribuída se refere a um conjunto de operações em dados que são executadas em dois ou mais repositórios de dados (especialmente bancos de dados). Normalmente, estas transações são coordenadas entre nós separados conectados por uma rede, mas também pode abranger vários bancos de dados em um único servidor. A qual transação se refere o contexto acima? A+ A A- A alternativa está correta, pois: Transações distribuídas foram originadas a partir dos sistemas de gerenciamento de banco de dados (SGBDs), sendo que uma transação distribuída se refere a um conjunto de operações em dados que são executadas em dois ou mais repositórios de dados (especialmente bancos de dados). Normalmente, estas transações são coordenadas entre nós separados conectados por uma rede, mas também pode abranger vários bancos de dados em um único servidor. Bloqueio de duas fases Bloqueios transacionais Isolamento Lost Update Pergunta 4 0,6 / 0,6 pts Leia a definição abaixo: “O pacote Remote Procedure Call (RPC) define um modelo de chamada de procedimento para aplicativos distribuídos. A Representação de Dados Externos (XDR) define uma representação padrão para dados na rede para oferecer suporte à computação de rede heterogênea.” (Fonte: CISCO. Introdução a RPC/XDR. Disponível em: https://www.cisco.com/c/en/us/td/docs/ios/sw_upgrades/interlink/r2_0/rpc_pr/rpintro.html (https://www.cisco.com/c/en/us/td/docs/ios/sw_upgrades/interlink/r2_0/rpc_pr/rpintro.html) . Acesso em: 03 mai. 2021.) (Adaptado) A+ A A- https://www.cisco.com/c/en/us/td/docs/ios/sw_upgrades/interlink/r2_0/rpc_pr/rpintro.html https://www.cisco.com/c/en/us/td/docs/ios/sw_upgrades/interlink/r2_0/rpc_pr/rpintro.html https://www.cisco.com/c/en/us/td/docs/ios/sw_upgrades/interlink/r2_0/rpc_pr/rpintro.html https://www.cisco.com/c/en/us/td/docs/ios/sw_upgrades/interlink/r2_0/rpc_pr/rpintro.html A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são ambas proposições falsas. As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. Correto! As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. A alternativa está correta, pois as asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. A asserção I é uma proposição verdadeira, pois XDR é uma coleção de funções macros em C para representação de dados externos. O objetivo é realizar o intercâmbio de dados entre arquiteturas com representações de dados diferentes. A asserção II é uma proposição verdadeira, pois diferentes máquinas possuem formas diferentes de representar o mesmo tipo de dados. Por exemplo, algumas arquiteturas computacionais armazenam inteiros com o byte de ordem inferior primeiro, enquanto algumas máquinas colocam o byte de ordem inferior por último. Pergunta 5 0,6 / 0,6 pts Refletindo sobre os conceitos de RPC e XDR, avalie as asserções abaixo e a relação proposta entre elas. I. XDR é uma coleção de funções em linguagem C, que permite a conversão de representações de dados específicos da máquina, para as representações padrão correspondentes e vice-versa. PORQUE II. Dados, como números inteiros e ponto flutuante, podem ter diferentes representações físicas em diferentes máquinas. Logo, é necessário a adoção de um padrão de intercâmbio de dados. A respeito dessas asserções, assinale a opção correta: Leia o texto abaixo: Os microsserviços são uma evolução do paradigma de Computação de Objeto Distribuído (Distributed Object Computing - DOC). O design inicial do DOC visa simplificar o complexo A+ A A- II e III, apenas. I, apenas. I e III, apenas. Correto! II, apenas. A alternativa está correta, pois apenas a afirmação II é verdadeira. A afirmação II é verdadeira, pois o stub reside no cliente e para o objeto remoto, ele se comporta como um proxy. Em uma chamada de um método remoto, o stub é invocado no cliente. A afirmação I é falsa, pois o CORBA é um passo importante para a padronização e a interoperabilidade cliente-servidor entre objetos. A afirmação III é falsa, pois o ORB (Object Request Broker) é o middleware que estabelece os relacionamentos cliente servidor entre objetos. III, apenas. Pergunta 6 0,6 / 0,6 pts desenvolvimento de aplicativos distribuídos, aplicando princípios de design orientado a objetos para componentes diferentes que operam na infraestrutura de rede. Considerando as informações apresentadas, avalie as afirmações abaixo: I. CORBA é um passo importante para a padronização e interoperabilidade entre RMI e RPC. II. Em RMI, o stub é invocado quando um cliente chama um método remoto do servidor. III. CORBA é o middleware que estabelece os relacionamentos de chamada remota entre cliente e servidor. É correto o que se afirma em: Leia o texto abaixo:A tolerância a falhas refere-se à capacidade de um sistema (computador, rede, cluster de nuvem, etc.) de continuar operando sem interrupção, quando um ou mais de seus componentes falham. O objetivo de criar um sistema tolerante a falhas é evitar interrupções decorrentes de um único ponto de falha, garantindo a alta disponibilidade e a continuidade de negócios de aplicativos. A+ A A- I, apenas. Correto! II, apenas. A alternativa está correta, pois apenas a afirmação II é verdadeira. A afirmação II é verdadeira, pois os sistemas tolerantes a falhas usam componentes de backup que automaticamente substituem os componentes com falha. O avião bimotor é um sistema tolerante a falhas, afinal, se um motor falhar, o outro entra em ação. Deste modo, o avião continua a voar. A afirmação I é falsa, pois não foi apresentado o motivo da migração. Deste modo, a migração ocorreu e o usuário não percebeu. Este é um exemplo de transparência. A afirmação III é falsa, pois o fato de ter comprado um servidor em nuvem e tornando- o seu servidor de arquivo, não caracteriza como tolerância a falhas. Porém, se tivesse adquirido um servidor para ser o backup em nuvem, poderíamos afirmar se tratar de um sistema para tolerância a falhas. III, apenas. I e III, apenas. II e III, apenas. Pergunta 7 0,6 / 0,6 pts Considerando as informações apresentadas, avalie os exemplos de tolerância a falhas abaixo: I. Google Fotos migrar suas fotos de um servidor X para um servidor Y em outro país e você não tomou ciência disto. II. Um avião bimotor que está em rota de voo, ao ter falha em um de seus motores continuar a voar com o outro motor. III. A empresa CYLA comprar um servidor de recursos em nuvem, tornando-o seu servidor de arquivo. É correto o que se afirma em: A+ A A- Correto! A asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A alternativa está correta, pois a asserção I é uma proposição verdadeira, e a II é uma proposição falsa. A asserção I é verdadeira, pois o deadlock é uma situação que ocorre sempre que dois ou mais processos ficam aguardando, indefinidamente, que outro processo libere seus recursos. Lembre- se do caso de uma ponte onde só passa um carro por vez. A ponte é o recurso A, por exemplo, e os carros, em direções opostas, são as transações 1 e 2. Logo, se um carro estiver na ponte, o outro não pode acessar o recurso enquanto a ponte não estiver liberada. A asserção II é falsa, pois o estado apresentado na asserção já está no passado. No momento, a Transação 1 está esperando pelo recurso B e a Transação 2 está esperando pelo recurso A e ambos, A e B, são mantidos pela Transação 1 e Transação 2, respectivamente. Analisando a figura e os conceitos sobre concorrência de transações, avalie as asserções abaixo e a relação proposta entre elas. 1. Pela figura é possível detectar um deadlock, afinal, há um bloqueio transacional que faz com que o sistema pare. PORQUE 1. A Transação 1 está esperando pelo recurso A e a Transação 2 está esperando pelo recurso B e ambos, A e B, são mantidos pela Transação 1 e Transação 2 respectivamente. A respeito dessas asserções, assinale a opção correta: A+ A A- As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I. As asserções I e II são ambas proposições falsas. A asserção I é uma proposição falsa, e a II é uma proposição verdadeira. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. Pergunta 8 0,6 / 0,6 pts I e IV. II, III e IV. II e IV. I, II e III. Correto! Considerando os conceitos relacionados a transações concorrentes, avalie as afirmações abaixo: 1. O saldo final desta conta será de R$ 140,00, afinal, foi o último valor atualizado no banco de dados. 2. O saldo final é definido pela segunda transação executada no banco, Transação 2, logo o valor em conta será de R$ 180,00. 3. O conceito de ACID teve um dos princípios comprometidos, especificamente, o princípio da consistência. 4. O princípio da consistência foi ferido, uma vez que o saldo final deveria ser R$ 20,00, pois houve dois saques, sem bloqueio de transação. É correto o que se afirma apenas em: A+ A A- I, III e IV. A alternativa está correta, pois apenas as afirmações I, III e IV são verdadeiros. A afirmação I é verdadeira, pois a última transação a ser executada foi a transação I, cujo valor de saque foi de R$ 160,00 e o valor de saldo então é de R$ 140,00. A afirmação III é verdadeira, pois a transação 1, quando iniciada, possuía 300,00 em saldo. Em seguida se iniciou a transação 2, também com saldo de 300,00 e, depois, efetuou-se um saque de R$ 120,00. No mesmo instante, a transação 1 realizou um saque de R$ 160,00, porém, antes da transação 1 atualizar o saldo em banco. Ou seja, o débito de R$ 160,00 foi realizado em cima do saldo inicial de R$ 300,00. No final, a conta ficou com R$ 140,00. Porém, o conteúdo sacado foi de R$ 280,00, logo, o correto seria um saldo final de R$ 20,00. Houve então uma inconsistência no banco. A afirmativa IV é verdadeira. Apesar de haver dois saques, apenas um foi considerado, pois não houve o bloqueio de transações. A afirmação II é falsa, pois a última transação a ser executada foi a transação 1, que atualizou o banco após a transação 2, sobrescrevendo o conteúdo anterior. Pergunta 9 0,6 / 0,6 pts que o RMI também oferece suporte à programação procedural. Correto! que o RPC oferece somente programação procedural. A alternativa está correta, pois o RPC é um protocolo mais antigo e se baseia na linguagem de programação C. Foi desenvolvido para computação distribuída e baseia-se na codificação procedural de chamadas de procedimento local. que o RMI se baseia em linguagem de programação C. que o RMI possui o stub, que é um proxy do lado do servidor. que o RPC se baseia em programação JavaScript. Leia o texto abaixo: RPC (Remote Procedure Call) e RMI (Remote Method Invocation) são recursos de linguagem de programação desenvolvido para computação distribuída, que possuem os mecanismos que permitem a um cliente invocar o procedimento ou método do servidor através do estabelecimento de comunicação entre cliente e servidor. A+ A A- Pergunta 10 0,6 / 0,6 pts Atomicidade Isolamento Durabilidade Correto! Escalabilidade A alternativa está correta, pois: Esse tipo de operação está em conformidade com os princípios ACID de bancos de dados relacional que garantem a integridade dos dados: Atomicidade: cada transação deve ser executada na integralidade, sendo totalmente bem-sucedida ou totalmente revertida. Consistência: cada transação de alteração dos dados deve manter a integridade dos dados ou será cancelada completamente. Isolamento: cada transação de leitura ou gravação realizada no banco de dados não será afetada por outra transação de leitura ou gravação que esteja ocorrendo simultaneamente no mesmo banco de dados. Durabilidade: cada transação confirmada no seu banco de dados deve ser permanente, mesmo que o sistema possa sofrer alguma falha. Consistência Pontuação do teste: 6 de 6 Quando nos referimos a um processo de transação distribuída podemos obter dois resultados a seguir: . Todas as operações são concluídas com êxito; . Nenhuma das operações é realizada devido a uma falha em alguma parte do sistema. Temos neste último caso, se algum trabalho foi concluído antes da falha, esse trabalho será revertido para garantir que nenhuma ação na rede tenha sido realizada. Para esse tipo de operação esteja em conformidade com os princípios ACID de bancos de dados relacional devem garantir a integridade dos dados, qual destes não fazem parte desse contexto? A+ A A-