NoSQL em concursos: teoria essencial e correção de questões CEBRASPE

Por
Publicado em
7 min. de leitura

Os bancos de dados NoSQL surgiram como alternativa aos bancos relacionais tradicionais para cenários em que há grande volume de dados, alta velocidade de escrita e leitura, variedade estrutural e necessidade de escalabilidade distribuída. Em provas de concursos de TI, especialmente no CEBRASPE, o tema costuma aparecer associado a três ideias principais: flexibilidade de esquema, escalabilidade horizontal e modelagem orientada ao padrão de acesso.

A expressão NoSQL não significa, necessariamente, “sem SQL” em sentido absoluto. Em muitos contextos, é interpretada como Not Only SQL, isto é, bancos que não seguem estritamente o modelo relacional tradicional, mas que podem coexistir com bancos relacionais e, em alguns casos, até oferecer linguagens de consulta semelhantes ao SQL. 

O ponto central é que esses bancos abandonam, flexibilizam ou reinterpretam alguns elementos clássicos do modelo relacional, como tabelas rígidas, normalização intensa, junções frequentes e transações ACID amplas.

Nos bancos relacionais tradicionais, os dados costumam ser organizados em tabelas, com linhas e colunas previamente definidas. A estrutura é determinada por um esquema fixo, e alterações na forma dos dados exigem mudanças estruturais no banco. Já em muitos bancos NoSQL, especialmente nos orientados a documentos, é comum haver maior flexibilidade estrutural. Por isso, eles são frequentemente chamados de schemaless ou, de forma mais precisa, schema-flexible.

Essa flexibilidade significa que diferentes registros de uma mesma coleção podem ter atributos distintos. Por exemplo, em um banco orientado a documentos, um documento de cliente pode ter nome, CPF e e-mail, enquanto outro pode ter nome, CPF, telefone, endereço e lista de compras. Não há, necessariamente, a obrigação de todos os documentos seguirem a mesma estrutura rígida de colunas.

Outro ponto muito cobrado é a escalabilidade horizontal. Enquanto a escalabilidade vertical consiste em aumentar os recursos de um único servidor, como memória, CPU e armazenamento, a escalabilidade horizontal consiste em distribuir dados e processamento entre vários servidores. 

Muitos bancos NoSQL foram projetados justamente para funcionar bem em ambientes distribuídos, com particionamento, replicação e distribuição de carga.

Essa característica é muito importante em aplicações de grande escala, como redes sociais, sistemas de logs, Internet das Coisas, catálogos de produtos, aplicações web de alto tráfego, sistemas de recomendação e plataformas de streaming. Nesses contextos, pode ser mais eficiente distribuir os dados entre múltiplos nós do que depender de um único servidor central.

Entretanto, essa distribuição traz desafios. Em bancos distribuídos, é comum discutir o chamado Teorema CAP, segundo o qual, em caso de particionamento de rede, um sistema distribuído precisa equilibrar consistência e disponibilidade. Muitos bancos NoSQL priorizam disponibilidade, tolerância a particionamento e desempenho, aceitando formas de consistência mais flexíveis, como consistência eventual.

É por isso que não se deve afirmar, de forma genérica, que bancos NoSQL garantem plenamente ACID em todas as operações distribuídas. ACID significa atomicidade, consistência, isolamento e durabilidade. 

Essas propriedades são clássicas em bancos relacionais transacionais, mas não representam uma garantia universal em todo banco NoSQL e em toda operação distribuída. Alguns bancos NoSQL modernos oferecem transações em certos escopos, mas isso não autoriza generalizações absolutas.

Em provas, o CEBRASPE costuma explorar exatamente esse tipo de generalização. Frases com “todos”, “sempre”, “em todas as operações”, “ideal para transações rígidas” ou “garantem ACID em arquiteturas distribuídas” devem acender alerta. NoSQL não é sinônimo de ausência completa de consistência, mas também não é correto tratá-lo como solução ideal para qualquer cenário de transação complexa e fortemente consistente.

Também é importante conhecer os principais modelos NoSQL. Os bancos chave-valor armazenam dados como pares de chave e valor, sendo úteis para cache, sessões e consultas simples por identificador. Os bancos orientados a documentos armazenam documentos semiestruturados, geralmente em formatos como JSON ou BSON. Os bancos orientados a colunas organizam os dados em famílias de colunas, muito usados em grandes volumes distribuídos. Já os bancos orientados a grafos são especializados em representar entidades e relacionamentos.

Os bancos orientados a documentos são muito cobrados por causa do uso de estruturas aninhadas. Em vez de separar tudo em várias tabelas normalizadas, é comum armazenar dados relacionados dentro do mesmo documento. Por exemplo, um pedido pode conter dados do cliente, itens, endereço de entrega e forma de pagamento no mesmo documento. Essa estratégia pode reduzir a necessidade de junções e melhorar a performance de leitura, desde que esteja alinhada ao padrão de acesso da aplicação.

Nos bancos orientados a colunas, como Cassandra e HBase, os dados podem ser agrupados em famílias de colunas. Isso favorece o armazenamento e a recuperação eficiente de conjuntos específicos de atributos. Por exemplo, informações de contato poderiam ser agrupadas em uma família de colunas contendo e-mail, telefone e endereço. O foco está na organização eficiente para leitura e escrita em larga escala.

Já os bancos de grafos são praticamente o oposto da ideia de “armazenar dados sem explorar conexões”. Eles existem justamente para representar e consultar relacionamentos. São úteis em redes sociais, detecção de fraude, sistemas de recomendação, análise de vínculos, rotas, dependências e estruturas altamente conectadas. Em bancos de grafos, os relacionamentos não são detalhe secundário; são parte central do modelo.

Para finalizar o estudo, vamos resolver questões:


Questão 1 — ACID em todas as operações distribuídas

Prova: CESPE / CEBRASPE – 2025 – Polícia Federal – Perito Criminal Federal – Área 3: Informática Forense

Item:
“Os bancos de dados NoSQL garantem atomicidade, consistência, isolamento e durabilidade em todas as operações realizadas em arquiteturas distribuídas.”

Gabarito: Errado.

A afirmação está incorreta porque generaliza indevidamente as propriedades ACID para todos os bancos NoSQL e para todas as operações em arquiteturas distribuídas. Bancos NoSQL foram projetados, em muitos casos, para escalabilidade, disponibilidade, flexibilidade e desempenho em ambientes distribuídos. Por isso, frequentemente adotam modelos de consistência diferentes do modelo relacional clássico.

Isso não significa que nenhum banco NoSQL ofereça transações ou algum nível de garantia transacional. Alguns oferecem suporte a transações em certos contextos, documentos, coleções, partições ou configurações específicas. O erro está na expressão “garantem ACID em todas as operações”. Em prova CEBRASPE, esse tipo de universalização costuma tornar o item incorreto.

O mais adequado seria dizer que bancos NoSQL podem flexibilizar garantias ACID, especialmente em arquiteturas distribuídas, podendo adotar consistência eventual, replicação assíncrona ou outros mecanismos de equilíbrio entre consistência, disponibilidade e tolerância a falhas.


Questão 2 — Bancos NoSQL e schemaless

Prova: CESPE / CEBRASPE – 2024 – TCE-AC – Analista de Tecnologia da Informação – Área: Gestão de Dados

Item:
“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.”

Gabarito: Certo.

O item está correto. Muitos bancos NoSQL, especialmente os orientados a documentos, são descritos como schemaless porque não exigem um esquema rígido previamente definido como ocorre nos bancos relacionais tradicionais. Isso permite armazenar documentos com estruturas diferentes dentro de uma mesma coleção.

Por exemplo, um documento pode possuir os campos nome, email e telefone, enquanto outro pode conter nome, cpf, enderecos, compras e preferencias. Essa flexibilidade é uma das grandes vantagens dos bancos orientados a documentos.

Atenção, porém: “schemaless” não significa ausência total de estrutura. Na prática, os dados continuam tendo alguma organização lógica, muitas vezes definida pela própria aplicação. Por isso, alguns autores preferem o termo schema-flexible. Ainda assim, para fins de prova, a ideia do item está correta.


Questão 3 — Escalabilidade horizontal

Prova: CESPE / CEBRASPE – 2025 – Polícia Federal – Perito Criminal Federal – Área 3: Informática Forense

Item:
“A escalabilidade horizontal, uma característica comum em bancos de dados NoSQL, permite a distribuição de dados por múltiplos servidores.”

Gabarito: Certo.

A afirmação está correta. A escalabilidade horizontal consiste em aumentar a capacidade do sistema por meio da adição de novos servidores, em vez de apenas melhorar os recursos de uma única máquina.

Essa é uma característica muito associada aos bancos NoSQL, pois muitos deles foram projetados para operar em ambientes distribuídos, com particionamento de dados, replicação e balanceamento de carga. Essa arquitetura facilita o tratamento de grandes volumes de dados e grandes quantidades de requisições simultâneas.

Em termos simples: em vez de colocar tudo em um único servidor mais potente, o sistema distribui os dados entre vários servidores. Isso é especialmente útil em aplicações de grande escala.


Questão 4 — NoSQL e transações complexas rígidas

Prova: CESPE / CEBRASPE – 2025 – EMBRAPA – Técnico – Área: Gestão da Informação – Subárea: Tecnologia da Informação

Item:
“Bancos de dados NoSQL são ideais para aplicações que requeiram transações complexas e rígidas, com garantias de consistência.”

Gabarito: Errado.

O item está errado. De modo geral, aplicações que exigem transações complexas, rígidas e com fortes garantias de consistência são tradicionalmente mais aderentes aos bancos relacionais, especialmente quando há necessidade de transações ACID envolvendo múltiplas tabelas, restrições de integridade e consistência forte.

Bancos NoSQL são muito úteis em cenários de alta escalabilidade, grande volume de dados, flexibilidade estrutural e distribuição. Contudo, não são, em regra, a escolha “ideal” quando o requisito principal é transação complexa e fortemente consistente.

A banca tenta inverter a lógica: ela pega características típicas de bancos relacionais transacionais e atribui aos bancos NoSQL. Por isso, o item deve ser julgado como errado.


Questão 5 — Bancos orientados a colunas e famílias de colunas

Prova: CESPE / CEBRASPE – 2024 – ANATEL – Especialista em Regulação de Serviços Públicos de Telecomunicações – Especialidade: Ciências de Dados

Item:
“Nos bancos de dados NoSQL orientados a colunas, é possível organizar os dados em famílias de colunas, o que facilita o agrupamento e o acesso a informações específicas, como, por exemplo, os dados de contato.”

Gabarito: Certo.

O item está correto. Bancos NoSQL orientados a colunas, também chamados em alguns contextos de bancos de famílias de colunas, organizam os dados em grupos de colunas relacionadas. Essa estrutura permite armazenar e recuperar informações específicas de forma eficiente.

Por exemplo, uma família de colunas chamada contato poderia agrupar atributos como email, telefone, celular e endereco. Outra família poderia armazenar dados cadastrais, e outra, dados de histórico de interações.

Esse modelo é diferente do modelo relacional clássico. O objetivo é favorecer consultas e operações em grande escala, especialmente quando o sistema precisa acessar determinados grupos de informações com frequência.


Questão 6 — Bancos NoSQL de grafos

Prova: CESPE / CEBRASPE – 2025 – Polícia Federal – Perito Criminal Federal – Área 3: Informática Forense

Item:
“Sistemas NoSQL de grafos armazenam dados sem explorar conexões e relacionamentos entre as informações.”

Gabarito: Errado.

O item está incorreto porque contradiz exatamente a finalidade dos bancos de grafos. Bancos NoSQL orientados a grafos são projetados para armazenar entidades e, principalmente, os relacionamentos entre essas entidades.

Em um banco de grafos, os dados costumam ser representados por nós, arestas e propriedades. Os nós representam entidades, como pessoas, empresas, contas, documentos ou localidades. As arestas representam relações, como “conhece”, “comprou”, “transferiu”, “pertence a”, “é sócio de” ou “está conectado a”.

Esse modelo é especialmente útil quando os relacionamentos são tão importantes quanto os próprios dados. Exemplos clássicos incluem redes sociais, recomendações, análise de fraude, investigação de vínculos, dependências entre sistemas e rotas.

Portanto, dizer que bancos de grafos não exploram conexões é inverter completamente o conceito.


Questão 7 — Documentos, estruturas aninhadas e performance de leitura

Prova: CESPE / CEBRASPE – 2025 – SUSEP – Analista Técnico – Área: Tecnologia da Informação e Ciência de Dados

Item:
“Em bancos NoSQL orientados a documentos, é comum o uso de estruturas aninhadas, que evitam junções e melhoram a performance de leitura.”

Gabarito: Certo.

O item está correto. Bancos NoSQL orientados a documentos, como MongoDB e CouchDB, permitem armazenar dados em documentos com estruturas aninhadas. Isso significa que um documento pode conter objetos internos, listas e subdocumentos.

Essa abordagem é muito usada para reduzir a necessidade de joins. Em bancos relacionais, informações relacionadas costumam ser separadas em várias tabelas e reunidas por meio de junções. Em bancos orientados a documentos, pode-se incorporar dados relacionados em um mesmo documento, facilitando leituras mais rápidas quando a aplicação precisa recuperar tudo junto.

Por exemplo, um documento de pedido pode conter os dados do pedido, os itens comprados, o endereço de entrega e informações de pagamento. Se o padrão de acesso da aplicação normalmente precisa desses dados juntos, armazená-los de forma aninhada pode melhorar a performance de leitura.

O cuidado é que essa modelagem pode aumentar redundância e exigir atenção em atualizações. Ainda assim, a afirmação do item está correta: estruturas aninhadas são comuns em bancos de documentos e podem evitar junções, favorecendo leitura.

Terças e quintas de TI. Conteúdo prático e artigos especializados para acelerar seu conhecimento. Acesse agora!

Por
Publicado em
7 min. de leitura

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *