Pular para o conteúdo principal

Questão de Banco de Dados — Família de Colunas (Cassandra) — FGV 2025

Banco de DadosFamília de Colunas (Cassandra)
Código
fg169077
Banca
FGV
Órgão
Pref RJ
Ano
2025
Cargo
GSM ( )
A adoção de modelos de bancos de dados NoSQL permite lidar com grandes volumes de informações heterogêneas, estruturadas e não estruturadas, oferecendo agilidade analítica e suporte à tomada de decisão baseada em evidências. Sobre modelos de dados NoSQL orientados a documentos, grafos, chave-valor e colunar, assinale a opção correta.
  1. ADocumentos armazenados no modelo de dados orientados a documentos são codificados utilizando padrões, tais como XML, JSON ou BSON, em que o atributo armazena valores contém atributos atômicos, observando o pressuposto da primeira forma normal.
  2. BModelos de dados NoSQL orientados a grafos e documentos estruturalmente garantem características, as plenamente, por suas propriedades ACID (atomicidade, consistência, isolamento e durabilidade) de bancos de dados relacionais.
  3. CO modelo chave-valor implementa o armazenamento em uma estrutura de coleções de pares chave/valor, com baixa escalabilidade, porém favorecendo o processamento distribuído e acesso direto baseado na chave.
  4. DO modelo de dados de famílias de colunas (ou colunar) favorece, por sua estrutura, o esquema de versionamento de dados distribuídos pela disponibilidade de funções de timestamping.
  5. EOs nós do modelo orientado a grafos favorecem o armazenamento de grandes coleções de dados literais ou conceituais como dados desagregados que representem uma entidade de banco de dados.
Revelar gabarito e comentário

GabaritoD — O modelo de dados de famílias de colunas (ou colunar) favorece, por sua estrutura, o esquema de versionamento de dados distribuídos pela disponibilidade de funções de timestamping.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Modelos de dados NoSQL: documentos, grafos, chave-valor e colunar

Gabarito: letra D. O modelo de famílias de colunas (colunar) indexa os dados por uma tripla (linha, coluna e timestamp), e é justamente o timestamp que permite diferenciar múltiplas versões de um mesmo dado — o que sustenta a afirmação sobre o versionamento distribuído. As demais alternativas erram ao atribuir características de outros modelos ou ao distorcer propriedades fundamentais dos NoSQL.

Os bancos NoSQL foram criados para atender a requisitos de gerenciamento de grandes volumes de dados, semiestruturados ou não estruturados, que necessitam de alta disponibilidade e escalabilidade. Eles se organizam, em geral, em quatro modelos principais: chave-valor, orientado a documentos, orientado a colunas e orientado a grafos. Cada um tem uma estrutura de armazenamento própria, e é exatamente essa estrutura que determina suas vantagens e limitações.

No modelo orientado a colunas, os dados são agrupados em famílias de colunas, e cada família funciona como um mapa de dados que armazena informações frequentemente acessadas em conjunto. A indexação é feita por uma tripla (linha, coluna e timestamp), onde linhas e colunas são identificadas por chaves e o timestamp permite diferenciar múltiplas versões de um mesmo dado. Essa característica é central para o versionamento distribuído, pois cada escrita pode ser registrada com um timestamp distinto, permitindo rastrear a evolução dos dados ao longo do tempo. Bancos como Cassandra, HBase, Hypertable e Amazon SimpleDB utilizam esse modelo.

O modelo orientado a documentos armazena coleções de documentos, onde cada documento é um objeto com identificador único e um conjunto de campos, que se assemelham a uma estrutura chave-valor. Os documentos podem ser codificados em formatos como XML, JSON ou BSON. Uma característica fundamental é que os documentos são semelhantes, mas não necessariamente iguais — ou seja, não há um esquema rígido que obrigue todos os documentos a terem os mesmos campos. Isso contrasta diretamente com a primeira forma normal do modelo relacional, que exige atributos atômicos e esquema fixo.

O modelo chave-valor é uma grande tabela hash, onde cada chave está associada a um único valor. É de fácil implementação e proporciona acesso rápido aos dados pela chave. A escalabilidade é uma de suas principais vantagens, pois pode ser alcançada adicionando mais nós ao cluster — não se trata de um modelo de baixa escalabilidade, como afirma a alternativa C.

O modelo orientado a grafos possui três componentes básicos: os nós (vértices), os relacionamentos (arestas) e as propriedades (atributos) dos nós e relacionamentos. Os dados são armazenados uma vez e interpretados de formas diferentes com base nos relacionamentos. Os nós representam entidades, mas não são usados para armazenar "grandes coleções de dados literais ou conceituais como dados desagregados" — essa descrição não corresponde à função dos nós em um grafo.

Uma distinção importante é que os bancos NoSQL, em geral, não garantem as propriedades ACID de bancos relacionais. Em vez disso, seguem o modelo BASE (Basicamente disponível, Estado leve e Consistente em momento indeterminado), baseado no teorema CAP, que afirma que em um sistema distribuído só é possível garantir duas de três propriedades: consistência, disponibilidade e tolerância a partição. Portanto, a alternativa B, que afirma que grafos e documentos garantem plenamente as propriedades ACID, está incorreta.

A pegadinha central desta questão é a troca de características entre os modelos: a banca atribui a um modelo características de outro, ou distorce propriedades fundamentais. Para acertar, é preciso conhecer a estrutura de armazenamento de cada modelo e suas implicações. Guarde a fronteira entre os quatro modelos: é exatamente nela que as alternativas se dividem.

Modelo NoSQL

Estrutura de armazenamento

Característica principal

Exemplos

Chave-valor

Grande tabela hash (pares chave/valor)

Alta escalabilidade horizontal; acesso rápido pela chave

Dynamo, Redis, Riak, Memcached DB

Orientado a documentos

Coleções de documentos (XML, JSON, BSON)

Esquema flexível; não segue a 1FN; documentos semelhantes, mas não idênticos

MongoDB, CouchDB

Orientado a colunas (colunar)

Famílias de colunas; indexação por (linha, coluna, timestamp)

Versionamento distribuído via timestamp; agrupamento de dados acessados em conjunto

Cassandra, HBase, Hypertable, Amazon SimpleDB

Orientado a grafos

Nós (vértices), relacionamentos (arestas) e propriedades

Foco em conexões; dados interpretados pelos relacionamentos

Neo4j, Amazon Neptune

1Chave-valor
Alta escalabilidade
Acesso direto pela chave
2Documentos
XML, JSON, BSON
Sem esquema rígido (≠ 1FN)
3Colunar
Tripla: linha, coluna, timestamp
Versionamento distribuído
4Grafos
Nós, arestas e propriedades
Foco nos relacionamentos
5Garantias
BASE (não ACID)
Teorema CAP
Modelos NoSQL
LEVELsoulevel.com.br
Modelos NoSQL: Chave-valor (Alta escalabilidade, Acesso direto pela chave); Documentos (XML, JSON, BSON, Sem esquema rígido (≠ 1FN)); Colunar (Tripla: linha, coluna, timestamp, Versionamento distribuído); Grafos (Nós, arestas e propriedades, Foco nos relacionamentos); Garantias (BASE (não ACID), Teorema CAP)

Alternativa A — ❌ Incorreta

A alternativa afirma que documentos no modelo orientado a documentos são codificados em XML, JSON ou BSON, e que o atributo armazena valores contém atributos atômicos, observando o pressuposto da primeira forma normal. O erro está na última parte: o modelo orientado a documentos não segue a primeira forma normal. Os documentos podem ter estruturas aninhadas, listas e campos não atômicos, justamente por não haver um esquema rígido. A primeira forma normal é um conceito do modelo relacional, que exige atributos atômicos e tabelas normalizadas. Nos bancos de documentos, a flexibilidade do esquema é uma característica fundamental, permitindo que documentos semelhantes, mas não necessariamente iguais, sejam armazenados.

Alternativa B — ❌ Incorreta

A alternativa afirma que modelos orientados a grafos e documentos garantem plenamente as propriedades ACID de bancos relacionais. Isso é falso. Os bancos NoSQL, em geral, não garantem as propriedades ACID simultaneamente. Em vez disso, seguem o modelo BASE (Basicamente disponível, Estado leve e Consistente em momento indeterminado), baseado no teorema CAP. O teorema CAP afirma que, em um sistema distribuído, só é possível garantir duas de três propriedades: consistência, disponibilidade e tolerância a partição. Portanto, a garantia plena de ACID não é uma característica dos modelos NoSQL, mas sim dos bancos relacionais tradicionais.

Alternativa C — ❌ Incorreta

A alternativa afirma que o modelo chave-valor implementa o armazenamento em coleções de pares chave/valor, com baixa escalabilidade. Isso está incorreto. O modelo chave-valor é conhecido por sua alta escalabilidade, que pode ser alcançada adicionando mais nós ao cluster (escalabilidade horizontal). A estrutura de uma grande tabela hash permite acesso rápido aos dados pela chave e favorece o processamento distribuído. Exemplos de bancos chave-valor incluem Dynamo, Redis, Riak e Memcached DB. A escalabilidade é uma das principais vantagens desse modelo, não uma limitação.

Alternativa D — ✅ Correta ⟵ GABARITO

A alternativa afirma que o modelo de famílias de colunas (ou colunar) favorece, por sua estrutura, o esquema de versionamento de dados distribuídos pela disponibilidade de funções de timestamping. Isso está correto. No modelo orientado a colunas, os dados são indexados por uma tripla (linha, coluna e timestamp), onde o timestamp permite diferenciar múltiplas versões de um mesmo dado. Essa característica é fundamental para o versionamento distribuído, pois cada escrita pode ser registrada com um timestamp distinto, permitindo rastrear a evolução dos dados ao longo do tempo. Bancos como Cassandra, HBase, Hypertable e Amazon SimpleDB utilizam esse modelo, e a disponibilidade de funções de timestamping é uma de suas principais vantagens.

Alternativa E — ❌ Incorreta

A alternativa afirma que os nós do modelo orientado a grafos favorecem o armazenamento de grandes coleções de dados literais ou conceituais como dados desagregados que representem uma entidade de banco de dados. Isso está incorreto. No modelo orientado a grafos, os nós são os vértices do grafo e representam entidades, mas não são usados para armazenar "grandes coleções de dados literais ou conceituais como dados desagregados". A estrutura do grafo é composta por três componentes básicos: nós (vértices), relacionamentos (arestas) e propriedades (atributos) dos nós e relacionamentos. Os dados são armazenados uma vez e interpretados de formas diferentes com base nos relacionamentos. A descrição da alternativa não corresponde à função dos nós em um grafo, que é representar entidades e suas conexões, não armazenar coleções de dados desagregados.

NÃO CAIA NESSA!

A banca adora trocar as características entre os modelos NoSQL para confundir. Nesta questão, a alternativa A atribui a primeira forma normal ao modelo de documentos, a alternativa B atribui ACID aos modelos NoSQL, e a alternativa C afirma que o chave-valor tem baixa escalabilidade. A chave é conhecer a estrutura de cada modelo: documentos são flexíveis e não seguem 1FN, NoSQL não garante ACID plenamente, e chave-valor é altamente escalável. Com treino, você enxerga essas trocas de longe 💪

Gabarito: letra D

Link permanente: /questoes/fg169077