Prévia do material em texto
Introdução aos Bancos de Dados NoSQL Qual foi a principal motivação histórica para o surgimento dos bancos de dados NoSQL no início dos anos 2000? a) A proibição do uso da linguagem SQL em redes sociais. b) O fim das licenças de uso de softwares como o Oracle e o MySQL. c) A invenção de computadores que não aceitavam tabelas. d) O desejo de tornar os bancos de dados mais difíceis de programar. e) A necessidade de lidar com o aumento massivo de dados não estruturados e a dificuldade de escalonamento horizontal dos bancos relacionais (SQL). Diferente do SQL, que utiliza um esquema (schema) rígido e tabelas, os bancos NoSQL são frequentemente descritos como 'Schema-less'. O que isso significa? a) Que é proibido usar chaves primárias nos registros. b) Que não é necessário definir uma estrutura fixa de colunas e tipos de dados antes de inserir os registros. c) Que o banco de dados não consegue guardar informações importantes. d) Que o banco apaga os dados automaticamente após 24 horas. e) Que o banco de dados é invisível para o sistema operacional. Sobre escalabilidade, qual a diferença fundamental entre a abordagem comum em SQL (Vertical) e em NoSQL (Horizontal)? a) Escala Vertical significa comprar mais monitores para o DBA. b) Bancos SQL não podem ser instalados em mais de uma máquina. c) Escala Vertical aumenta a potência de um único servidor; Escala Horizontal distribui a carga entre vários servidores trabalhando em conjunto. d) Escala Horizontal é apenas para bancos de dados que guardam fotos de paisagens. e) Escala Vertical é sempre mais barata que a Horizontal. O Teorema CAP afirma que um sistema distribuído não pode garantir simultaneamente três propriedades. Quais são elas? a) Capacidade, Altitude e Pressão. b) Criptografia, Autenticação e Privacidade. c) Consistência, Disponibilidade (Availability) e Tolerância a Partição. d) Codificação, Armazenamento e Processamento. e) Custo, Agilidade e Performance. Em qual cenário o uso de um banco de dados NoSQL é ALTAMENTE recomendado? a) Um sistema financeiro bancário onde a consistência imediata de cada centavo é obrigatória. b) Um site simples de blog com apenas 10 acessos por mês. c) Aplicações de Big Data, Redes Sociais ou Sensores IoT com enorme volume de dados e esquemas que mudam constantemente. d) Planilhas de controle de estoque de uma padaria local. e) Um sistema que exige relacionamentos complexos de 'muitos para muitos' com JOINs pesados. Os bancos de dados NoSQL são classificados em categorias. Quais são as quatro categorias principais? a) Chave-Valor, Documento, Família de Colunas (Column-family) e Grafo. b) Rápido, Lento, Médio e Instantâneo. c) Tabelas, Linhas, Colunas e Células. d) Privado, Público, Híbrido e Comunitário. e) Texto, Binário, Imagem e Vídeo. Qual é a principal desvantagem de 'NÃO usar NoSQL' em sistemas de altíssima escala? a) O banco de dados SQL fica muito colorido. b) A linguagem SQL foi banida da internet em 2025. c) Dificuldade em manter a performance e a disponibilidade conforme o volume de dados ultrapassa a capacidade de um único servidor potente. d) O SQL obriga o programador a usar apenas o teclado. e) Bancos SQL não permitem salvar nomes de pessoas com mais de 10 letras. Sobre o modelo de 'Documentos' (ex: MongoDB), como os dados são geralmente armazenados? a) Como arquivos .txt dentro de pastas do Windows. b) Em tabelas com colunas fixas chamadas de 'Papéis'. c) Em formatos como JSON ou BSON, onde o dado e seu metadado (nome do campo) estão juntos. d) Em fitas magnéticas de backup. e) Apenas como sequências de zeros e uns que ninguém consegue ler. O termo 'Consistência Eventual' é comum em NoSQL. O que ele significa? a) Que os dados são salvos apenas quando o usuário clica no botão 'Salvar'. b) Que, após uma atualização, todas as réplicas do banco ficarão iguais após algum tempo, mas não necessariamente de forma instantânea. c) Que o SQL é melhor que o NoSQL em 100% dos casos. d) Que o banco só funciona em eventos de tecnologia. e) Que o banco de dados eventualmente vai apagar todos os dados por erro. Quando NÃO usar NoSQL? a) Quando o volume de dados é pequeno e as relações entre as entidades são complexas, fixas e exigem integridade absoluta (ACID). b) Quando você precisa salvar dados em formato de texto. c) Quando a empresa tem dinheiro para comprar servidores caros. d) Quando você quer que o site carregue o mais rápido possível. e) Quando a equipe de desenvolvedores sabe usar JavaScript.