Baixe o app para aproveitar ainda mais
Prévia do material em texto
Frameworks para Big Data III Frameworks de armazenamento não estruturados 1. O Hadoop é um ecossistema de tecnologias versáteis que podem ser amplamente utilizadas para armazenamento, processamento e análise de grandes volumes de dados. Sobre os módulos básicos que formam o Hadoop, é correto afirmar que: Você acertou! C. MapReduce é o sistema que permite a programação paralela de grandes volumes de dados. Os quatro módulos básicos do Hadoop são: Hadoop Common, que constitui as bibliotecas e funções gerais; YARN, um sistema de gerenciamento de recursos; MapReduce, responsável pela programação paralela de grandes volumes de dados; e HDFS (Hadoop Distributed File System), que é um sistema de armazenamento distribuído de dados. 2. O HDFS é um sistema tolerante a falhas, ou seja, continua funcionando corretamente mesmo que um dos seus componentes tenha parado de funcionar. Sobre os mecanismos que possibilitam essa tolerância, é correto afirmar que: Você acertou! B. o NameNode monitora o bom funcionamento de um DataNode a partir dos pulsos que este envia. Na replicação, os dados são replicados várias vezes e armazenados em diferentes DataNodes e cada DataNode envia frequentemente um pulso para o NameNode que indica que está em funcionamento. Ao parar de enviar um pulso, o DataNode é considerado "morto" e a sua replicação para um novo é iniciada mesmo que o cliente ainda esteja acessando os dados em outro DataNode. No caso do ponto de verificação, é uma estratégia que possibilita que o dado seja restaurado até um determinado espaço de tempo após a modificação. Para que o sistema funcione, o arquivo chamado fsImage armazena o ponto de verificação mais recente, enquanto o arquivo log registra as modificações. 3. Uma das principais características do armazenamento em nuvem é o fato de tanto a cobrança quanto o espaço disponível estarem atrelados à demanda da empresa. Sobre esse serviço "sob demanda", é verdade que: Você acertou! B. reduz os custos da empresa a longo prazo porque só se paga pelo que realmente é utilizado. O armazenamento sob demanda reduz os custos da empresa pelo fato de pagar apenas o que foi consumido. Mesmo que o valor não esteja predeterminado, a empresa não tem um prejuízo quando o volume de dados armazenado é conhecido e previsto em seu orçamento. O limite de armazenamento das principais fornecedoras é ilimitado e liberado na hora que for solicitado, sem necessidade de aprovação. Cada uma das empresas que presta esse serviço tem diversas soluções de armazenamento diferentes, visando a atender diferentes públicos e objetivos. 4. A Amazon Web Service é a plataforma de computação em nuvem mais utilizada, contando com diferentes frameworks para análise e armazenamento de dados. Quanto à solução de armazenamento S3, sabe-se que: Você acertou! E. https://www.estudesemfronteiras.com/log_in/start_lessons_pos.php?id=4474&course_id=1#collapse8 tem a maior infraestrutura global, com mais de 60 zonas de disponibilidade. Amazon S3 é uma solução de armazenamento desenvolvida para lidar com grandes volumes de dados. Embora seja a solução mais cara entre as mais conhecidas, é capaz de armazenar todo tipo de dado com proteção inclusa na plataforma e apresenta a maior infraestrutura global para esse tipo de serviço. 5. Amazon S3, Microsoft Azure, Google Cloud Storage e IBM Cloud Object Storage são as soluções de armazenamento mais conhecidas. Quando comparadas, é possível identificar algumas semelhanças e diferenças. É correto afirmar que: Você acertou! E. IBM Cloud é a que tem o menor custo de armazenamento TB/mês. Embora tenham muitas semelhanças, algumas diferenças pontuais das plataformas as diferenciam. A Amazon, por exemplo, apresenta uma capacidade computacional 5 vezes maior que os outros. O Azure só suporta aplicações voltadas para o sistema operacional Windows. O Google tem o menor número de ferramentas integradas. Já a IBM não tem um período gratuito no seu armazenamento em nuvem, embora apresente o menor custo de armazenamento. Frameworks de armazenamento de dados de big data 1. Sabe-se que, independente de qual seja, as formas de armazenamento de dados devem ser capazes de gravar, armazenar e permitir a leitura de informações. Entretanto, quando se trata de um grande volume de dados, apenas isso não é o suficiente. É necessário que sejam cobertos pelo menos outros três pontos cruciais para a manipulação de big data. Quais são eles? Você acertou! D. Volume, variedade e velocidade. Três características principais do big data são: volume, que deve ser escalável para suportar o crescimento do armazenamento; velocidade, importante para que a informação seja acessada o mais rápido possível; e variedade, já que podem existir diferentes tipos de dados em um mesmo projeto. Atendendo a esses requisitos, é possível que os dados sejam armazenados satisfatoriamente. 2. Existem diferentes tipos de armazenamento, como visto no nosso capítulo. Se o seu projeto envolve a transferência de dados entre usuários e dispositivos e o número de usuários é grande, qual tipo é mais indicado? Você acertou! C. Storage area network. A rede de área de armazenamento (SAN, do inglês storage area network) é o sistema mais indicado para comportar um grade volume de tráfego de dados. Embora tenha um custo de implantação e utilização mais alto que os demais, a flexibilidade e facilidade de acesso possibilitam que diferentes usuários acessem um grupo de arquivos ao mesmo tempo. Diferentemente do SAN, o direct attached storage não permite o compartilhamento de conteúdo entre usuários. O network attached storage, apesar de possibilitar o compartilhamento, não suporta uma grande quantidade de usuários. As outras duas alternativas (attached defined storage e storage defined storage) são incorretas porque são inexistentes. 3. Cada framework de armazenamento guarda os dados em um determinado formato, de acordo com a arquitetura para a qual foi projetado. Esses dados podem ser armazenados em forma de arquivo, bloco ou objeto. Qual é a característica de um "objeto"? Você acertou! A. Possuir metadado e dado. Objeto é uma estrutura plana na qual os arquivos são divididos em pedaços e distribuídos pelos elementos de hardware, de forma que é preciso ter metadado, além do dado. A divisão e o armazenamento em diferentes partes iguais são características do armazenamento em blocos. Quando os dados são armazenados em pastas, assumem o formato de arquivo. O tamanho do dado não interfere no seu formato de armazenamento. 4. O armazenamento em nuvem vem ganhando cada vez mais espaço. Os serviços prestados pela Amazon (S3), Microsoft (Azure) e Google (Cloud Storage) são alguns dos principais do mercado. Entre eles existem muitas coisas em comum, mas um se distingue principalmente por: Você acertou! C. abordagem de armazenamento. Os três tipos de serviço são bem parecidos, com taxas muito próximas de disponibilidade, durabilidade e preço por GB por mês. Também são escalonáveis/elásticos, mas diferem um pouco quanto à abordagem de armazenamento, já que o Microsoft Azure utiliza “blobs” de blocos em vez de objetos, como os outros dois serviços. 5. O armazenamento dos dados em nuvem apresenta algumas vantagens. Qual dos itens a seguir representa uma vantagem do armazenamento em nuvem em relação ao on-premise? Você acertou! D. O armazenamento em nuvem é mais barato porque o usuário geralmente só paga pelo que consome. Pagar apenas pelo que se consome é muito mais vantajoso do que manter um disco em que o espaço de armazenamento nem sempre é totalmente usado, mas que custa a mesma coisa. Dessa forma, o armazenamento em nuvem é mais barato e o escalonamento de volume necessário é mais prático. As outras alternativas não estão corretas porque, embora realmente utilizem novas tecnologias, que podem facilitar o trabalho, é necessário um certo nível de treinamento e estudode armazenamento de dados em nuvem antes de utilizá-los em larga escala. No caso de armazenamento em mídias como CDs e pendrives, há o problema de segurança de dados e integridade dos arquivos, além da questão de que levar para "qualquer lugar" depende da intervenção humana prévia, enquanto no armazenamento em nuvem você pode acessar os dados sempre que precisar, mesmo que não tenha pensado nessa necessidade antes de sair de casa. No caso do HDFS, os dados podem ser armazenados de modo distribuído, mas o fato de ter armazenamento livre em disco não utilizado reduz o seu custo-benefício. É muito melhor, nesse sentido, ter um armazenamento em nuvem e pagar apenas pelo que se utiliza no momento. Frameworks que utilizam sharding como forma de distribuição 1. O particionamento horizontal de um banco de dados (ou sharding) é realizado utilizando estruturas que permitem a identificação de cada partição. Quanto a estas, as três mais comuns são: Você acertou! C. hash, intervalo e diretório. As três estruturas mais comuns de sharding são: chave (também chamado de hash),intervalo (que seria uma faixa de valores) e diretório. Assim, "chave" e hash são redundantes, assim como "intervalo" e "faixa". O hash consistente é um hash mais sofisticado que ocorre apenas em alguns casos, assim como a divisão por zonas/localização, e, portanto, não são os mais comuns. 2. O particionamento de dados está intimamente ligado à replicação. Quantos a esses dois processos, é verdade que: Você acertou! D. a integração do sharding com a replicação promove a alta disponibilidade. O sharding particiona os dados em fragmentos, que são armazenados em shards. Os dados contidos nesses shards devem ser copiados por meio da replicação a fim de promover alta disponibilidade desses dados, enquanto a replicação faz cópias deles. Assim, embora sejam processos distintos, há uma ligação prática entre sharding e replicação. A utilização do sharding torna a replicação necessária, de forma que apenas em conjunto com ela é possível garantir a alta disponibilidade do sistema. 3. O Apache Cassandra utiliza uma estrutura de hash consistente para particionar os dados. Quanto a essa estrutura, escolha a alternativa correta: Você acertou! E. É organizado em uma estrutura visualizada como um anel. Os dados particionados utilizando o hash consistente geram até 255 tokens,que são agrupados no cluster em uma estrutura sempre similar a um anel, de forma que outras estruturas, como cubo ou estrela, não são possíveis. Uma das vantagens dessa organização é que não há alta movimentação de dados. 4. Para realizar o sharding, o MongoDB necessita de uma estrutura mínima com três componentes: shards, roteadores de consulta e servidores de configuração. Quanto a esses componentes, é verdade que: Você acertou! A. os roteadores de consulta são a interface entre o aplicativo cliente e os shards propriamente ditos. Os shards são conjuntos de réplicas dos dados particionados. Os roteadores de consulta constituem uma interface entre o aplicativo cliente e os shards propriamente ditos. Embora os dados fiquem armazenados nos shards, as informações necessárias para a consulta não ficam nessas estruturas, e sim nos servidores de configuração, onde estão os metadados e outras configurações gerais. Assim, o armazenamento dos dados particionados (nos shards) e dos metadados (nos servidores) ocorre separadamente. 5. Os roteadores de consulta do MongoDB são chamados de mongos. Quanto aos mongos, é correto afirmar: Você acertou! C. A cada consulta é necessário que os mongos acessem os metadados, mesmo que essa busca seja repetida. Os mongos buscam pelo dado solicitado nos diferentes shards disponíveis para aquele banco de dados, ou seja, os mongos não são específicos para cada shard, e uma mesma busca pode ocorrer em diferentes partições. Por meio dos metadados, os mongos são capazes de saber a localização de um dado, facilitando o processo. Como esses metadados são mutáveis, a cada consulta os mongos precisam acessá-los novamente, mesmo que haja repetição de busca. Além de realizarem as consultas, os mongos têm outra importante função: mesclagem de dados. Se o resultado da consulta estiver em diferentes shards, é feita a mesclagem, e os resultados para o aplicativo cliente aparecem de forma unificada. Aplicações simples utilizando frameworks de big data 1. Quando se deseja criar aplicações utilizando o Hadoop MapReduce, é necessário usar interfaces específicas. Assinale a alternativa que representa apenas interfaces de aplicações Hadoop MapReduce: Você acertou! D. Mapper, Reducer, Partitioner e Counter. As interfaces de aplicações Hadoop MapReduce são Mapper, Reducer, Partitioner, Counter e Job. O JavaRDD e o JavaPairRDD são classes para implementação de aplicações utilizadas no Apache Spark. 2. Uma aplicação que utilize o Apache Spark para solucionar um desafio de Big Data tem operações de transformação e de ação. Assinale a alternativa que representa apenas funções de transformação: Você acertou! B. map, groupByKey e filter. As funções de transformação são: map, groupByKey, filter, union, join e intersection. As funções count, saveAsTextFile e collect são operações de ação. 3. A grosso modo, no Spark RDD, as operações que produzem novos RDDs são chamadas de transformações e as de ação representam funções para manipular um conjunto de dados no RDD atual. Assinale a alternativa que representa a operação de ação que grava o RDD no arquivo: Você acertou! E. saveAsTextFile. A opção que representa uma operação de ação que grava o RDD no arquivo é a saveAsTextFile. A take e a collect são operações de ação, sendo que a primeira retorna um array com os primeiros n elementos e a segunda, um array com todos os elementos. Já as funções sample e cartesian são operações de transformação. 4. Com o MapReduce, é possível processar um conjunto de dados muito grande em paralelo e de forma distribuída. Assinale a alternativa que representa a afirmação verdadeira sobre as características e o funcionamento do MapReduce. Você acertou! C. Com o MapReduce, é possível distribuir os dados em clusters que podem chegar a milhares de nós. Com o MapReduce, é possível distribuir os dados em clusters que podem chegar a milhares de nós. A quantidade de dados que o MapReduce pode processar pode chegar a vários terabytes. Para utilizar o MapReduce, é possível utilizar máquinas e redes comuns na composição do seu cluster. Com o MapReduce, o programador não precisa se preocupar com problemas como tolerância a falhas e confiabilidade; o agendamento e o monitoramento das falhas são de responsabilidade do próprio framework. 5. O MapReduce superou desafios relacionados ao processamento paralelo e distribuído como divisão da tarefa entre os nós, confiabilidades e tolerância a falhas. Assinale a alternativa verdadeira em relação ao funcionamento do MapReduce: Você acertou! A. As tarefas de mapeamento produzem pares chave-valor intermediários, que são as entradas para as tarefas de redução. As tarefas de mapeamento produzem pares chave-valor intermediários, que são as entradas para as tarefas de redução. Após fazer a redução, a saída é do tipo C3, V3. Geralmente, em aplicações que utilizam o MapReduce, os nós de processamento e armazenamento são os mesmos. Depois da fase de mapeamento, as saídas geradas são do tipo C2, V2. A fase de mapeamento separa as palavras em chaves e vincula o valor 1 para cada uma delas.
Compartilhar