{"subject_id":"3a3cc48d009981a48914f59875b67337","topico":"NoSQL: BASE, consistência eventual; chave-valor, documentos, colunar, grafos; CAP","stems":["A INFRA S.A. implantou uma arquitetura corporativa de dados híbrida para suportar suas atividades estratégicas, sobretudo a estruturação de projetos de infraestrutura logística. Nessa arquitetura, o Oracle Database 21C é utilizado para sistemas críticos de gestão contratual e execução orçamentária; bancos de dados NoSQL são empregados para armazenar dados semiestruturados oriundos de sensores, documentos técnicos e relatórios de campo; e um data lake corporativo é adotado para ingestão massiva de dados brutos históricos, inclusive dados geoespaciais e séries temporais. Considerando a situação hipotética apresentada, julgue os itens a seguir.","A respeito de bancos de dados relacionais e de bancos de dados NoSQL, julgue os itens que se seguem.","Em relação a ferramentas de busca, indexação e análise de dados, julgue os itens subsecutivos.","Julgue os próximos itens, relativos à normalização de dados, à modelagem de dados NoSQL e ao DataMesh.","No que se refere a bancos de dados, julgue os itens a seguir.","Acerca da álgebra relacional, do banco de dados NoSQL e da prática de storytelling, julgue os itens subsequentes.","Julgue os itens seguintes, a respeito de H2 Database e de PostgreSQL.","Em relação a banco de dados, julgue os itens a seguir.","Julgue os itens a seguir, a respeito dos conceitos de NoSQL.","A respeito de arquitetura e política de armazenamento de dados e engenharia de dados, julgue os itens subsequentes.","Julgue os itens a seguir, a respeito de sistemas de arquivos, banco de dados NoSQL e sistemas de indexação de dados.","Julgue os próximos itens, relativos a H2, Keycloak, Webhooks, Git, CD (continuous delivery) e CI (continuous integration).","Julgue os itens a seguir, a respeito de sistema gerenciador de banco de dados relacional e NoSQL.","Julgue os itens a seguir, a respeito de bancos de dados NoSQL.","Julgue os próximos itens, a respeito de arquitetura e engenharia de software.","Acerca das linguagens procedurais para programação de stored procedures, bem como de técnicas de otimização de consultas SQL e NoSQL, julgue os itens subsecutivos.","Julgue os itens seguintes, a respeito de ciência de dados e de modelagem de dados.","A respeito dos sistemas gerenciadores de banco de dados (SGBDs), julgue os itens a seguir.","Acerca de arquitetura do sistema de arquivos distribuído, julgue os itens subsecutivos.","A respeito de bancos de dados, gerenciamento de rede e instalação, operação, monitoração, administração e suporte de mainframe, julgue os itens seguintes.","A respeito de banco de dados, julgue os itens a seguir.","Julgue os próximos itens, relativos a bancos de dados.","Julgue o item a seguir, a respeito de ingestão de dados.","Considerando as expressões Neo4j precedentes, julgue o item seguinte.","Acerca de armazenamento de dados, julgue o item subsecutivo.","A respeito de banco de dados, julgue os itens seguintes.","A respeito de banco de dados, julgue os próximos itens.","Julgue o item a seguir, relativo aos conceitos de NoSQL.","Quanto aos conceitos relativos à arquitetura de dados, julgue os itens a seguir.","Julgue os seguintes itens, relativos a ferramentas de BI e banco de dados NoSQL.","Julgue os itens seguintes, com relação a banco de dados NoSQL e à linguagem de consulta estruturada (SQL).","No que se refere a banco de dados relacional (SQL) e não relacional (NoSQL) e ao framework JPA, julgue os itens subsecutivos.","Acerca de segurança de banco de dados e de desenvolvimento de software, julgue os itens subsecutivos.","Julgue os itens subsecutivos, referentes às tecnologias de bancos de dados.","Um banco de dados permite à aplicação o armazenamento e a recuperação de dados com eficiência, o que garante segurança e integridade das informações. No caso de banco de dados relacional, os dados são armazenados em tabelas e os relacionamentos entre elas as tornam relacionais. A esse respeito, julgue os itens que se seguem.","A respeito de tipos de bancos de dados, julgue os itens que se seguem."],"questions":[{"id":"2e306bd8d8c3","number":62,"stem":0,"statement":"No cenário da INFRA S.A., a replicação automática oferecida por bancos NoSQL distribuídos garante consistência imediata entre todos os nós do cluster, tornando desnecessária a definição de políticas de consistência para aplicações críticas de acompanhamento de contratos de obras.","answer":"E","source":{"slug":"INFRASA_26_ANALISTA","ano":2026},"explanation":{"verdict_reason":"A replicação em banco NoSQL distribuído é assíncrona na maior parte dos produtos: a escrita é confirmada por um subconjunto de réplicas e propagada às demais em seguida, o que produz consistência eventual e uma janela em que nós diferentes respondem valores diferentes. Por isso definir a política de consistência é mais necessário, e não menos, em aplicações críticas.","distortion_type":"generalizacao","distorted_span":"garante consistência imediata entre todos os nós do cluster, tornando desnecessária a definição de políticas de consistência","corrected_statement":"No cenário da INFRA S.A., a replicação automática oferecida por bancos NoSQL distribuídos costuma produzir consistência eventual entre os nós do cluster, o que torna necessária a definição de políticas de consistência para aplicações críticas de acompanhamento de contratos de obras.","concept":"Replicação assíncrona implica consistência eventual","citation":null,"trap_note":"Consistência imediata e replicação automática não vêm no mesmo pacote. Sob partição da rede é preciso escolher entre responder e responder o valor mais recente — a escolha é do projetista, por configuração, e nenhum produto a elimina."}},{"id":"735fcc90c676","number":65,"stem":0,"statement":"A utilização de bancos NoSQL pela INFRA S.A. dispensa a definição de qualquer modelo lógico, pois a ausência de esquema elimina preocupações com consistência estrutural.","answer":"E","source":{"slug":"INFRASA_26_ANALISTA","ano":2026},"explanation":{"verdict_reason":"A ausência de esquema no banco desloca a validação para a aplicação, mas não a elimina: quem lê o documento continua esperando determinados campos, com determinados tipos, e a divergência entre versões de documento vira problema de quem consulta. Por isso o modelo lógico permanece indispensável, e os produtos oferecem inclusive validação de esquema opcional. A causa alegada pelo item é falsa.","distortion_type":"relacao_causal","distorted_span":"dispensa a definição de qualquer modelo lógico, pois a ausência de esquema elimina preocupações com consistência estrutural","corrected_statement":"A utilização de bancos NoSQL pela INFRA S.A. não dispensa a definição de um modelo lógico, pois a ausência de esquema no banco transfere para a aplicação a responsabilidade pela consistência estrutural.","concept":"Schema-on-read desloca a validação, não a suprime","citation":null,"trap_note":"O par mais rentável deste tópico: 'não exige esquema predefinido' é Certo, 'dispensa modelagem' é Errado. A banca explora a distância entre não declarar antes e não pensar a estrutura."}},{"id":"7f135bbe2a37","number":29,"stem":1,"statement":"A instrução join do SQL permite a apresentação de informações de diversas tabelas em um ou mais conjuntos de resultados.","answer":"E","source":{"slug":"TCE_RS_25","ano":2025},"explanation":{"verdict_reason":"A junção é uma operação binária que combina linhas de duas tabelas segundo uma condição e devolve uma única relação. Um SELECT com junções, por mais tabelas que envolva, produz um só conjunto de resultados; produzir vários conjuntos exigiria consultas separadas ou um procedimento que devolvesse múltiplos cursores. O item amplia o resultado da operação.","distortion_type":"escopo_ampliado","distorted_span":"em um ou mais conjuntos de resultados","corrected_statement":"A instrução join do SQL permite a apresentação de informações de diversas tabelas em um único conjunto de resultados.","concept":"A junção devolve uma única relação","citation":null,"trap_note":"O fechamento da álgebra relacional vale também aqui: toda operação, inclusive a junção, devolve exatamente uma relação. Item que fala em vários conjuntos de resultados para uma consulta está fora do modelo."}},{"id":"6fee0d1c3b6c","number":38,"stem":2,"statement":"O Elasticsearch permite a divisão de um índice em subpartes denominadas shards, as quais devem ser remontadas para se tornarem funcionais, uma vez que não podem ser utilizadas isoladamente.","answer":"E","source":{"slug":"TCE_RS_25","ano":2025},"explanation":{"verdict_reason":"Cada shard do Elasticsearch é um índice Lucene completo e autônomo: indexa, busca e devolve resultados por conta própria, e é essa autonomia que permite distribuí-lo entre nós e paralelizar a consulta. O nó coordenador não remonta os shards; ele apenas consulta cada um e mescla as respostas parciais. O item afirma o contrário da propriedade que dá sentido ao fragmento.","distortion_type":"inversao","distorted_span":"as quais devem ser remontadas para se tornarem funcionais, uma vez que não podem ser utilizadas isoladamente","corrected_statement":"O Elasticsearch permite a divisão de um índice em subpartes denominadas shards, cada uma das quais é um índice Lucene plenamente funcional, que pode ser consultado isoladamente.","concept":"Cada shard é um índice Lucene autônomo","citation":null,"trap_note":"Particionar só é útil se cada parte funcionar sozinha — vale para shard do Elasticsearch, para região do HBase e para partição do Kafka. Item que exija a remontagem das partes para que sirvam de alguma coisa nega o motivo de existir do particionamento."}},{"id":"2bfcd88c57db","number":64,"stem":3,"statement":"No DataMesh, os dados são tratados como produtos, e cada domínio é responsável por fornecer, manter e documentar seus próprios dados.","answer":"C","source":{"slug":"SUSEP_25","ano":2025},"explanation":{"verdict_reason":"Dado como produto é um dos quatro princípios do Data Mesh, ao lado da propriedade por domínio, da plataforma de autosserviço e da governança federada. Na prática, cada domínio passa a responder pelo ciclo de vida do que publica: qualidade, disponibilidade, documentação e contrato de uso. O item reproduz dois desses princípios.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Data Mesh: domínio dono do dado, dado como produto","citation":null,"trap_note":"Os quatro princípios do Data Mesh apontam todos para descentralização. Qualquer item que descreva o Data Mesh com vocabulário centralizador contradiz a definição."}},{"id":"8d41dd1bf22d","number":65,"stem":3,"statement":"O DataMesh adota um modelo centralizado de governança e integração de dados, priorizando a consistência sobre a escalabilidade.","answer":"E","source":{"slug":"SUSEP_25","ano":2025},"explanation":{"verdict_reason":"O Data Mesh nasceu como resposta ao gargalo das arquiteturas centralizadas de dados: a propriedade passa aos domínios e a governança é federada, com regras globais mínimas aplicadas por quem detém o dado. Centralizar governança e integração é exatamente o modelo que a proposta procura substituir, e a escalabilidade organizacional é o ganho que ela persegue.","distortion_type":"inversao","distorted_span":"adota um modelo centralizado de governança e integração de dados","corrected_statement":"O DataMesh adota um modelo descentralizado, com governança federada e integração orientada a domínios, priorizando a escalabilidade organizacional.","concept":"Governança federada e descentralização no Data Mesh","citation":null,"trap_note":"Data Mesh é descentralizado e orientado a domínio; data lake e data warehouse corporativos são centralizados. Item que troca esses adjetivos inverte a arquitetura inteira."}},{"id":"d1e8f28dfee4","number":68,"stem":3,"statement":"A modelagem em bancos de grafos segue o mesmo princípio das tabelas relacionais, sendo estruturada em tuplas fixas e normalizadas.","answer":"E","source":{"slug":"SUSEP_25","ano":2025},"explanation":{"verdict_reason":"A modelagem em grafos parte de outro princípio: entidades viram nós, ligações viram arestas nomeadas e ambos carregam propriedades livres, sem estrutura fixa e sem a decomposição em tabelas que a normalização impõe. Tupla fixa e forma normal são conceitos do modelo relacional, aplicados aqui a um modelo que não os usa.","distortion_type":"escopo_ampliado","distorted_span":"segue o mesmo princípio das tabelas relacionais, sendo estruturada em tuplas fixas e normalizadas","corrected_statement":"A modelagem em bancos de grafos segue princípio distinto do das tabelas relacionais, sendo estruturada em nós e arestas com propriedades, sem tuplas fixas nem normalização.","concept":"Modelagem em grafos: nós, arestas e propriedades","citation":null,"trap_note":"Normalização, tupla e esquema fixo só valem no relacional. Quando esses termos aparecem descrevendo uma família NoSQL, o item está estendendo uma regra para fora do domínio em que ela vale."}},{"id":"308b7127a6cf","number":69,"stem":3,"statement":"Em bancos NoSQL orientados a documentos, é comum o uso de estruturas aninhadas, que evitam junções e melhoram a performance de leitura.","answer":"C","source":{"slug":"SUSEP_25","ano":2025},"explanation":{"verdict_reason":"O banco de documentos favorece a desnormalização: os dados que são lidos juntos ficam aninhados no mesmo documento, de modo que uma única leitura devolve tudo o que a aplicação precisa, sem a junção que o modelo relacional exigiria. O custo, que o item não precisa mencionar, é a redundância e a atualização em vários pontos.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Documentos aninhados trocam redundância por leitura rápida","citation":null,"trap_note":"No NoSQL a modelagem segue a consulta, não a entidade. Item que descreve aninhamento para evitar junção está enunciando a regra central da modelagem de documentos."}},{"id":"8e4ead40ed4a","number":74,"stem":4,"statement":"Em bancos de dados NoSQL do tipo chave-valor, todos os registros fazem parte da mesma coleção e têm em comum apenas a chave única.","answer":"C","source":{"slug":"TELEBRAS_25","ano":2025},"explanation":{"verdict_reason":"No armazenamento chave-valor não há coleções separadas por tipo de entidade nem esquema que agrupe registros semelhantes: todos os pares convivem no mesmo espaço de nomes e o único elemento que compartilham é a chave única que os endereça. O valor é opaco para o banco, que não o interpreta.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Chave-valor: espaço de nomes único e valor opaco","citation":null,"trap_note":"A chave-valor é a família mais simples e, por isso, a mais restrita: acesso só pela chave, valor não interpretado, nenhuma consulta por conteúdo. Descrições que a enriquecem com índices secundários ou consultas por atributo costumam ser erradas."}},{"id":"61fc34dc7780","number":86,"stem":5,"statement":"Em bancos de dados NoSQL orientados a colunas, como Apache Cassandra, a consistência forte é garantida automaticamente para todas as operações de leitura e escrita, independentemente do nível de consistência configurado pelo cliente.","answer":"E","source":{"slug":"TELEBRAS_25","ano":2025},"explanation":{"verdict_reason":"O Cassandra trabalha com consistência ajustável: quem define o nível é o cliente, por operação, escolhendo entre ONE, QUORUM, ALL e outros, e a consistência forte só ocorre quando os níveis de leitura e escrita somados superam o fator de replicação. Fora dessa combinação, o comportamento padrão é de consistência eventual. A garantia automática e incondicional afirmada pelo item é do redator.","distortion_type":"generalizacao","distorted_span":"a consistência forte é garantida automaticamente para todas as operações de leitura e escrita, independentemente do nível de consistência configurado pelo cliente","corrected_statement":"Em bancos de dados NoSQL orientados a colunas, como Apache Cassandra, a consistência forte depende do nível de consistência configurado pelo cliente em cada operação de leitura e escrita.","concept":"Consistência ajustável (tunable consistency) no Cassandra","citation":null,"trap_note":"Em banco distribuído, consistência é parâmetro, não promessa. Item que garante consistência imediata, forte ou automática, sem condicioná-la à configuração, é praticamente sempre errado."}},{"id":"6584d26fbd56","number":87,"stem":5,"statement":"O storytelling de dados dispensa o uso de visualizações gráficas, pois a narrativa textual é suficiente para transmitir informações complexas.","answer":"E","source":{"slug":"TELEBRAS_25","ano":2025},"explanation":{"verdict_reason":"A narrativa de dados se apoia em três pilares: os dados, a visualização e a narrativa textual. A visualização é o que permite ao público reconhecer padrões, ordens de grandeza e tendências que um parágrafo não transmite com a mesma economia. Dispensá-la desmonta um dos elementos que definem a técnica.","distortion_type":"generalizacao","distorted_span":"dispensa o uso de visualizações gráficas","corrected_statement":"O storytelling de dados combina o uso de visualizações gráficas com a narrativa textual para transmitir informações complexas.","concept":"Storytelling de dados: dados, visualização e narrativa","citation":null,"trap_note":"Itens que dispensam um dos componentes de uma técnica são errados com regularidade; itens que descrevem a combinação dos componentes são certos. Conte os pilares antes de julgar."}},{"id":"2fffe14bc096","number":88,"stem":5,"statement":"O storytelling aplicado a dados transforma informações técnicas e analíticas em narrativas compreensíveis, o que facilita a tomada de decisão e o engajamento do público.","answer":"C","source":{"slug":"TELEBRAS_25","ano":2025},"explanation":{"verdict_reason":"É a definição corrente de storytelling aplicado a dados: converter resultados técnicos em uma narrativa compreensível pelo público não especialista, com o objetivo declarado de apoiar a decisão e sustentar o engajamento da audiência. O item descreve a técnica e o seu propósito, sem prometer exclusividade.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Storytelling converte análise em narrativa para decisão","citation":null,"trap_note":"Enunciados que apenas descrevem a finalidade de uma prática costumam ser Certos. O erro entra quando substituem um componente por outro ou anunciam que a prática substitui a análise."}},{"id":"88c54580905e","number":90,"stem":5,"statement":"Em bancos de dados NoSQL orientados a grafos, como Neo4j, a execução de consultas é otimizada principalmente por meio de joins tradicionais, de forma semelhante aos bancos de dados relacionais.","answer":"E","source":{"slug":"TELEBRAS_25","ano":2025},"explanation":{"verdict_reason":"O banco de grafos evita justamente o custo da junção. Ele usa adjacência sem índice: cada nó guarda ponteiros diretos para seus relacionamentos, de modo que percorrer uma aresta tem custo constante, independentemente do tamanho total do grafo. No relacional, a mesma travessia exigiria uma junção a cada salto, e é dessa comparação que vem a vantagem do modelo.","distortion_type":"troca_de_termo","distorted_span":"otimizada principalmente por meio de joins tradicionais, de forma semelhante aos bancos de dados relacionais","corrected_statement":"Em bancos de dados NoSQL orientados a grafos, como Neo4j, a execução de consultas é otimizada principalmente por meio da travessia de relacionamentos com adjacência sem índice, diferentemente dos bancos de dados relacionais.","concept":"Adjacência sem índice substitui a junção no banco de grafos","citation":null,"trap_note":"Toda vez que um item explicar um recurso NoSQL usando o mecanismo do relacional — junção, tupla, normalização, esquema fixo —, desconfie: em geral a família NoSQL existe exatamente para não usar aquele mecanismo."}},{"id":"3115a8138725","number":55,"stem":6,"statement":"H2 Database é um banco de dados NoSQL que utiliza JSON para armazenamento e pesquisa vetorial, e sincronização ponto a ponto para aplicativos móveis, podendo ser utilizado como um banco de dados autônomo incorporado em dispositivos móveis.","answer":"E","source":{"slug":"CPNUJE_24","ano":2024},"explanation":{"verdict_reason":"A descrição — documentos JSON, busca vetorial e sincronização ponto a ponto para aplicativos móveis embarcados — é a de um banco de documentos móvel, do tipo Couchbase Lite. O H2 é outra coisa: um SGBD relacional em Java, com SQL e transações ACID, embarcável em aplicações. A descrição é real, mas o produto nomeado é o errado.","distortion_type":"atribuicao_errada","distorted_span":"H2 Database é um banco de dados NoSQL que utiliza JSON para armazenamento e pesquisa vetorial","corrected_statement":"H2 Database é um banco de dados relacional em Java, com suporte a SQL, podendo ser utilizado como banco de dados autônomo incorporado a uma aplicação.","concept":"H2 é relacional embarcado, não banco de documentos móvel","citation":null,"trap_note":"Quando o item descreve um produto com funcionalidades muito específicas, verifique se a descrição não pertence a um concorrente. Trocar o nome e manter a descrição é o modo mais econômico de errar um item de produto."}},{"id":"47927928d775","number":55,"stem":7,"statement":"Os bancos de dados não relacionais se diferenciam dos bancos de dados relacionais por utilizarem de forma exclusiva objetos codificados com estado armazenado em um atributo estruturado, em vez de tabelas com colunas e linhas.","answer":"E","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"A descrição de objetos codificados, com estado guardado em um atributo estruturado, cabe no modelo de documentos, mas não na família não relacional como um todo: o chave-valor guarda um valor opaco, o colunar guarda famílias de colunas e o de grafos guarda nós e arestas. O advérbio de exclusividade estende a um único formato o que caracteriza uma família inteira.","distortion_type":"generalizacao","distorted_span":"por utilizarem de forma exclusiva objetos codificados com estado armazenado em um atributo estruturado","corrected_statement":"Os bancos de dados não relacionais se diferenciam dos bancos de dados relacionais por utilizarem estruturas variadas — documentos, pares chave-valor, famílias de colunas ou grafos — em vez de tabelas com colunas e linhas.","concept":"NoSQL reúne quatro famílias com estruturas distintas","citation":null,"trap_note":"NoSQL não é um modelo, é um guarda-chuva de quatro. Qualquer item que defina o conjunto pela estrutura de uma das famílias, sobretudo com 'exclusivamente' ou 'sempre', está errado."}},{"id":"6dbe53fe8844","number":61,"stem":8,"statement":"Os bancos de dados NoSQL, por armazenarem dados em uma estrutura de dados, oferecem rápida escalabilidade para gerenciamento de conjuntos de dados grandes e normalmente não estruturados, pois não requerem um esquema.","answer":"C","source":{"slug":"MP_TO_24_SERVIDOR","ano":2024},"explanation":{"verdict_reason":"O item encadeia as três características que a literatura atribui à família: estrutura de dados própria e simples, escalabilidade horizontal rápida para grandes volumes e dispensa de esquema predefinido, o que acomoda dados não estruturados e semiestruturados. Nenhuma das afirmações é estendida além do que a categoria promete.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"NoSQL: escala horizontal e ausência de esquema prévio","citation":null,"trap_note":"Quando o item apenas soma as vantagens anunciadas da categoria, sem negar nada nem prometer garantia forte, tende a ser Certo. O sinal de alerta é a promessa de consistência imediata ou de imunidade a alguma coisa."}},{"id":"c042b8bdba6d","number":62,"stem":8,"statement":"Latência é o atraso entre a solicitação de acesso aos dados e a resposta da aplicação.","answer":"C","source":{"slug":"MP_TO_24_SERVIDOR","ano":2024},"explanation":{"verdict_reason":"Latência é o tempo decorrido entre a requisição e a resposta correspondente. É medida distinta da vazão, que conta operações por unidade de tempo: um sistema pode ter vazão alta e latência alta ao mesmo tempo. O item define a primeira.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Latência × vazão","citation":null,"trap_note":"Latência é tempo por operação; vazão é operações por tempo. A troca entre as duas é a distorção padrão em itens de desempenho."}},{"id":"61febf3dcae2","number":63,"stem":9,"statement":"Os armazenamentos de pares chave-valor são os menos adequados para uso em sistemas que precisam consultar dados em diferentes armazenamentos de pares chave-valor.","answer":"C","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"O armazenamento chave-valor é otimizado para uma única forma de acesso, a busca pela chave, e trata o valor como bloco opaco, sem índice secundário e sem consulta por conteúdo. Consultar dados espalhados por vários armazenamentos chave-valor exigiria justamente o que ele não oferece: relacionar valores entre coleções distintas. É a situação para a qual a família é a menos indicada.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Chave-valor não consulta por valor nem entre armazenamentos","citation":null,"trap_note":"Aqui a restrição é da fonte, não do redator: a limitação do chave-valor a acesso por chave é parte da definição da família. Absolutos que decorrem da definição sobrevivem; os que o item acrescenta, não."}},{"id":"f42e3c17e6b1","number":65,"stem":10,"statement":"O Hadoop Distributed File System (HDFS) usa uma tabela para rastrear os clusters em um volume de armazenamento; esses clusters se conectam por meio de diretórios e arquivos associados e o HDFS suporta arquivos com tamanhos de volume de até 4 GB.","answer":"E","source":{"slug":"PREF_MOSSORO_RN_24","ano":2024},"explanation":{"verdict_reason":"O HDFS foi projetado exatamente para arquivos muito grandes: quebra cada arquivo em blocos de tamanho configurável, tipicamente 128 MB, replicados entre nós, e suporta arquivos de gigabytes a terabytes. O limite de 4 GB citado é o do sistema de arquivos FAT32, não o do HDFS.","distortion_type":"numero_errado","distorted_span":"arquivos com tamanhos de volume de até 4 GB","corrected_statement":"O Hadoop Distributed File System (HDFS) usa uma tabela para rastrear os clusters em um volume de armazenamento; esses clusters se conectam por meio de diretórios e arquivos associados e o HDFS suporta arquivos de gigabytes a terabytes.","concept":"HDFS é otimizado para arquivos grandes, em blocos replicados","citation":null,"trap_note":"Todo número redondo e pequeno num item sobre sistema distribuído merece conferência. Aqui o valor citado vem de outro sistema de arquivos, o que é a forma mais comum de numero_errado: um limite real, importado do lugar errado."}},{"id":"cf7de8ce76ff","number":66,"stem":10,"statement":"As regiões são a unidade básica de trabalho no HBase, que é usada como divisão pela estrutura de redução do mapa; a região contém objetos de armazenamento que correspondem a famílias de colunas.","answer":"C","source":{"slug":"PREF_MOSSORO_RN_24","ano":2024},"explanation":{"verdict_reason":"No HBase a tabela é dividida em regiões por faixas contíguas de chave de linha, e a região é a unidade de distribuição, de balanceamento entre region servers e de divisão do trabalho nos jobs de MapReduce. Dentro dela, os dados ficam em stores, um por família de colunas, que é o que o item chama de objetos de armazenamento.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Região é a unidade de distribuição do HBase","citation":null,"trap_note":"Em banco colunar, a família de colunas é a unidade de armazenamento e a partição, ou região, é a unidade de distribuição. Itens que confundem os dois níveis são frequentes."}},{"id":"91c193ba2d8e","number":67,"stem":10,"statement":"O elasticsearch indexa todos os dados em cada campo e cada campo indexado possui uma estrutura de dados dedicada e otimizada.","answer":"C","source":{"slug":"PREF_MOSSORO_RN_24","ano":2024},"explanation":{"verdict_reason":"O Elasticsearch indexa por padrão todos os campos de cada documento e mantém, para cada campo indexado, a estrutura própria do seu tipo: índice invertido para texto, BKD tree para números e datas, doc values para ordenação e agregação. É essa indexação ampla que permite a busca sem que se saiba de antemão por qual campo se vai consultar.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Elasticsearch indexa todos os campos, cada um na estrutura do seu tipo","citation":null,"trap_note":"Aqui a descrição ampla é verdadeira e vem da documentação do produto. Vale a pergunta de sempre: o absoluto é do fabricante ou do redator do item?"}},{"id":"713282d37744","number":68,"stem":10,"statement":"CREATE (database:Database {name:\"Pedro\"})-\n\n[r:FALA_COM]->(message:Message\n{name:\"Maria\"}) RETURN database, message, r\n\nA expressão Neo4J acima cria a estrutura mostrada a seguir.","answer":"E","source":{"slug":"PREF_MOSSORO_RN_24","ano":2024},"explanation":{"verdict_reason":"A expressão cria o nó com a propriedade name igual a Pedro como origem e o nó com name igual a Maria como destino, porque a seta do padrão aponta do primeiro para o segundo. A figura apresentada mostra a aresta FALA_COM saindo de Maria em direção a Pedro, ou seja, com o sentido invertido em relação ao que o CREATE produz.","distortion_type":"inversao","distorted_span":"A expressão Neo4J acima cria a estrutura mostrada a seguir.","corrected_statement":"A expressão Neo4J acima cria uma estrutura em que a relação FALA_COM parte do nó Pedro em direção ao nó Maria.","concept":"O sentido da aresta em Cypher segue a seta do padrão","citation":null,"trap_note":"Em Cypher, (a)-[:R]->(b) cria a relação de a para b, e a ordem em que os nós aparecem no texto é a ordem da aresta. Item com figura de grafo quase sempre se decide olhando apenas a direção da seta."}},{"id":"a7dbc99a37c9","number":69,"stem":11,"statement":"O banco de dados H2 é uma solução de persistência de dados NoSQL do tipo chave-valor.","answer":"E","source":{"slug":"STJ_24","ano":2024},"explanation":{"verdict_reason":"O H2 é um SGBD relacional escrito em Java, com suporte a SQL, a transações ACID e a modo embarcado ou cliente-servidor, muito usado como banco em memória para testes. Nada nele é chave-valor nem NoSQL. A classificação é o erro do item.","distortion_type":"troca_de_termo","distorted_span":"uma solução de persistência de dados NoSQL do tipo chave-valor","corrected_statement":"O banco de dados H2 é uma solução de persistência de dados relacional, com suporte a SQL, que pode ser executada em modo embarcado.","concept":"H2 é SGBD relacional embarcado em Java","citation":null,"trap_note":"Embarcado e leve não é sinônimo de NoSQL. H2, SQLite e Derby são relacionais embarcados; Redis, Riak e DynamoDB é que são chave-valor."}},{"id":"f9fd27fcc554","number":76,"stem":12,"statement":"Kibana é uma ferramenta que permite visualizar os dados armazenados no Elasticsearch, com possibilidade de gerar gráficos convencionais ou widgets integrados, como mapas, lens e canvas.","answer":"C","source":{"slug":"CNJ_24","ano":2024},"explanation":{"verdict_reason":"O Kibana é a camada de visualização da pilha Elastic: lê os índices do Elasticsearch e apresenta os dados em gráficos convencionais e em painéis compostos por widgets, entre eles Maps para dados geoespaciais, Lens para montagem visual de gráficos e Canvas para apresentações. O item descreve o produto e enumera recursos que ele de fato possui.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Kibana é a camada de visualização do Elasticsearch","citation":null,"trap_note":"Na pilha Elastic cada peça tem um papel fixo: Beats e Logstash ingerem, Elasticsearch indexa e busca, Kibana visualiza. Item que troca essas atribuições é o erro típico do assunto."}},{"id":"3674affc407e","number":76,"stem":13,"statement":"Bancos de dados NoSQL são frequentemente descritos como schemaless, porque não requerem um esquema fixo para a estrutura dos dados, permitindo que documentos sejam armazenados sem uma definição rígida de colunas ou atributos.","answer":"C","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"O item diz o que o rótulo schemaless significa de fato: não haver exigência de estrutura fixa declarada antes da carga, de modo que documentos de uma mesma coleção podem ter campos diferentes. É afirmação sobre a ausência de declaração prévia, e não sobre a ausência de qualquer estrutura — que continua existindo, implícita em cada documento.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Schemaless é esquema flexível, não ausência de estrutura","citation":null,"trap_note":"Compare com o item que conclui daí a dispensa do modelo lógico: aquele é Errado. O que a banca aceita é 'não requer esquema fixo'; o que ela reprova é a consequência exagerada tirada disso."}},{"id":"06a06bdb7a8c","number":77,"stem":13,"statement":"No modelo orientado a documentos, um documento é equivalente a uma tabela no modelo relacional, uma coleção é equivalente a uma linha (ou registro), um campo é equivalente a uma coluna, e um índice de documento é equivalente a um índice.","answer":"E","source":{"slug":"TCE_AC_24","ano":2024},"explanation":{"verdict_reason":"A correspondência correta é a inversa nas duas primeiras posições: a coleção equivale à tabela e o documento equivale à linha, ou registro. O campo realmente corresponde à coluna e o índice ao índice, mas as duas primeiras equivalências foram trocadas entre si.","distortion_type":"inversao","distorted_span":"um documento é equivalente a uma tabela no modelo relacional, uma coleção é equivalente a uma linha (ou registro)","corrected_statement":"No modelo orientado a documentos, uma coleção é equivalente a uma tabela no modelo relacional, um documento é equivalente a uma linha (ou registro), um campo é equivalente a uma coluna, e um índice de documento é equivalente a um índice.","concept":"Coleção equivale a tabela; documento equivale a linha","citation":null,"trap_note":"Quando o item lista quatro equivalências e três estão certas, a resposta está na que sobra. Fixe a hierarquia por tamanho: coleção contém documentos como tabela contém linhas."}},{"id":"d33e1f549e05","number":78,"stem":12,"statement":"Em PostgreSQL, o tipo de dados uuid armazena identificadores universais exclusivos gerados por um algoritmo, escolhido para que seja praticamente nula a probabilidade de geração do mesmo identificador por qualquer outra pessoa que use o mesmo algoritmo.","answer":"C","source":{"slug":"CNJ_24","ano":2024},"explanation":{"verdict_reason":"O tipo uuid do PostgreSQL guarda um identificador de 128 bits gerado por algoritmo padronizado, cujo espaço é grande o bastante para que a chance de duas gerações independentes produzirem o mesmo valor seja desprezível. A documentação do produto descreve o tipo praticamente nesses termos, e o item a reproduz.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"UUID: identificador de 128 bits com colisão desprezível","citation":"Documentação do PostgreSQL, tipo de dados uuid","trap_note":"Repare no cuidado do enunciado: 'praticamente nula', não 'nula'. Se o item afirmasse impossibilidade de colisão, o absoluto passaria a ser do redator e o item cairia."}},{"id":"11b960d77c99","number":79,"stem":12,"statement":"Considere a tabela a seguir, de nome dados.\n\nid|sexo|idade|\n--+----+-----+\n  |M | 10|\n  |F | 10|\n  |M | 11|\n  |F | 11|\n  |M | 10|\n\nConsidere, ainda, que a seguinte consulta tenha sido executada.\n\nselect sexo, idade, count(*) qtde\nfrom dados\ngroup by cube(sexo, idade)\n\nNesse caso, é correto afirmar que o resultado da execução da consulta precedente será o apresentado a seguir.\n\nsexo|idade|qtde|\n----+-----+----+\nM | 11| 1|\nM | 10| 2|\nF | 10| 1|\nF | 11| 1|","answer":"E","source":{"slug":"CNJ_24","ano":2024},"explanation":{"verdict_reason":"GROUP BY CUBE(sexo, idade) não devolve apenas as combinações detalhadas: gera também os subtotais de cada dimensão isolada e o total geral, com nulo nas colunas agregadas. Para os cinco registros da tabela seriam nove linhas — as quatro combinações, mais M e F totalizados, mais 10 e 11 totalizados, mais o total geral igual a 5. O quadro exibido traz somente as quatro linhas de detalhe, que é o resultado de um GROUP BY simples.","distortion_type":"atribuicao_errada","distorted_span":"o resultado da execução da consulta precedente será o apresentado a seguir","corrected_statement":"Nesse caso, o resultado da execução da consulta precedente incluiria, além das quatro combinações de sexo e idade, os subtotais por sexo, os subtotais por idade e o total geral.","concept":"CUBE gera todas as combinações de agregação, inclusive o total geral","citation":null,"trap_note":"Conte as linhas antes de ler os valores: GROUP BY simples devolve uma linha por combinação existente, ROLLUP acrescenta os subtotais de uma hierarquia e CUBE acrescenta os subtotais de todas as combinações mais o total geral. Resultado de CUBE sem linhas com nulo é sempre errado."}},{"id":"541948829730","number":86,"stem":14,"statement":"Embora sejam diferentes entre si, os formatos JSON e XML utilizam estruturas de pares de chave:valor para representar os dados.","answer":"E","source":{"slug":"CODEVASF_24","ano":2024},"explanation":{"verdict_reason":"JSON é construído sobre pares de nome e valor, mas XML não: sua unidade é o elemento delimitado por marcadores de abertura e fechamento, organizado em uma árvore, com atributos apenas como recurso acessório. O item toma uma característica verdadeira de um dos formatos e a estende ao outro.","distortion_type":"escopo_ampliado","distorted_span":"os formatos JSON e XML utilizam estruturas de pares de chave:valor","corrected_statement":"Embora sejam diferentes entre si, os formatos JSON e XML representam dados de forma hierárquica, o primeiro por pares de chave:valor e o segundo por elementos delimitados por marcadores.","concept":"JSON usa pares chave:valor; XML usa elementos marcados","citation":null,"trap_note":"Quando o item junta dois formatos ou duas tecnologias numa característica só, teste a característica separadamente em cada um. Basta falhar em um para o item cair."}},{"id":"0a1424d26924","number":94,"stem":15,"statement":"Embora, em geral, o armazenamento de dados em bancos NoSQL seja mais otimizado do que em bancos de dados relacionais, o impacto dessa perceptível escalabilidade diminui à medida que aumenta a complexidade do modelo de dados usado no armazenamento.","answer":"C","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"A vantagem de desempenho do NoSQL nasce da simplicidade do modelo de acesso: chave direta, documento inteiro, poucos relacionamentos. À medida que o modelo se complica — muitas referências entre documentos, agregações que atravessam coleções, consistência entre entidades —, a aplicação passa a reimplementar junção e controle de integridade fora do banco, e o ganho de escalabilidade encolhe. O item afirma essa perda gradual, não uma inversão.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"O ganho do NoSQL decresce com a complexidade do modelo","citation":null,"trap_note":"Item que reconhece um limite da tecnologia costuma ser Certo; item que promete vantagem constante e incondicional costuma ser Errado. A banca mente prometendo tudo, não admitindo custos."}},{"id":"1380f092e3da","number":96,"stem":15,"statement":"A linguagem procedural do padrão SQL/PSM inclui a declaração de variáveis locais, o retorno de valores de funções, a construção de loops e o controle de fluxo para a programação de stored procedures.","answer":"C","source":{"slug":"MPO_24","ano":2024},"explanation":{"verdict_reason":"SQL/PSM é a parte do padrão SQL que acrescenta construções procedimentais à linguagem: declaração de variáveis locais, atribuição, condicionais, laços, tratamento de exceção e retorno de valor em funções. É a base de dialetos como PL/pgSQL, e o item enumera justamente esses recursos.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"SQL/PSM: extensão procedimental do padrão SQL","citation":"ISO/IEC 9075-4 (SQL/PSM)","trap_note":"SQL padrão é declarativo; SQL/PSM é o anexo que acrescenta fluxo de controle. Item que chame a SQL de procedimental erra; item que atribua fluxo de controle ao SQL/PSM acerta."}},{"id":"1978277fce22","number":115,"stem":16,"statement":"Os sistemas de bancos de dados NoSQL baseados em documentos armazenam os dados por meio de esquemas do tipo XML.","answer":"E","source":{"slug":"STJ_24","ano":2024},"explanation":{"verdict_reason":"Os bancos de documentos guardam documentos em JSON ou em suas variantes binárias, como o BSON do MongoDB; alguns admitem também YAML. XML é o formato dos bancos XML nativos, uma categoria distinta, com XQuery e XPath como linguagens. O item troca o formato característico da família.","distortion_type":"troca_de_termo","distorted_span":"por meio de esquemas do tipo XML","corrected_statement":"Os sistemas de bancos de dados NoSQL baseados em documentos armazenam os dados por meio de documentos no formato JSON ou BSON.","concept":"Banco de documentos usa JSON/BSON","citation":null,"trap_note":"Associe cada família ao seu formato: documento a JSON e BSON, colunar a famílias de colunas, grafo a nós e arestas, chave-valor a um valor opaco. Trocar o formato é a distorção mais barata nessa matéria."}},{"id":"70c3f6509cb0","number":118,"stem":17,"statement":"Alguns SGBDs são classificados como multimodelos, pois permitem o uso de diferentes modelos de dados, como o modelo relacional e o orientado a documentos, em uma única plataforma, oferecendo assim maior flexibilidade na escolha do modelo mais adequado para cada tipo de aplicação.","answer":"C","source":{"slug":"FUNPRESP_24_EXE","ano":2024},"explanation":{"verdict_reason":"SGBDs multimodelo são justamente os que atendem a mais de um modelo de dados em um único produto, como Oracle, PostgreSQL e Couchbase, que combinam relacional com documento, grafo ou chave-valor. O ganho anunciado é evitar a manutenção de vários bancos distintos, escolhendo por aplicação o modelo mais adequado. O item descreve a categoria sem exagerá-la.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"SGBD multimodelo combina modelos em uma só plataforma","citation":null,"trap_note":"Multimodelo é o contra-argumento pronto para itens que afirmam exclusividade entre relacional e NoSQL. Quando um item disser que os dois não convivem, lembre-se desta categoria."}},{"id":"7ce3489498aa","number":61,"stem":18,"statement":"Ao se executar db.nomeDaColecao.delete() no MongoDB, a coleção especificada é removida completamente, incluindo-se sua estrutura e todos os documentos armazenados.","answer":"E","source":{"slug":"CTI_23","ano":2023},"explanation":{"verdict_reason":"Remover a coleção inteira, com estrutura, documentos e índices, é função do db.colecao.drop(). Os métodos de exclusão de documentos são deleteOne e deleteMany, que apagam documentos que satisfaçam um filtro e deixam a coleção existindo, vazia se for o caso. O efeito descrito é real, mas pertence a outro comando.","distortion_type":"troca_de_termo","distorted_span":"a coleção especificada é removida completamente, incluindo-se sua estrutura e todos os documentos armazenados","corrected_statement":"Ao se executar db.nomeDaColecao.drop() no MongoDB, a coleção especificada é removida completamente, incluindo-se sua estrutura e todos os documentos armazenados.","concept":"drop remove a coleção; delete remove documentos","citation":null,"trap_note":"É o mesmo par do TRUNCATE e do DROP no relacional: um comando esvazia, o outro elimina o objeto. Reconheça a dupla e o item se resolve sem decorar a sintaxe."}},{"id":"16ad8b77d990","number":105,"stem":19,"statement":"Os bancos de dados não relacionais possuem como principal atrativo a capacidade de manipulação de grandes quantidades e diversidades de dados, bem como de modelos, sem perdas consideráveis no desempenho da aplicação.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"O argumento de venda da família não relacional é exatamente esse: absorver volume e variedade — dados estruturados, semiestruturados e não estruturados, sob modelos diferentes — sem que o desempenho se degrade de forma sensível, graças à distribuição horizontal e à ausência de junções custosas. O item enuncia o atrativo sem prometer garantia de consistência.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Volume e variedade como atrativo do NoSQL","citation":null,"trap_note":"Repare no que o item não diz: não fala em transação, em consistência forte nem em substituir o relacional. Itens que ficam nas vantagens de volume e variedade passam; os que avançam sobre ACID caem."}},{"id":"af91b30fb246","number":105,"stem":20,"statement":"O banco de dados não relacional MongoDB utiliza comandos DML para manipular os documentos armazenados.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"DML é a categoria das operações que manipulam dados — inserir, alterar, remover e recuperar — e não um privilégio da sintaxe SQL. No MongoDB, insertOne, updateMany, deleteOne e find exercem exatamente esse papel sobre documentos. O item classifica corretamente a natureza dos comandos, sem afirmar que o banco use SQL.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"DML é categoria de operação, não sinônimo de SQL","citation":null,"trap_note":"Separe a categoria (DDL, DML, DCL, DQL) da linguagem que a implementa. Um item pode atribuir DML a um banco NoSQL e estar certo; o que não pode é atribuir a ele a linguagem SQL como forma de acesso principal."}},{"id":"9b68609b6a75","number":106,"stem":20,"statement":"As propriedades BASE de bancos de dados não relacionais flexibilizam as propriedades ACID dos bancos de dados relacionais.","answer":"C","source":{"slug":"DATAPREV_23","ano":2023},"explanation":{"verdict_reason":"BASE — basicamente disponível, estado leve e consistência eventual — é a formulação deliberada de um relaxamento do ACID. Ao abrir mão da consistência imediata em favor da disponibilidade e da tolerância ao particionamento, o banco não relacional aceita que réplicas fiquem temporariamente divergentes e convirjam depois. O item nomeia exatamente essa flexibilização.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"BASE flexibiliza ACID: consistência eventual","citation":null,"trap_note":"ACID e BASE são os dois polos do mesmo eixo: garantia imediata contra disponibilidade sob partição. Item que apresenta BASE como flexibilização de ACID está certo; item que apresenta BASE como garantia mais forte, ou que nega qualquer consistência ao NoSQL, está errado."}},{"id":"a02cafc1b934","number":113,"stem":21,"statement":"Um dos objetivos do sharding de arquivos em bancos de dados NoSQL é melhorar o balanceamento de carga entre os nós da aplicação.","answer":"C","source":{"slug":"BCB_24","ano":2023},"explanation":{"verdict_reason":"Sharding é o particionamento horizontal dos dados entre vários nós: cada fragmento guarda um subconjunto dos registros, escolhido por uma chave de partição. Como leituras e escritas passam a ser atendidas por nós diferentes, o volume de trabalho se distribui, e é exatamente daí que vêm os dois objetivos anunciados do sharding, escalabilidade horizontal e balanceamento de carga.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Sharding distribui dados e carga entre nós","citation":null,"trap_note":"Não confunda sharding com replicação: sharding divide os dados para distribuir carga, replicação copia os mesmos dados para dar disponibilidade e tolerância a falha. Item que atribui a um o objetivo do outro é errado."}},{"id":"ff4d89789703","number":77,"stem":22,"statement":"A ingestão em tempo real ocorre quando os dados são carregados dos sistemas transacionais para os banco de dados NoSQL em horários pré-agendados, por exemplo, em um horário em que o sistema transacional seja menos requisitado.","answer":"E","source":{"slug":"SECONT_ES_22","ano":2022},"explanation":{"verdict_reason":"Carregar dados em horários pré-agendados, tipicamente na janela de menor uso do sistema transacional, é a definição de ingestão em lote. A ingestão em tempo real, ou por fluxo, captura e entrega o dado no momento em que ele é gerado, com latência de segundos ou menos e sem janela programada. O item descreve um modo de ingestão e o nomeia como o outro.","distortion_type":"troca_de_termo","distorted_span":"em horários pré-agendados","corrected_statement":"A ingestão em tempo real ocorre quando os dados são carregados dos sistemas transacionais para os banco de dados NoSQL no momento em que são gerados ou alterados, com latência mínima.","concept":"Ingestão em lote × ingestão em tempo real","citation":null,"trap_note":"Lote é agendado e periódico; tempo real é contínuo e disparado pelo evento. Sempre que o item citar janela, agendamento ou horário de menor uso, está descrevendo lote, qualquer que seja o nome que tenha dado."}},{"id":"8c5edd5d599b","number":79,"stem":23,"statement":"O resultado da execução das expressões em tela é apresentado a seguir.\n\n!e.Nome|d.Dnome|\n+------+-------+\n!Pedro |Vendas |\n!Bruno |Vendas |\n!Bruna |Vendas |\n!Alice |Pessoal|","answer":"E","source":{"slug":"SECONT_ES_22","ano":2022},"explanation":{"verdict_reason":"A consulta termina em return e.Nome, t, d.Dnome, isto é, projeta três expressões, e o quadro apresentado traz apenas duas colunas, sem a coluna do relacionamento t. Some-se a isso que os nós de departamento foram criados com o rótulo DEPARTMENTO e o MATCH procura o rótulo DEPARTAMENTO, de modo que o padrão não casa com nada. O resultado exibido não é o que as expressões produzem.","distortion_type":"atribuicao_errada","distorted_span":"!e.Nome|d.Dnome|","corrected_statement":"O resultado da execução das expressões em tela traria as três colunas projetadas pelo return, e.Nome, t e d.Dnome.","concept":"O resultado de uma consulta tem exatamente as colunas projetadas","citation":null,"trap_note":"Em item que exibe o resultado de uma consulta, confira primeiro o número de colunas contra a cláusula de projeção e só depois os valores. É a verificação mais rápida e costuma bastar."}},{"id":"98b394e80e0c","number":80,"stem":24,"statement":"Os documentos do MongoDB são armazenados em tabelas e colunas no formato que suporta SQL como sua linguagem de acesso principal. AUDITORIA E FISCALIZAÇÃO DE CONTRATOS","answer":"E","source":{"slug":"SECONT_ES_22","ano":2022},"explanation":{"verdict_reason":"O MongoDB guarda documentos BSON dentro de coleções, não linhas dentro de tabelas, e o acesso se faz pela sua própria linguagem de consulta, em notação de documento, e não por SQL. A descrição do item é a de um banco relacional, apenas colada sobre o nome do banco de documentos mais conhecido.","distortion_type":"troca_de_termo","distorted_span":"armazenados em tabelas e colunas no formato que suporta SQL como sua linguagem de acesso principal","corrected_statement":"Os documentos do MongoDB são armazenados em coleções, no formato BSON, e a linguagem de acesso principal é a linguagem de consulta do próprio MongoDB.","concept":"MongoDB: documento e coleção, não linha e tabela","citation":null,"trap_note":"Guarde a correspondência: coleção equivale a tabela, documento equivale a linha, campo equivale a coluna. A banca troca esses pares o tempo todo, nos dois sentidos."}},{"id":"fcdbb480705e","number":83,"stem":25,"statement":"Elasticsearch é um processo de pesquisa que trabalha com grandes volumes de dados, processando requisições JSON bem como devolvendo dados JSON.","answer":"C","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"O Elasticsearch é um motor de busca distribuído voltado a grandes volumes, cuja interface é uma API REST: recebe requisições em JSON e devolve respostas em JSON. O item descreve exatamente esse contrato de entrada e saída.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Elasticsearch: busca distribuída com API REST em JSON","citation":null,"trap_note":"Duas afirmações sobre o Elasticsearch são sempre certas: baseia-se no Lucene e fala JSON por REST. Duas são sempre erradas: é baseado em SQL e consulta diretamente bancos de terceiros."}},{"id":"be673f899125","number":86,"stem":26,"statement":"Elasticsearch é uma ferramenta baseada em SQL que, ao ser instalada no servidor de uma organização, recupera informações de diversos tipos de bancos de dados.","answer":"E","source":{"slug":"SEPLAN_RR_22","ano":2022},"explanation":{"verdict_reason":"O Elasticsearch é um motor de busca e análise distribuído, construído sobre o Apache Lucene, que armazena documentos JSON próprios e é consultado por uma API REST com consultas em JSON. Não é uma ferramenta baseada em SQL nem um consultor de bancos alheios: os dados precisam ser ingeridos no seu próprio índice, normalmente por Logstash, Beats ou pela API de indexação.","distortion_type":"troca_de_termo","distorted_span":"é uma ferramenta baseada em SQL","corrected_statement":"Elasticsearch é um motor de busca e análise baseado no Apache Lucene que, ao ser instalado no servidor de uma organização, indexa e recupera documentos JSON previamente ingeridos.","concept":"Elasticsearch é motor de busca sobre Lucene, com API JSON","citation":null,"trap_note":"Itens sobre Elasticsearch costumam se decidir em duas perguntas: sobre o que ele é construído (Lucene) e em que formato ele fala (JSON por REST). Qualquer resposta com SQL no lugar de uma dessas duas é distorção."}},{"id":"d76be7029171","number":99,"stem":27,"statement":"Um sistema de armazenamento de valor-chave é um sistema que fornece uma maneira de armazenar ou atualizar um registro com uma chave associada e recuperar o registro com determinada chave.","answer":"C","source":{"slug":"BANCO_DO_NORDESTE_22","ano":2022},"explanation":{"verdict_reason":"É a definição mínima do armazenamento chave-valor: guardar ou atualizar um registro associado a uma chave e recuperá-lo por essa mesma chave. Todo o contrato da família se resume a essas operações, porque o valor é tratado como bloco opaco pelo banco.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Chave-valor: put e get por chave única","citation":null,"trap_note":"Quanto mais enxuta a descrição do chave-valor, mais provável que esteja certa. As distorções aparecem quando acrescentam consulta por valor, junção ou esquema."}},{"id":"00dbe4239d07","number":61,"stem":28,"statement":"A principal diferença entre bancos de dados relacionais e bancos de dados NoSQL está na questão da segurança dos dados e das transações; os bancos de dados NoSql são imunes a ataques de injeção SQL.","answer":"E","source":{"slug":"PETROBRAS_21_NS","ano":2021},"explanation":{"verdict_reason":"A diferença entre as duas famílias está no modelo de dados e no modo de escalar, não em segurança. E a suposta imunidade não existe: bancos NoSQL sofrem injeção com a sintaxe da sua própria linguagem de consulta, a chamada injeção NoSQL, quando a aplicação concatena entrada do usuário em filtros ou em operadores de consulta.","distortion_type":"generalizacao","distorted_span":"os bancos de dados NoSql são imunes a ataques de injeção SQL","corrected_statement":"A principal diferença entre bancos de dados relacionais e bancos de dados NoSQL está no modelo de dados e na forma de escalar; os bancos de dados NoSQL também são suscetíveis a ataques de injeção, com a sintaxe das suas próprias linguagens de consulta.","concept":"Injeção também ocorre em NoSQL","citation":null,"trap_note":"A palavra 'imune' quase nunca é da fonte. A defesa contra injeção é a consulta parametrizada e a validação da entrada, não a escolha do banco."}},{"id":"ea2f07f22dbc","number":82,"stem":29,"statement":"Uma das principais funcionalidades das ferramentas de BI Qlik e Pentaho Data Integration é a possibilidade de criação de dashboards interativos, que permitem aos gestores realizar a tomada de decisão por meio da manipulação dinâmica de dados e filtros. IdProduto IdCategoria ValorProduto","answer":"E","source":{"slug":"SEFAZ_CE_21","ano":2021},"explanation":{"verdict_reason":"O Pentaho Data Integration, também conhecido como Kettle, é a ferramenta de ETL da suíte: extrai, transforma e carrega dados. Painéis interativos são construídos em outro componente do Pentaho, o servidor de análise, e não no PDI. A funcionalidade descrita existe, mas foi atribuída à ferramenta errada da mesma família.","distortion_type":"atribuicao_errada","distorted_span":"Qlik e Pentaho Data Integration é a possibilidade de criação de dashboards interativos","corrected_statement":"Uma das principais funcionalidades das ferramentas de BI Qlik e Pentaho Business Analytics é a possibilidade de criação de dashboards interativos, que permitem aos gestores realizar a tomada de decisão por meio da manipulação dinâmica de dados e filtros.","concept":"PDI é ferramenta de ETL, não de visualização","citation":null,"trap_note":"Em suítes de BI, separe o componente de integração do componente de apresentação. Nomes que contenham Data Integration, ETL, Kettle ou Talend fazem carga; painel e gráfico ficam com a camada analítica."}},{"id":"91a43689d44d","number":90,"stem":30,"statement":"O comando truncate PESSOA; permite excluir todos os registros da tabela de nome PESSOA.","answer":"C","source":{"slug":"PETROBRAS_21_NS","ano":2021},"explanation":{"verdict_reason":"TRUNCATE TABLE esvazia a tabela: remove todas as linhas de uma vez, mantendo a estrutura, os índices e as permissões. Difere do DELETE sem WHERE por ser DDL, por não registrar linha a linha no log e por não disparar gatilhos de linha, mas o efeito sobre os registros é o descrito no item.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"TRUNCATE remove as linhas e preserva a estrutura","citation":null,"trap_note":"TRUNCATE apaga linhas, DROP apaga o objeto. Item que faz o TRUNCATE remover a tabela, ou o DROP apenas esvaziá-la, trocou os dois comandos."}},{"id":"a18614fff558","number":91,"stem":30,"statement":"Em um banco de dados NoSQL, como o banco de dados gráfico, um objeto do mundo real é representado como uma tabela; cada registro da tabela forma uma linha cuja chave primária é representada por um campo numérico.","answer":"E","source":{"slug":"PETROBRAS_21_NS","ano":2021},"explanation":{"verdict_reason":"No banco de grafos, o objeto do mundo real é um nó, com rótulo e propriedades, e as ligações entre objetos são arestas nomeadas; não há tabela, não há linha e não há chave primária numérica obrigatória — a identidade do nó é interna ao banco. A descrição apresentada é a de uma tabela relacional colocada sob o nome do modelo de grafos.","distortion_type":"troca_de_termo","distorted_span":"um objeto do mundo real é representado como uma tabela","corrected_statement":"Em um banco de dados NoSQL, como o banco de dados gráfico, um objeto do mundo real é representado como um nó, e as ligações entre objetos são representadas por arestas.","concept":"Grafo: nó e aresta, não tabela e linha","citation":null,"trap_note":"Confira sempre o vocabulário contra a família citada. Tabela, linha e chave primária pertencem ao relacional; encontrá-los definindo um banco de grafos, de documentos ou colunar denuncia o item."}},{"id":"7a8bd6e24b53","number":105,"stem":31,"statement":"Para uma empresa que necessite implantar uma base de dados altamente escalável, com grande desempenho e cujo esquema de dados seja flexível, de modo que suporte constantes mudanças de campos e valores armazenados, a melhor opção é uma base de dados NoSQL.","answer":"C","source":{"slug":"SLU_DF_19","ano":2019},"explanation":{"verdict_reason":"Os três requisitos enunciados — escalabilidade elevada, alto desempenho e esquema que acompanhe mudanças constantes de campos e valores — são exatamente o caso de uso para o qual a família não relacional foi concebida, com escala horizontal e estrutura definida no próprio dado. O item recomenda a tecnologia para o cenário que a justifica.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Critério de escolha: escala horizontal e esquema variável","citation":null,"trap_note":"Itens de recomendação se decidem pelo casamento entre requisito e característica. Esquema instável mais escala horizontal aponta NoSQL; transação com várias tabelas e integridade referencial aponta relacional."}},{"id":"57bd53ed45ea","number":106,"stem":31,"statement":"Situação hipotética: Na utilização de JPA (Java Persistence API) para realizar o mapeamento objeto-relacional (ORM) em uma aplicação Java, surgiu a necessidade de criar uma propriedade idade não serializável em uma classe serializável. Assertiva: Uma maneira de informar que essa propriedade não deve ser persistida em banco de dados é utilizar a anotação @Transient em seu método getIdade().","answer":"C","source":{"slug":"SLU_DF_19","ano":2019},"explanation":{"verdict_reason":"A anotação @Transient é justamente a que marca um atributo ou propriedade como não persistente: o provedor de persistência a ignora ao mapear a classe para a tabela. Como o acesso desta entidade é por propriedade, anotar o método getIdade() é o lugar correto de colocá-la.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"@Transient exclui a propriedade da persistência","citation":null,"trap_note":"Não confunda o @Transient da JPA com a palavra reservada transient do Java, que exclui o campo da serialização. Uma é anotação de persistência, a outra é modificador de linguagem — e a banca gosta de sobrepor as duas."}},{"id":"b9d6018c719b","number":55,"stem":32,"statement":"Os bancos de dados NoSQL são imunes a ataques de injeção SQL.","answer":"E","source":{"slug":"TCE_PA_16","ano":2016},"explanation":{"verdict_reason":"A injeção não é uma falha do banco, e sim da aplicação que monta a consulta concatenando entrada do usuário. Bancos NoSQL têm a sua própria versão do ataque: filtros em JSON manipulados por operadores como o de igualdade ou de expressão, e execução de JavaScript no servidor em alguns produtos. Trocar de banco não elimina a vulnerabilidade.","distortion_type":"generalizacao","distorted_span":"são imunes a ataques de injeção SQL","corrected_statement":"Os bancos de dados NoSQL também são suscetíveis a ataques de injeção, executados com a sintaxe das suas próprias linguagens de consulta.","concept":"Injeção é falha da aplicação, não do modelo de dados","citation":null,"trap_note":"Este item aparece em cadernos diferentes, com e sem preâmbulo, e o gabarito é sempre Errado. Guarde o enunciado: nenhum banco é imune a injeção, porque a falha está em como a consulta é construída."}},{"id":"90960ab7a1fa","number":79,"stem":33,"statement":"Em um banco de dados NoSQL orientado a documentos, a inexistência de um esquema impossibilita a definição de índices.","answer":"E","source":{"slug":"FUNPRESP_16_JUD","ano":2016},"explanation":{"verdict_reason":"Índice e esquema são coisas independentes. O MongoDB cria índices em qualquer campo, simples, compostos, de texto, geoespaciais e sobre arrays, sem que exista definição prévia de estrutura: o índice é construído a partir dos documentos que efetivamente têm aquele campo. A causa apresentada pelo item é inventada.","distortion_type":"relacao_causal","distorted_span":"a inexistência de um esquema impossibilita a definição de índices","corrected_statement":"Em um banco de dados NoSQL orientado a documentos, a inexistência de um esquema predefinido não impede a definição de índices sobre os campos dos documentos.","concept":"Indexação independe de esquema predefinido","citation":null,"trap_note":"Desconfie de toda construção 'como não há X, é impossível Y'. A ausência de esquema no NoSQL não elimina índice, nem transação, nem validação: cada um desses recursos existe por conta própria."}},{"id":"174fc85d23fd","number":98,"stem":26,"statement":"Os bancos de dados NoSQL não permitem a atualização de seus dados, por serem orientados a documentos e(ou) coleções.","answer":"E","source":{"slug":"FUNPRESP_16_JUD","ano":2016},"explanation":{"verdict_reason":"Bancos NoSQL fazem atualização normalmente: o MongoDB tem updateOne e updateMany, o Redis sobrescreve o valor de uma chave, o Cassandra trata a atualização como escrita de nova versão. Ser orientado a documentos ou a coleções não impede nada disso — é apenas o modelo de dados, e não uma restrição de escrita.","distortion_type":"generalizacao","distorted_span":"não permitem a atualização de seus dados","corrected_statement":"Os bancos de dados NoSQL permitem a atualização de seus dados, ainda que sejam orientados a documentos e(ou) coleções.","concept":"Modelo de dados não restringe as operações de escrita","citation":null,"trap_note":"Item que nega uma função básica de uma tecnologia é errado com altíssima regularidade. A negação de função é o padrão mais confiável deste tópico."}},{"id":"d9d4050a1632","number":79,"stem":34,"statement":"Um banco de dados em grafos está diretamente relacionado a um modelo de dados já estabelecido, o que viabiliza recomendar a utilização para os casos em que a interconectividade dos dados é tão importante quanto os próprios dados.","answer":"C","source":{"slug":"TJDFT_15_SERVIDOR","ano":2015},"explanation":{"verdict_reason":"O banco de grafos não é uma estrutura improvisada: apoia-se num modelo formal já consolidado, o da teoria dos grafos, com vértices, arestas e propriedades. É por isso que sua indicação recai sobre domínios em que as ligações entre os dados valem tanto quanto os dados em si, como redes sociais, detecção de fraude e recomendação.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Grafos: o relacionamento é dado de primeira classe","citation":null,"trap_note":"A indicação de cada família se reconhece pelo tipo de pergunta que ela responde barato. Se a pergunta é sobre caminhos e conexões, é grafo; se é sobre agregações por coluna em volume, é colunar."}},{"id":"a82dd4b12203","number":93,"stem":35,"statement":"Sistemas de bancos de dados classificados como NoSQL permitem a inserção de dados sem que haja um esquema predefinido.","answer":"C","source":{"slug":"TJDFT_15_SERVIDOR","ano":2015},"explanation":{"verdict_reason":"Nos bancos NoSQL a estrutura do dado viaja junto com o próprio dado: cada documento, ou cada linha de uma família de colunas, carrega os campos que possui. Por isso é possível inserir sem declarar antes uma estrutura, ao contrário do relacional, em que nenhum INSERT ocorre sem um CREATE TABLE anterior. O item afirma apenas essa possibilidade.","distortion_type":"correto","distorted_span":null,"corrected_statement":null,"concept":"Esquema implícito e validado na leitura (schema-on-read)","citation":null,"trap_note":"Ausência de esquema predefinido é Certo; ausência de esquema, de modelagem ou de qualquer preocupação estrutural é Errado. A fronteira está entre dispensar a declaração prévia e dispensar o modelo."}}]}