Prévia do material em texto
NoSQL 1. O que caracteriza um banco de dados NoSQL? A) Ele utiliza apenas tabelas relacionais B) Ele pode lidar com grandes volumes de dados nao estruturados ou semi-estruturados C) Ele nao possui nenhuma forma de indexacao D) Ele e exclusivamente usado para sistemas de pagamento Resposta correta: B) Ele pode lidar com grandes volumes de dados nao estruturados ou semi-estruturados Explicacao: Bancos de dados NoSQL sao projetados para lidar com grandes volumes de dados nao estruturados ou semi-estruturados, como documentos JSON, graficos ou dados em chave-valor, tornando-os ideais para aplicacoes que necessitam de escalabilidade horizontal. 2. Qual das opcoes abaixo e um tipo comum de banco de dados NoSQL? A) MySQL B) MongoDB C) PostgreSQL D) SQLite Resposta correta: B) MongoDB Explicacao: O MongoDB e um banco de dados NoSQL amplamente utilizado, que armazena dados em formato de documentos JSON (chamados de BSON, ou Binary JSON). Ele e escalavel e flexivel, permitindo a rapida insercao e recuperacao de dados. 3. Em um banco de dados NoSQL, o que e uma "colecao"? A) Uma estrutura de dados usada para armazenar indices B) Um conjunto de documentos ou registros C) Um tipo de chave estrangeira entre tabelas D) Uma funcao que executa agregacoes de dados Resposta correta: B) Um conjunto de documentos ou registros Explicacao: No MongoDB, por exemplo, uma "colecao" e o equivalente a uma tabela em um banco de dados relacional, sendo um conjunto de documentos que podem ser consultados, modificados ou deletados. As colecoes sao flexiveis, permitindo diferentes formatos de documentos. 4. Qual e a principal vantagem do uso de bancos de dados NoSQL em relacao aos bancos de dados relacionais? A) Eles sao mais faceis de usar e entender B) Eles oferecem suporte a transacoes ACID C) Eles sao mais adequados para grandes volumes de dados e escalabilidade horizontal D) Eles utilizam apenas o modelo de dados tabular Resposta correta: C) Eles sao mais adequados para grandes volumes de dados e escalabilidade horizontal Explicacao: Bancos de dados NoSQL sao projetados para escalar horizontalmente, ou seja, distribuir dados por varios servidores, o que e ideal para lidar com grandes volumes de dados e alta carga de trabalho. 5. O que significa o termo "escalabilidade horizontal" em bancos de dados NoSQL? A) Adicionar mais recursos a um unico servidor B) Distribuir a carga de trabalho entre varios servidores C) Aumentar a capacidade de armazenamento dentro de um unico banco de dados D) Diminuir a necessidade de redundancia de dados Resposta correta: B) Distribuir a carga de trabalho entre varios servidores Explicacao: A escalabilidade horizontal refere-se a pratica de adicionar mais servidores ao sistema para distribuir a carga e aumentar a capacidade de processamento e armazenamento. Isso permite que os bancos de dados NoSQL lidem com grandes volumes de dados e crescam conforme a demanda. 6. O que e o modelo "chave-valor" no contexto de NoSQL? A) Um modelo onde os dados sao armazenados em tabelas com linhas e colunas B) Um modelo onde os dados sao armazenados em pares de chave e valor C) Um modelo baseado em grafos D) Um modelo que permite dados apenas em formato de texto Resposta correta: B) Um modelo onde os dados sao armazenados em pares de chave e valor Explicacao: O modelo chave-valor e um dos tipos mais simples de banco de dados NoSQL, onde cada valor e associado a uma chave unica. Exemplos de bancos de dados chave-valor incluem Redis e Riak. 7. Qual e a principal diferenca entre bancos de dados NoSQL e bancos de dados relacionais? A) NoSQL usa apenas armazenamento em arquivos de texto, enquanto bancos relacionais usam apenas tabelas B) Bancos relacionais seguem o modelo ACID, enquanto bancos NoSQL geralmente nao implementam o modelo ACID completo C) Bancos de dados NoSQL nao podem lidar com grandes volumes de dados D) Bancos relacionais sao mais flexiveis do que bancos NoSQL Resposta correta: B) Bancos relacionais seguem o modelo ACID, enquanto bancos NoSQL geralmente nao implementam o modelo ACID completo Explicacao: Enquanto bancos de dados relacionais seguem o modelo ACID (Atomicidade, Consistencia, Isolamento, Durabilidade), muitos bancos de dados NoSQL preferem focar em escalabilidade e performance, sacrificando algumas propriedades ACID para garantir maior flexibilidade e desempenho em larga escala. 8. O que caracteriza o banco de dados NoSQL "documento"? A) Ele armazena dados em formato binario B) Ele armazena dados em documentos, frequentemente em JSON ou BSON C) Ele armazena dados apenas em strings D) Ele usa tabelas para armazenar dados relacionados Resposta correta: B) Ele armazena dados em documentos, frequentemente em JSON ou BSON Explicacao: Bancos de dados de documento, como o MongoDB, armazenam dados em documentos flexiveis no formato JSON ou BSON. Esses documentos podem ter estruturas diferentes, permitindo uma grande flexibilidade na forma como os dados sao armazenados. 9. O que significa "eventual consistency" em bancos de dados NoSQL? A) Os dados sao sempre consistentes, mas a performance e sacrificada B) A consistencia e garantida em todas as transacoes, a qualquer custo C) A consistencia dos dados pode ser alcancada de forma eventual, apos um periodo de tempo D) A consistencia e mantida apenas enquanto os dados estiverem em cache Resposta correta: C) A consistencia dos dados pode ser alcancada de forma eventual, apos um periodo de tempo Explicacao: No modelo de consistencia eventual, as alteracoes feitas nos dados podem nao ser imediatamente refletidas em todas as replicas do sistema. No entanto, a consistencia e alcancada eventualmente, o que significa que, apos um tempo, todos os dados estarao sincronizados. 10. Qual das alternativas a seguir e um exemplo de banco de dados NoSQL do tipo "grafo"? A) Redis B) Neo4j C) MongoDB D) Cassandra Resposta correta: B) Neo4j Explicacao: O Neo4j e um banco de dados NoSQL baseado em grafos. Ele e projetado para lidar com dados altamente interconectados, como redes sociais e sistemas de recomendacao, onde as relacoes entre os dados sao essenciais. 11. Quais sao as principais caracteristicas dos bancos de dados NoSQL de tipo "colunar"? A) Eles armazenam dados em colunas ao inves de linhas, otimizando o armazenamento de grandes volumes de dados similares B) Eles armazenam dados de forma hierarquica, como se fossem arvores C) Eles armazenam dados em pares de chave e valor D) Eles utilizam apenas consultas em SQL Resposta correta: A) Eles armazenam dados em colunas ao inves de linhas, otimizando o armazenamento de grandes volumes de dados similares Explicacao: Bancos de dados NoSQL do tipo colunar, como o Apache Cassandra, armazenam dados em colunas, ao inves de linhas. Esse modelo e mais eficiente para consultas que envolvem grandes volumes de dados em uma unica coluna. 12. O que significa "sharding" em um banco de dados NoSQL? A) Dividir dados em varias tabelas diferentes B) Dividir um banco de dados em varias instancias menores, chamadas de shards C) Agrupar dados em colecoes para facilitar a busca D) Compressao de dados para otimizar o armazenamento Resposta correta: B) Dividir um banco de dados em varias instancias menores, chamadas de shards Explicacao: Sharding e o processo de dividir dados em varias instancias ou fragmentos menores, chamados de shards. Isso e feito para distribuir a carga de trabalho e permitir que o sistema seja escalado horizontalmente. 13. Qual e a vantagem do uso de bancos de dados NoSQL para sistemas que exigem alta disponibilidade? A) Bancos de dados NoSQL sempre oferecem garantias ACID para todas as transacoes B) Bancos de dados NoSQL podem ser configurados para fornecer replicacao de dados, garantindo alta disponibilidade C) Bancos de dados NoSQL nao possuem suporte para transacoes de longo prazo D) Bancos de dados NoSQL exigem que os dados sejam armazenados de forma unica Resposta correta: B) Bancosde dados NoSQL podem ser configurados para fornecer replicacao de dados, garantindo alta disponibilidade Explicacao: Bancos de dados NoSQL geralmente oferecem replicacao de dados, o que significa que os dados sao copiados em varias instancias, garantindo alta disponibilidade, mesmo em caso de falhas em um dos servidores. 14. Em relacao ao MongoDB, o que sao "documentos"? A) Elementos em um banco de dados relacional B) Linhas de dados armazenadas em tabelas C) Registros armazenados no formato JSON ou BSON D) Consultas SQL realizadas sobre as colecoes Resposta correta: C) Registros armazenados no formato JSON ou BSON Explicacao: No MongoDB, os dados sao armazenados em documentos