Prévia do material em texto
Sistemas de Gerenciamento de Banco de Dados 1) Por que os SGBDs são facilitadores para os desenvolvedores? A) Porque os desenvolvedores não precisam se preocupar com as regras e a manipulação de valores no banco de dados. B) Porque guardarão os dados do sistema. C) Porque servem para auditar a aplicação. D) Porque criam segurança na aplicação. E) Nenhuma das alternativas anteriores está correta. 2) Assinale a alternativa que contém uma característica necessária de um SGBD. A) Granularidade. B) Replicação. C) Controle de integridade. D) Controle de versão. E) Suportar a linguagem SQL 3) O símbolo ** no dicionário de dados se refere a: A) vazio. B) nulo. C) opcional. D) obrigatório. E) comentário. 4) O símbolo ( ) no dicionário de dados se refere à: A) parte opcional. B) parte obrigatória. C) parte nula. D) parte vazia. E) parte errada. 5) Como escolher o melhor SGBD para o meu sistema? A) Verificar somente a performance. B) Olhar somente para o que o cliente quer. C) Entender o que a aplicação fará para tomar a melhor decisão. D) Sortear entre as escolhas dos desenvolvedores. E) Fazer votação entre os desenvolvedores. Conhecer os desafios daAdministração de Banco de Dados Sabendo que um banco de dados tem perda de performance nas VIEWs, qual técnica pode ser utilizada para obter melhora? A) Checar a tabela. B) Criar índices das views. C) Excluir dados não utilizados. D) Criar uma outra tabela para relacionar buscas. E) Criar triggers. 2)É uma tecnologia atual que necessita de qualificação do administrador de banco de dados: A) Tuning de banco de dados. B) Dividir o banco de dados principal em pequenos bancos de dados. C) Utilizar BigData. D) Utilizar bancos NoSQL. E) Replicação de bancos de dados Qual a tecnologia atual que está consumindo muito a pesquisa do banco de dados? A) IoT. B) Cloud. C) Backup. D) Restore. E) Paralelismo. 4) Entre os bancos de dados existentes, qual é o que se destaca pelo maior uso e abrangência a novas tecnologias? A) Oracle. B) MySQL. C) MSSQL. D) MongoDB. E) Amazon Dynamo DB. 5) Qual comando pode ser utilizado para monitorar o banco de dados MySQL? A) mytop. B) mysqltop. C) mysqlcheck. D) mysqldump. E) mysqltree Dicionário de dados 1) Todo banco de dados tem um dicionário de dados como parte integrante de seus componentes. Marque a alternativa que define um dicionário de dados. A) Estrutura contendo definições dos objetos utilizados em um banco de dados. B) Lista de informações aplicadas ao planejamento de criação de um banco de dados. C) Armazém de dados utilizado para prover informações ao negócio. D) Lista de conceitos e de significados referente ao uso do banco de dados. E) Recurso disponibilizado pelos SGBDs para garantir a segurança dos dados. 2) O SGBD MySQL utiliza um schema próprio para o armazenamento das tabelas que compõem o dicionário de dados. Marque a alternativa que indica o nome do schema que armazena o dicionário de dados. A) INFORMATION_SCHEMA. B) DICTIONARY_SCHEMA. C) DATA_SCHEMA. D) TOTAL_SCHEMA. E) GLOBAL_SCHEMA 3) Um banco de dados relacional é formado por dados e dicionário de dados (metadados). Marque a alternativa que define uma característica do dicionário de dados. A) Dicionário de dados se aplica apenas a grandes volumes de dados. B) Dicionário de dados não considera o domínio de cada atributo das tabelas. C) Dicionário de dados é aplicado a tabelas com um número grande de atributos. D) Dicionário de dados armazena nome de tabelas e seus atributos, entre outras informações E) Dicionário de dados armazena a descrição de cada consulta realizada no banco de dados. 4) Todo o objeto criado no banco de dados terá suas informações armazenadas no dicionário de dados, que mantém informações de vários níveis. Marque a alternativa que indica uma informação criada no dicionário de dados. A) Transação. B) Programas. C) Requisitos. D) Especificações. E) Restrição de integridade. 5) Todas as tabelas de dicionário de dados têm a mesma estrutura e devem obedecer às mesmas regras que as tabelas básicas: precisam ter chave primária única (não nula) e integridade referencial entre elas próprias. Considerando o processo de criação/visualização do dicionário de dados, marque a alternativa que apresenta a afirmação correta. A) As informações constantes no dicionário de dados são utilizadas para a manipulação do banco de dados. B) Sempre que uma estrutura de dados é criada no banco de dados, o DBA deve atualizar o dicionário de dados. C) As informações disponíveis no dicionário de dados são facilmente visualizadas, a partir de um conjunto de instruções, particulares ao manuseio do dicionário de dados. Arquitetura de banco de dados 1) Dentre as muitas características, as categorias dos modelos de dados têm certas especificidades. Assinale a alternativa em que o(s) sistema(s) de banco de dados NoSQL tem(êm) como base o armazenamento por chave-valor: A) InfoGrid e Neo4j. B) Amazon Dynamo. C) BigTable e Cassandra. D) MongoDB e CouchDB. E) MySQL. 2) Os SGBDs podem também ser classificados quanto às arquiteturas que apresentam. As mais populares são as arquiteturas centralizada, cliente/servidor e distribuída. São características da arquitetura distribuída: A) Dados, aplicações e sistema gerenciador de banco de dados estão dispostos em um único computador. B) Dados e sistema gerenciador de banco de dados são compartilhados por meio de um servidor. C) Dados e aplicações ficam espalhados nos diversos computadores que compõem a arquitetura. D) Todos os recursos de todos os computadores são compartilhados pela rede, incluindo dados e aplicativos, onde um computador é responsável pelo gerenciamento dos recursos E) Todos os computadores compartilham os seus recursos, sendo gerenciados por um computador principal. Para Leite (2008, p. 6), "o modelo relacional mostra explicitamente o mapeamento entre as diversas tabelas que compõem o banco de dados, e em nível de análise de sistemas essas tabelas são ditas 'relações' ou 'instâncias' do banco de dados". Com base nessa informação, marque a alternativa que apresenta apenas bancos de dados relacionais. A) SQL Server, PostgreSQL e MongoDB. B) PostgreSQL, MongoDB e Cassandra. C) MariaDB, PostgreSQL e MongoDB. D) Cassandra, PostgreSQL e Oracle. E) SQL Server, MariaDB e MySQL. 4) O crescente volume de dados que são compartilhados diariamente, seja por meio digital ou não, obriga cada vez mais as organizações a investirem em soluções de armazenamento e transformação de tais dados em informações. O próprio cotidiano humano gera um volume gigantesco de dados que, se bem analisados, são capazes de oferecer muitas informações sobre uma pessoa. Dados podem estar em vários formatos, tamanhos, ter diversas origens e finalidades. Não muito diferente dos próprios dados, a forma como eles serão armazenados também pode ser variada. Observe as afirmativas a seguir e, dentre as opções, marque aquela que contém somente as alternativas corretas. I. Uma das principais vantagens de um sistema de banco de dados é o isolamento entre dados e aplicação, garantindo, assim, a segurança dos dados. II. A natureza de autodescrição de um banco de dados diz respeito à capacidade de um sistema de banco de dados em armazenar informações sobre a sua própria estrutura III. Uma das características mais importantes de um sistema de banco de dados é a sua atomicidade, que impede que uma determinada operação ocorra pela metade. IV. Sistemas de banco de dados sempre serão preferíveis se comparados com os sistemas de arquivos. V. Apesar das limitações, a simplicidade oferecida pelos sistemas de arquivos mostra-se como grande atrativo, fazendo dessa tecnologia uma das melhores opçõespara determinados tipos de aplicações. A) Apenas a opção V está correta. B) Somente a opção IV está incorreta. C) Somente as opções I, IV e V estão incorretas. D) Apenas a opção I está incorreta. E) Estão corretas as opções II, III e V. 5) Um banco de dados relacional é composto de tabelas, também conhecidas como relações. No entanto, a terminologia tabela é mais utilizada nos produtos comerciais e, na prática, enquanto o termo relações é mais adotado na área acadêmica. Assinale a alternativa que apresenta características corretas referentes aos componentes de tabelas. A) Tuplas ou linhas são compostas de uma série de campos, ou seja, valores de atributos. B) Cada campo é identificado por um nome de campo, também denominado de nome do atributo. C) Define-se uma coluna mestre como uma combinação de colunas cujos valores distinguem uma linha das demais dentro de uma tabela. D) A chave primária é o mecanismo que permite a implementação de relacionamentos de banco de dados relacional. E) Atributo estrangeiro é um conjunto de atributos cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências. Alta disponibilidade em banco de dados 1) A alta disponibilidade em banco de dados é possível com o uso do clustering, técnica que provisiona os recursos necessários aplicando redundância e disponibilidade suficientes aos serviços, principalmente aos de missão crítica. Considerando essa informação, acompanhe a declaração a seguir: O principal risco para a disponibilidade de um banco de dados é manter _________, porém isso pode ser resolvido com a implementação de soluções e tecnologias de alta disponibilidade, como um cluster muito utilizado em diversos cenários, sendo o mais eficiente aquele que _________ entre os nós. A gravação _________ de dados geralmente é mais eficiente para bancos que sofrem constante processo de gravação de informações, enquanto o modo _________ é o suficiente para bases mais utilizadas para_________ . As lacunas devem ser preenchidas, respectivamente, por: A) uma única intância; armazena os dados localmente em cada nó; síncrona; semissíncrono; consulta de dados. B) redundância; compartilha armazenamento; semissíncrona; assíncrono; exclusão de dados. C) uma única instância; provê armazenamento independente; síncrona; assíncrono; consulta de dados. D) os dados localmente; mantém uma rotina eficiente de backup; assíncrona; síncrono; análise de dados. E) balanceamento de carga; utiliza um replicador de dados; síncrona; assíncrono; análise de dados. Para garantir a redundância das informações armazenadas em banco de dados, uma série de decisões é necessária. Por isso, após o levantamento de riscos, estes devem ser tratados de forma correta. Considerando essas informações, em relação a ambientes de alta disponibilidade em banco de dados, é correto afirmar que: I. Quando se utiliza cluster, não é permitido balanceamento de carga. II. Um cluster de banco de dados promove alta disponibilidade e tem o poder de continuar se comunicando com as aplicações e os serviços por meio de qualquer nó disponível no momento em que uma falha ocorre. III. Em geral, um sistema de banco de dados tem como característica nativa a alta disponibilidade, não sendo necessária a aplicação de técnicas para garantir essa característica. IV. Pontos únicos de falhas (single point of failure) são os principais riscos da alta disponibilidade. V. Quando o desempenho apresenta níveis muito baixos, pode ser considerado como indisponibilidade, pois, mesmo que não haja interrupção do serviço, os usuários ficam impedidos de realizar consultas e manipulação de dados. As afirmações corretas são: A) II, IV e V. B) I, IV e V. C) II, III e V. D) III, IV e V. E) I, II e III 3) Sobre as técnicas para alta disponibilidade de bancos de dados, assinale a alternativa correta: A) O Cluster de banco de dados com armazenamento compartilhado é adequado para cenários onde o tempo de espera para restabelecer o serviço após falhas pode ser de várias horas. B) O Cluster de banco de dados multimestre é adequado para cenários que demandam alto desempenho computacional. C) O cluster primário-secundário (master-slave) é mais utilizado em aplicações voltadas para consulta de dados, em que o nó mestre centraliza as informações e os demais realizam as consultas, e os dados são sincronizados somente quando necessário, mantendo o modo assíncrono na maior parte do tempo. D) O balanceamento de carga é a solução mais viável para alta disponibilidade de bancos de dados pois precisa apenas um nó. E) O balanceamento de carga em banco de dados é uma técnica voltada apenas para melhorar o desempenho do banco de dados através de políticas otimizadas de processamento distribuído. 4) Os riscos e ameaças à disponibilidade de um banco de dados podem ser de origens diversas. Podem ser causados por falhas humanas, operacionais, físicas ou simplesmente por falta de recursos adequados, gerando de pequenos conflitos no sistema até grandes prejuízos ao negócio. Sabendo disso, analise as afirmações a seguir, assinalando V (verdadeiro) ou F (falso). ( ) Atualizações em banco de dados geralmente causam problemas de disponibilidade quando aplicadas e não são recomendadas pelo fornecedor. ( ) Manutenções no ambiente são necessárias, mas podem ser um risco para a disponibilidade do banco de dados caso não exista um plano de contingência e redundância, como um sistema de cluster aplicado. ( ) Dimensionamento de banco de dados deve ser devidamente planejado quando houver necessidade de adicionar novos recursos, evitando a indisponibilidade por longo período de tempo. ( ) Versões gratuitas de software são tão confiáveis quanto versões pagas, contendo os mesmos recursos e não gerando risco de indisponibilidade por qualquer função que não esteja contida nesse tipo de licença de uso ( ) Backups de dados trazem segurança às informações, mas ainda não garantem a disponibilidade do banco de dados, pois a restauração dos dados pode levar algum tempo, fazendo com que o reestabelecimento do banco não seja imediato. Marque a alternativa que apresenta a ordem correta de preenchimento das lacunas, de cima para baixo. A) V - V - V - F - F. B) F - F - V - V - V. C) V - V - V - F - V. D) F - V - V - F - F. E) F - V - V - F - V 5) Sabendo que diversas soluções estão disponíveis no mercado objetivando a busca da alta disponibilidade em banco de dados, leia as seguintes afirmações sobre suas características: I. O SQL Server dispõe de uma técnica denominada espelhamento, que permite que duas cópias de um único banco sejam mantidas em instâncias diferentes em servidores diferentes, o que garante a disponibilidade de forma eficiente. II. O MySQL Server oferece uma solução altamente recomendada para ambientes de missão crítica, pois cada uma dispõe de seu próprio dispositivo de armazenamento sem compartilhar os dados, garantindo maior redundância. III. O IBM DB2 foi projetado para oferecer suporte a diversos sistemas e tem funcionalidades de monitoramento que garantem atualizações sem gerar tempo de inatividade ao banco. IV. O Oracle Flashback é um recurso que permite a execução de diagnósticos em tempo real de forma automática. V. NoSQL são bancos não relacionais como todos os outros citados nas alternativas anteriores, mas apresentam arquitetura distribuída, sendo mais tolerantes a falhas. Quais dessas alternativas apresentam apenas afirmações corretas? A) I, II e III. B) I e II. C) I, II e V. D) I, III e V. E) II, IV e V. Identificar problemas deperformance em Banco de Dados São problemas que influenciam diretamente na performance dos bancos de dados: A) Usuários, rede elétrica e consultas. B) Infraestrutura, rede e cadastramento. C) Modelagem e interface do usuário. D) Infraestrutura, modelageme consultas. E) Experiência do usuário, consultas e exclusões. 2) Selecione a alternativa que complete a frase a seguir: Quando problemas de performance estão relacionados a problemas com a Internet... A) É porque envolve um servidor local. B) É porque envolve um servidor dividido em vários computadores. C) É porque um servidor na nuvem está envolvido. D) É porque a modelagem dos dados está incorreta. E) É porque há um erro nas consultas. 3) Qual o padrão usado pelos SGBDs que permite utilizar consultas avançadas (tipo CUBE ou OLAP), melhorando, assim, sua performance? A) SQL-92. B) SQL Server C) MySQL. D) No-SQL. E) SQL:1999. 4)Quando é necessário armazenar um valor de no máximo 50 caracteres de texto em um registro, qual a tipagem de dados recomendada? A) Float. B) VarChar. C) Timestamp. D) TinyText. E) Text. 5) É uma forma de otimizar a performance do banco de dados: A) Concentrar o banco de dados apenas na nuvem. B) Usar somente a tipagem VarChar em todos os campos. C) Nunca utilizar o atributo WHERE. D) Ter a conexão com a Internet de fibra ótica E) Quebrar as instruções SQL complexas em várias instruções menores Refinamento de banco de dados 1) A busca de registros em uma tabela de banco de dados por meio de uma instrução SQL pode ser realizada de maneira otimizada quando as colunas filtradas pela cláusula WHERE têm índices. Indique o tipo de varredura que ocorre em uma tabela cujo filtro da consulta SQL acessa uma coluna não indexada. A) Pontual. B) Indexada. C) Full table scan. D) Aleatória. E) Indireta. 2) Os índices auxiliam no desempenho de consultas SQL em bancos de dados. No entanto, o uso indiscriminado de índices pode reduzir o desempenho de algumas operações. Marque a alternativa que representa quais operações podem ter perda de performance em uma tabela que tem muitas colunas indexadas. A) Inserções e consultas. B) Consultas e exclusões. C) Exclusões e inserções. D) Varreduras e inserções. E) Alterações e varreduras. 3) O banco de dados MySQL tem diversos tipos de índices que auxiliam na execução de consultas por meio de instruções SQL. Informe a alternativa que representa todos os tipos de índice disponíveis no MySQL. A) Primary, secondary, unique e fulltext. B) Primary, unique, index e fulltext. C) Primary, secondary, unique e full. D) Primary, index, unique, full. E) Primary, secondary, index e fulltext. 4) Bancos de dados aplicam restrições para garantir a integridade dos dados armazenados. Indique a alternativa que representa a restrição que impõe limite de valores às colunas de uma tabela. A) Check. B) Foreign key. C) Not null. D) Primary key. E) Unique key. 5) Instruções SQL de definição e manipulação de dados permitem alterar tabelas de um banco de dados. Por meio dessas instruções, é possível criar índices em tabelas que já existem. Com base nisso, indique a alternativa que representa o comando que inclui uma restrição que impede valores duplicados, mas que aceita valores nulos. A) ALTER TABLE tabela ADD SINGLE INDEX `indice` (`coluna` ASC). B) ALTER TABLE tabela ADD FULLTEXT INDEX `indice` (`coluna` ASC). C) ALTER TABLE tabela ADD PRIMARY KEY `indice` (`coluna` ASC). D) ALTER TABLE tabela ADD INDEX `indice` (`coluna` ASC). E) ALTER TABLE tabela ADD UNIQUE INDEX `indice` (`coluna` ASC). Automatização de tarefas em bancode dados 1) O shell é um interpretador de comandos que utiliza scripts para implementar instruções. Para inicializar a execução de um shell script para automação em um banco de dados, deve-se utilizar os caracteres: A) #!/bin/bash. B) #!/bin/kernal-shell. C) #!/bin/path. D) #!/bin/prompt. E) #!/bin/script-path. 2) O shell script, quando inicializado, apresenta configurações básicas que valem para todos os usuários de um banco de dados. Qual a instrução shell responsável pelas instruções básicas do interpretador shell? A) /etc/read. B) /echo/path. C) /bin/shell. D) /etc/profile. E) /echo/bin. 3) Scripts shell adotam a automatização por sequência de instrução, a fim de facilitar a ordem lógica de instruções no banco de dados. Dessa forma, para realizar a automatização de tarefas em bancos de dados, os scripts shell precisam ser estruturados em sequência, independentemente de: A) instrução prévia. B) compilação prévia. C) execução prévia. D) armazenamento prévio no path. E) comando prévio. 4) São utilizados scripts shell em diversos cenários de automação, com a utilização de variáveis, strings e argumentos, a fim de executar as respectivas instruções em banco de dados. Qual instrução é utilizada para apresentar as variáveis e seus argumentos, por meio do shell script? A) left. B) echo. C) shift. D) cat. E) bash. 5) Quando as instruções automatizadas de shell são descritas em scripts, estas são armazenadas para formar rotinas de execução. Essas rotinas de scripts shell automatizadas ficam armazenadas em: A) instâncias do banco de dados. B) diretórios do prompt de comando. C) instâncias shell. D) diretório no batch. E) diretório path. Hadoop Distributed Filesystem 1) No que diz respeito a Data Warehouse, Data Lake e Big Data, é importante entender que o coração do sistema é o seu formato de armazenamento e recuperação dos dados. Um sistema eficiente para o armazenamento é o Hadoop Distributed FileSystem. Escolha a alternativa que descreve como o HDFS consegue armazenar de forma tão eficiente uma grande massa de dados: A) Por meio da divisão dos dados em blocos. B) Por meio de restrições de discos. C) Pela configuração presente no arquivo dfs.divide. D) Eliminando dados redundantes. E) Armazenando todos dados em um único dispositivo de armazenamento. 2) A arquitetura HDFS é extremamente eficiente ao lidar com grandes massas de dados. Para que o HDFS funcione perfeitamente, sua arquitetura foi dividida em três principais componentes, sendo que cada um deles tem sua função bem definida. Quando se fala na arquitetura HDFS, pode-se dizer que os principais componentes são: A) NameNode, Secondary NameNode e DataNodes. B) NameNode, Copy file NameNode e DataNodes. C) Arquivos lineares, NameNode e DataNodes. D) NameNode, Secondary NameNode e Datalog's. E) Slack space, NameNode e DataNode. Mesmo em sistemas mais modernos, sempre existe a possibilidade de determinado local que armazena dados falhar. O HDFS armazena seus dados nos DataNodes. Imagine que, em seu sistema de Big Data em pleno funcionamento, durante uma leitura de dados, um DataNode falha. 3)Assinale a alternativa que descreve o que acontece nesse caso: A) No momento da falha, o Hadoop Distributed System envia um sinal de paralização a todos os NameNodes e, nesse momento, os DataNodes presentes no HDFS irão criar duas replicações rápidas de segurança. B) O HDFS, por meio de seu sistema de tolerância a falhas, irá procurar os dados em outra replicação e, após isso, criará mais uma replicação de segurança, mantendo o mesmo número de replicações antes de a falha ocorrer. C) Como o HDFS foi projetado para tolerar falhas, ele apenas irá procurar os dados em outra replicação, e isso sanará totalmente o problema sem necessidade de novas intervenções. D) O HDFS indicará na tela uma mensagem de falha de leitura de setor e irá sugerir para você usar uma ferramenta que tente realizar a correção dos dados semelhante ao Scandisk presente nos Windows. E) O HDFS irá ativar um sistema de bloqueio de dados e tudo será travado; você receberá um prompt e fará a correção e a recuperação manualmente. 4) Um sistema de armazenamento eficiente é um sistema tolerante a falhas. O HDFS é muito seguro por trabalhar com blocos e réplicas que podem, inclusive, ter suas configurações determinadas pelo admnistrador do sistema. Assinale a alternativa que descreve como o HDFS conseguedetectar e se recuperar de um problema quando um DataNode falha: A) Em instantes, o NameNode fica sabendo das condições dos DataNodes e é gerado um relatório de bloqueio em caso de falhas. Se houver uma falha e ainda existir uma cópia de dados funcional, ela será replicada até chegar no padrão de cópias definidas pelo administrador do HDFS. B) Em instantes, o DataNode Mestre fica sabendo das condições dos DataNodes e é gerado um relatório de bloqueio em caso de falhas. Se houver uma falha e ainda existir uma cópia de dados funcional, ela será replicada até chegar no padrão de cópias definidas pelo administrador do HDFS. C) Em instantes, o NameNode fica sabendo das condições dos DataNodes e é gerado um relatório de bloqueio em caso de falhas. Se houver uma falha e ainda existir uma cópia de dados funcional, ela será replicada até chegar ao dobro do padrão de cópias definidas pelo administrador do HDFS. D) Em instantes, o NameNode fica sabendo das condições dos NameNodes e é gerado um relatório de bloqueio em caso de falhas. Se houver uma falha e ainda existir uma cópia de dados funcional, ela será replicada até chegar no padrão de cópias definidas pelo administrador do HDFS. E) Em instantes, os DataNodes ficam sabendo das condições dos Namenodes e é gerado um relatório de bloqueio em caso de falhas. Se houver uma falha e ainda existir uma cópia de dados funcional, ela será replicada até chegar no padrão de cópias definidas pelo administrador do HDFS. 5) Imagine o seguinte cenário: sua empresa tem 10 DataNodes com fator de replicação 3x. Os DataNodes estão com 88% de sua capacidade livre. Se fosse alterado o fator de replicação para 4x e não fosse, no momento, alterada qualquer quantidade de dados, os DataNodes ficariam com quanto (em %) da sua capacidade livre? A) 84%. B) 70%. C) 90%. D) 50%. E) 45%. MapReduce na prática: agregação parcial por meio do Combiner paraotimizar desempenho 1) O Hadoop tem sido empregado em diversos ambientes de Big Data da atualidade, por ter bom desempenho para trabalhar com grande volume de dados. Quais são os principais componentes encontrados no Hadoop? A) Hadoop Common, Raid, MapReduce. B) MapReduce, HDFS, Hadoop Common. C) MapReduce, HDFS, NameNode. D) MapReduce, JobTracker, NameNode. E) NameNode, HDFS, JobTracker. 2) Um analista de Big Data enfrenta diariamente diversos desafios para ampliar o desempenho das aplicações. Sabendo disso, analise as seguintes informações: I. Utilizar RAID em máquinas com TaskTracker e DataNodes pode melhorar o desempenho do ambiente. II. Filtrar os registros ao realizar tarefas mapeadoras e não redutoras. III. Usar diversas combinações para formar uma chave de saída do MapReduce. IV. Implantar o Combiner para diminuir a carga de rede. V. Evitar utilizar um SecondaryNameNode, pois poderá impactar significativamente o desempenho do cluster. Quais estão corretas? A) III e IV. B) I, II e IV. C) III, IV e V. D) II e IV. E) I e III. 3) Diariamente, analistas de Big Data enfrentam desafios durante o processamento de grandes volumes de dados. Entre esses problemas, encontra-se a distorção de dados. Esse problema ocorre quando: A) o servidor inteiro do Hadoop para de responder e o usuário perde todo o trabalho realizado. B) um programador faz um código malfeito que gera travamento na execução das tarefas do MapReduce. C) não existe nenhuma maneira de utilizar mais do que uma máquina para montar um cluster Hadoop. D) houver alguma falha de sistema que faça com que os dados não possam ser acessados, e somente nessa situação. E) existe um desequilíbrio na quantidade de dados atribuídos a cada tarefa. 4) O trabalho do analista de Big Data exige conhecer, de maneira clara, diversos componentes do Hadoop. Entre esses componentes, o HDFS faz o armazenamento e o MapReduce processa os dados. Para que isso ocorra, esses dois componentes têm outros dentro de si, que são responsáveis por essas atividades. Sabendo disso, marque a alternativa que explica o funcionamento do NameNode e do JobTracker. A) O NameNode é responsável por executar as tarefas recebidas dos DataNodes e armazenar os metadados do HDFS. Já o JobTracker é responsável por executar tarefas distintas do MapReduce, recebidas pelos TaskTrackers. Além disso, o JobTracker supervisiona o andamento dessas atividades. B) O NameNode é uma aplicação que verifica se os componentes do TaskTacker estão em perfeito funcionamento, enquanto o JobTracker insere tarefas a esses componentes. Além disso, o MapReduce envia coordenadas ao NameNode sobre futuras tarefas que serão realizadas pelo sistema. c)O NameNode é responsável por enviar tarefas e monitorar o status dos DataNodes, além de armazenar os metadados do HDFS. Já o JobTracker é responsável por dar suporte ao C)MapReduce, enviando coordenadas de tarefas aos TaskTrackers e monitorando seu funcionamento. D) O NameNode é responsável por designar tarefas ao componente JobTracker, que verifica e envia essas tarefas aos DataNodes, para executarem o processo recebido pelas tarefas do MapReduce. E) O NameNode e o JobTracker são dois componentes do MapReduce, responsáveis por processar grandes demandas de dados, por meio das tarefas Map e Reduce. Além disso, devem reportar diretamente ao MapReduce o estado da tarefa. Caso uma tarefa fique off-line, isso deverá ser informado ao MapReduce. 5) Toda empresa que trabalha com Big Data enfrenta desafios durante o processamento de dados, devido a seus grandes volumes. Sendo assim, é necessário que um analista de Big Data conheça processos que permitam otimizar as atividades de processamento de dados. Uma dessas atividades de otimização é o Combiner. Sabendo disso, qual é a função do Combiner em uma tarefa MapReduce? A) Processar os dados recebidos pelo JobTracker, durante o processamento de dados de uma tarefa MapReduce. B) Processar os dados recebidos da saída do redutor, antes de chegarem à saída final da tarefa MapReduce. C) Processar somente os dados que não passaram pela função mapeadora e, em seguida, enviar para essa função os dados processados. D) Processar os dados recebidos pela saída do mapeador localmente, antes de serem repassados para o redutor. E) Processar dados de saída da função mapeadora e, em seguida, processar novamente os dados após a saída do redutor. Analisar e compreender a utilizaçãodo Banco de Dados NoSQL 1) Com relação a bancos de dados NoSQL, marque a afirmativa correta. A) Veio para substituir os bancos de dados relacionais. B) Os banco de dados NoSQL têm como característica a organização dos dados em tabelas. C) O Modelo NoSQL é um tipo de gerenciador de banco de dados que conecta os registros em forma de árvore e cada tipo de registro tem apenas uma raiz. D) NoSQL (não somente SQL), refere-se à solução de banco de dados que possibilita o armazenamento de uma grande variedade de dados existentes, não se limitando apenas a modelos relacionais. E) As empresas que optam pelo uso de NoSQL devem eliminar o trabalho com outros modelos de bancos de dados. 2) Marque a alternativa correta referente a bancos de dados NoSQL. A) O modelo NoSQL normaliza dados em estruturas tabulares. B) Sistemas de gerenciamento de bancos de dados NoSQL são compatíveis com um conjunto de propriedades definido pela sigla ACID. C) Bancos de dados não relacionais (NoSQL) normalmente não aplicam um schema. D) Bancos de dados NoSQL são mais fáceis de aumentar a escala "verticalmente" com hardware mais rápido. E) Em bancos de dados NoSQL as solicitações para armazenar e recuperar dados são comunicadas usando consultas compatíveis com structured query language (SQL). 3) De acordo com as características dos bancos de dados NoSQL, pode-se afirmar que: A) A característica ausência de esquema (Schema-free) ou esquema flexível é outra formade prover a escalabilidade em bancos de dados NoSQL. B) Ausência de esquema garante a integridade dos dados.C) Na consistência eventual, o foco não está no armazenamento dos dados e sim como recuperar estes dados de forma eficiente. D) Map/reduce suporta mecanismos de armazenamento e recuperação, onde a quantidade de sites está em constante mudança. E) Vector clocks cria um vetor para o armazenamento de dados. 4) Referente aos tipos de bancos de dados NoSQL. Marque a afirmativa correta. A) Bancos de dados colunares são projetados para armazenar dados como documentos. B) Chave/Valor são projetados para armazenar dados como documentos. C) Banco de dados orientado a documentos armazenam vértices e links direcionados chamados de bordas. D) O banco de dados orientado a documentos armazena pedaços críticos de dados na memória para acesso de baixa latência. E) Bancos de dados orientado a grafos podem ser construídos em ambos os modelos de bancos de dados, relacionais e NoSQL. 5) Existem muitos bancos de dados para se trabalhar com NoSQL, cada banco está associado a um determinado tipo do NoSQL. Marque a alternativa em que todos os bancos de dados estão associados ao seu respectivo tipo. A) Baseado em chave-valor: MongoDB, CouchDB, BigCouch, RavenDB. B) Baseado em grafos: cassandra e hypertable. C) Baseado em chave-valor: Neo4J e Infinite Graph. D) Baseado em documentos: Dynamo, Azure Table Storagee e Couchbase Server. E) Baseado em coluna: Amazon SimpleDB, Cloudata, Cloudera,SciDB, HPCC e Stratosphere. Classificação dos bancos de dados não relacionais 1) Existem aplicações cujos dados estão extremamente interligados, com diversos tipos diferentes de entidades se relacionando. As consultas que precisam ser realizadas sobre esses dados envolvem a verificação de ligações em vários níveis entre as entidades. Nesses casos, qual é o tipo de banco de dados mais adequado? A) Relacional. B) De documentos. C) De grafos. D) Colunar. E) De chave/valor. 2) Bancos de dados colunares armazenam os registros em disco de forma sequencial para cada coluna, ao contrário do que bancos de dados relacionais fazem. Qual é a principal vantagem de se armazenar os dados dessa forma? A) Reduzir o consumo de espaço em disco. B) Permitir carregar em memória apenas colunas específicas. C) Deixar mais rápidas consultas de agregação por colunas específicas. D) Permitir uma maior compactação dos dados. E) Deixar mais rápidas consultas que escaneiam todas as colunas. 3) Bancos de dados relacionais implementam o protocolo Two phase commit (Commit de duas fases) para garantir a consistência das transações. Por qual motivo bancos de dados NoSQL, geralmente, evitam utilizar esse protocolo? A) Porque o protocolo é bloqueante e não escala. B) Porque o protocolo só consegue garantir consistência eventual. C) Porque ele não consegue garantir a durabilidade das transações. D) Porque o protocolo não suporta réplicas de leitura. E) Porque o protocolo não suporta sharding de dados. 4) As propriedades BASE são uma alternativa ao ACID utilizadas por bancos de dados NoSQL que buscam flexibilizar a consistência em favor da disponibilidade. Com relação às propriedades BASE, qual é a afirmativa correta? A) O BASE garante consistência forte. B) O BASE dá foco na disponibilidade das aplicações. C) O BASE corresponde aos sistemas CA pelo Teorema de CAP. D) Com o BASE, réplicas precisam estar consistentes o tempo todo. E) O BASE tem consistência mais forte do que sistemas CA do Teorema de CAP. 5) Bancos de dados colunares são muito usados atualmente, com vários cases de grandes empresas que os utilizam para grandes volumes de dados. Dos casos a seguir, qual pode ser resolvido melhor com o uso de um banco de dados colunar? A) Cache de dados de uma aplicação Web. B) Armazenamento de dados de pessoas e amizades de uma rede social. C) Armazenamento de dados de conteúdos de um blog. D) Aplicação com grande volume de logs de dispositivos gerados em tempo real. E) Armazenamento de cesta de compras em um e-commerce. Imagine que você foi contratado por uma corporação. A empresa está planejando desenvolver um novo sistema para vendas on-line de seus produtos. Para tanto, será necessário escolher um sistema de gerenciamento de banco de dados. Vamos supor que você tenha sido escolhido para lidar com essa questão, qual seria o caminho correto para tomar a decisão de escolha? a. Um dos caminhos é o entendimento por partes do que o sistema ou aplicação fará, o seu tamanho, a necessidade de mudanças e a quantidade de usuários simultâneos. Caso a aplicação seja web, com acessos moderados e tamanho de grande a pequeno, pode-se optar por Oracle, Microsoft SQL Server ou, ainda, PostgreSQL. Se a necessidade é para suportar uma aplicação grande, com vários acessos simultâneos, cruzamento de dados intenso e grande granularidade de perfis, prefira o PostgreSQL ou, ainda, o MariaDB. Por fim, se a necessidade de performance falar acima de qualquer outra frente, será necessário a utilização de bancos de dados NoSQL, como o MongoDB, por exemplo. b. No momento da escolha do Sistema Gerenciador de Banco de Dados você precisa observar quem será o usuário da sua aplicação de banco de dados. Se você precisar de alternativas mais avançadas, o melhor é utilizar uma plataforma de banco de dados não relacionais. Visto que muitas opções já vêm com os recursos que você necessita, como o MySQL Workbench, por exemplo. Caso a aplicação seja web, com acessos moderados e tamanho de pequeno a médio, pode-se optar por MySQL, Google Cloud Bigtable ou, ainda, PostgreSQL. c. Um dos caminhos é escolher o SGBD mais popular, visto que estes sistemas são mais atualizados e com isso irá suprir a necessidade da empresa. No ranking de classificação DB-Engines o sistema gerenciador de banco de dados mais popular é o Oracle. Por fim, se a necessidade de performance falar acima de qualquer outra frente, será necessário a utilização de bancos de dados distribuídos, como o Cassandra, por exemplo. d. No momento da escolha do Sistema Gerenciador de Banco de Dados você precisa observar quem será o usuário da sua aplicação de banco de dados. Se você precisar de alternativas mais avançadas, o melhor é utilizar uma plataforma gratuita. Muitas opções já vêm com os recursos que você necessita, como o SQL Server, por exemplo. Caso a aplicação seja web, com acessos moderados e tamanho de pequeno a médio, pode-se optar por MySQL, Google Cloud Bigtable ou, ainda, PostgreSQL. e. Um dos caminhos é o entendimento completo do que o sistema ou aplicação fará, o seu tamanho, a necessidade de mudanças e a quantidade de usuários simultâneos. Caso a aplicação seja web, com acessos moderados e tamanho de pequeno a médio, pode-se optar por MySQL, MariaDB ou, ainda, PostgreSQL. Se a necessidade é para suportar uma aplicação grande, com vários acessos simultâneos, cruzamento de dados intenso e grande granularidade de perfis, prefira o Oracle ou, ainda, o Microsoft SQL Server. Por fim, se a necessidade de performance falar acima de qualquer outra frente, será necessário a utilização de bancos de dados NoSQL, como o MongoDB, por exemplo. Uma empresa de TI que presta serviços técnicos conta com cerca de 15 técnicos e utiliza uma aplicação interna simples que possibilita a consulta de dados de seus funcionários para a liberação de pagamentos de serviços avulsos realizados aos seus clientes. Atualmente, seu sistema é arcaico, e, por isso, a equipe de TI resolveu realizar algumas alterações, de maneira a tornar o sistema mais eficiente. Nesse sentido as seguintes considerações devem ser observadas: A nova estrutura precisa ter somente um servidor na sede, responsável por alimentar o banco de dados com as informações necessárias ao uso dessa aplicação. Essasinformações são praticamente estáticas, adicionadas somente quando algum funcionário novo é admitido; por isso, não necessitam de atualizações constantes. A empresa conta com três lojas especializadas que fazem a busca por esses cadastros realizados somente na sede da empresa com a finalidade de atribuir aos técnicos os serviços e emitir a guia de pagamento com os dados do cadastro. Cada uma terá seu próprio servidor integrado ao mesmo cluster do servidor da sede e deve ser capaz de realiza as consultas com: nome do funcionário; data de nascimento e CPF previamente cadastrado no processo de admissão; dados bancários. Em raros casos, estas lojas farão atualizações nas informações. Diante desse cenário, marque a alternativa que descreve o tipo de cluster mais adequado para essa organização: a. O cluster mais adequado para esse caso é o cluster de efetivação, que podem existir transações locais e globais, na qual as informações ficariam armazenadas no servidor de banco de dados mantido pela sede da empresa por meio do da transação global responsável pelas atualizações que ocorrem no sistema de maneira esporádica, permitindo que as lojas geograficamente distribuídas efetuem as consultas necessárias sem necessidade de alterar os dados. Nesse caso, o modo assíncrono pode ser utilizado, visto que essas consultas não necessitam que os dados sejam frequentemente atualizados. b. O cluster mais adequado para esse caso seria o mestre-escravo, em que as informações ficariam armazenadas no servidor de banco de dados mantido pela sede da empresa por meio do nó mestre responsável pelas atualizações que ocorrem no sistema de maneira esporádica, permitindo que as lojas geograficamente distribuídas efetuem as consultas necessárias sem necessidade de alterar os dados. Nesse caso, o modo assíncrono pode ser utilizado, visto que essas consultas não necessitam que os dados sejam frequentemente atualizados. c. O cluster mais adequado para esse caso seria o Two-Phase-Commit, em que as informações ficariam armazenadas no servidor de rede mantido pela sede da empresa por meio do nó mestre responsável pelas atualizações que ocorrem no sistema de maneira esporádica, permitindo que as lojas geograficamente distribuídas efetuem as consultas necessárias sem necessidade de alterar os dados. Nesse caso, o modo síncrono pode ser utilizado, visto que essas consultas não necessitam que os dados sejam frequentemente atualizados. d. O cluster mais adequado para esse caso seria o fragmentação-escravo, em que as informações ficariam armazenadas no servidor web mantido pela sede da empresa por meio do nó mestre responsável pelas atualizações que ocorrem no sistema de maneira esporádica, permitindo que as lojas geograficamente distribuídas efetuem as consultas necessárias sem necessidade de alterar os dados. Nesse caso, o modo síncrono pode ser utilizado, visto que essas consultas não necessitam que os dados sejam frequentemente atualizados. e. O cluster mais adequado para esse caso seria as técnicas de replicação, em que as informações ficariam armazenadas no servidor de rede mantido pela sede da empresa por meio de um algoritmo mestre responsável pelas atualizações, permitindo que as lojas geograficamente distribuídas efetuem as consultas necessárias sem necessidade de alterar os dados. Nesse caso, o modo assíncrono pode ser utilizado, visto que essas consultas não necessitam que os dados sejam frequentemente atualizados.