Questão de Banco de Dados — SQL — Avança SP 2025
- Código
- qg425159
- Banca
- Avança SP
- Órgão
- UNITAU
- Ano
- 2025
- Nível
- Superior
- Cargo
- Programador Pleno
- AMySQL
- BPostgreSQL
- CRedis
- DOracle
- ECassandra
GabaritoC — Redis
Gabarito: letra C. O Redis é um sistema NoSQL orientado a chave-valor, no qual os dados são armazenados como pares de chave e valor, permitindo acesso rápido e simples. As demais alternativas (MySQL, PostgreSQL, Oracle e Cassandra) não se enquadram nesse modelo: as três primeiras são bancos relacionais, e o Cassandra é NoSQL, mas orientado a colunas.
O termo NoSQL (Not Only SQL) designa uma família de bancos de dados não relacionais, criados para lidar com grandes volumes de dados, alta escalabilidade e flexibilidade de esquema. Diferentemente dos bancos relacionais, que organizam os dados em tabelas com linhas e colunas e exigem um esquema rígido, os bancos NoSQL adotam modelos de dados mais variados e flexíveis. Os quatro modelos principais são: chave-valor, orientado a documentos, orientado a colunas e orientado a grafos.
O modelo chave-valor é o mais simples de todos. Ele funciona como uma grande tabela hash: cada dado é armazenado como um par composto por uma chave única e um valor associado. As operações básicas são get(chave) para recuperar o valor e set(chave, valor) para armazená-lo. Esse modelo é ideal para cenários como armazenamento de sessões de usuário, perfis, preferências e carrinhos de compras, onde o acesso é feito diretamente pela chave e a velocidade é essencial. Por outro lado, não é adequado para consultas complexas, relacionamentos entre dados ou transações que envolvam múltiplas operações.
O Redis é o exemplo clássico de banco chave-valor, amplamente utilizado como cache e para dados de sessão. Outros exemplos incluem DynamoDB, Riak, Memcached e Azure Table Storage. Já o Cassandra, embora também seja NoSQL, utiliza o modelo orientado a colunas, no qual os dados são armazenados em famílias de colunas, otimizado para escrita e leitura em larga escala. O MongoDB, por sua vez, é orientado a documentos, armazenando dados em documentos JSON flexíveis.
A distinção fundamental que separa as alternativas é o modelo de dados de cada sistema: relacional (MySQL, PostgreSQL, Oracle) versus NoSQL (Redis, Cassandra), e dentro do NoSQL, a diferença entre chave-valor (Redis) e colunas (Cassandra). É exatamente essa fronteira que a questão explora.
O MySQL é um sistema gerenciador de banco de dados relacional (SGBD relacional), que organiza os dados em tabelas com linhas e colunas e utiliza SQL para consultas. Ele não é um banco NoSQL, portanto não se enquadra no modelo chave-valor.
O PostgreSQL também é um SGBD relacional, embora aceite abordagens orientadas a objetos (mapeamento objeto-relacional). Assim como o MySQL, não é um banco NoSQL e não utiliza o modelo chave-valor.
O Redis é um banco de dados NoSQL orientado a chave-valor. Ele armazena dados como pares de chave e valor em memória, oferecendo acesso extremamente rápido. É amplamente utilizado para cache, sessões de usuário e filas de mensagens. Essa é a única alternativa que corresponde exatamente ao modelo chave-valor.
O Oracle é um SGBD relacional, um dos mais tradicionais do mercado, que organiza dados em tabelas e utiliza SQL. Não é um banco NoSQL e, portanto, não é orientado a chave-valor.
O Cassandra é um banco de dados NoSQL, mas é orientado a colunas, não a chave-valor. Ele foi projetado para lidar com grandes volumes de dados distribuídos em clusters, priorizando escalabilidade e disponibilidade. Embora seja NoSQL, seu modelo de dados é diferente do modelo chave-valor do Redis.
A banca mistura bancos relacionais com NoSQL e, dentro do NoSQL, troca o modelo de dados. O candidato que sabe que Cassandra é NoSQL pode marcá-la sem perceber que ela é orientada a colunas, não a chave-valor. O Redis é o único que se encaixa perfeitamente no modelo chave-valor.
Para questões de NoSQL, memorize os quatro modelos e seus principais representantes: chave-valor (Redis, DynamoDB), documentos (MongoDB), colunas (Cassandra, HBase) e grafos (Neo4j). Isso resolve a maioria das questões de classificação.
Gabarito: letra C
Link permanente: /questoes/qg425159