Questão de Banco de Dados — Chave-Valor (Redis, DynamoDB) — INSTITUTO AOCP 2024
Banco de Dados›Chave-Valor (Redis, DynamoDB)
Código
qa630636
Banca
INSTITUTO AOCP
Órgão
MGI
Ano
2024
Cargo
Esp ( )
Sobre o banco de dados Redis, assinale a alternativa correta.
ARedis é um banco de dados relacional que usa tabelas para armazenar dados estruturados.
BNo Redis, os dados são armazenados na memória e podem ser persistidos em disco.
CPara consultar dados no Redis, é necessário usar a linguagem SQL (Structured Query Language).
DRedis é um banco de dados que armazena dados exclusivamente em formato JSON.
EO Redis não suporta a criação de listas, conjuntos e hashes para armazenar dados.
Revelar gabarito e comentário▾
GabaritoB — No Redis, os dados são armazenados na memória e podem ser persistidos em disco.
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”.
Redis: banco de dados NoSQL chave-valor
Gabarito: letra B. O Redis é um banco de dados NoSQL do tipo chave-valor que armazena os dados primariamente na memória (RAM) para obter alta performance, mas oferece mecanismos de persistência em disco (como snapshots e append-only file). As demais alternativas erram ao classificá-lo como relacional, exigir SQL, limitar o armazenamento a JSON ou negar suas estruturas de dados.
O Redis é um dos representantes mais conhecidos da categoria chave-valor dentro dos bancos NoSQL. Diferentemente dos bancos relacionais tradicionais (como MySQL, PostgreSQL ou Oracle), que organizam os dados em tabelas com linhas e colunas e utilizam SQL para consultas, o Redis trabalha com um modelo muito mais simples: cada dado é armazenado como um par de chave e valor. A chave é uma string única que identifica o dado, e o valor pode ser de diversos tipos, como strings, listas, conjuntos, hashes, entre outros. Essa simplicidade é o que permite ao Redis atingir latências extremamente baixas, sendo amplamente utilizado para cache, gerenciamento de sessões e filas de mensagens.
A principal característica que define o Redis é o armazenamento em memória. Os dados ficam residentes na RAM, o que torna as operações de leitura e escrita extremamente rápidas — muito mais rápidas do que em bancos que dependem de disco para cada acesso. No entanto, o Redis não é um banco volátil por padrão: ele oferece mecanismos de persistência que permitem gravar os dados em disco, seja por meio de snapshots periódicos (RDB) ou por um log de escrita contínua (AOF). Isso garante que, em caso de reinicialização, os dados possam ser recuperados. Essa combinação de memória + persistência é exatamente o que a alternativa B descreve.
Outro ponto importante é que o Redis não utiliza SQL. Suas operações são realizadas por comandos próprios, como SET, GET, LPUSH, SADD, entre outros. Isso o diferencia dos bancos relacionais, que dependem da linguagem SQL para consultas e manipulação de dados. Além disso, o Redis suporta uma rica variedade de estruturas de dados, incluindo strings, listas, conjuntos, hashes, sorted sets, streams, bitmaps, geoespaciais e até JSON. Portanto, a alternativa E, que afirma que o Redis não suporta listas, conjuntos e hashes, é completamente falsa.
A pegadinha desta questão está em associar o Redis a conceitos de bancos relacionais ou a formatos específicos de armazenamento. A banca explora a confusão comum entre NoSQL e SQL, e entre as diferentes categorias de bancos NoSQL. O candidato que não conhece as características do Redis pode facilmente cair na alternativa A (relacional) ou C (SQL). A alternativa D, por sua vez, tenta limitar o Redis a um único formato de dados, ignorando sua flexibilidade.
Redis: Tipo (NoSQL, Chave-valor); Armazenamento (Memória (RAM), Persistência em disco); Consultas (Comandos próprios (SET, GET), Não usa SQL); Estruturas de dados (Strings, Listas, Conjuntos, Hashes)
Alternativa A — ❌ Incorreta
O Redis não é um banco de dados relacional. Ele é um banco NoSQL do tipo chave-valor, que não organiza dados em tabelas com linhas e colunas. A estrutura de armazenamento é baseada em pares chave-valor, onde cada chave é única e mapeia para um valor de um dos tipos suportados. A banca tenta confundir o candidato ao associar o Redis ao modelo relacional, mas essa é uma característica de bancos como MySQL, PostgreSQL e Oracle.
Alternativa B — ✅ Correta ⟵ GABARITO
Esta é a definição correta do Redis. Ele é um banco de dados in-memory, ou seja, armazena os dados na memória RAM para garantir alta velocidade de leitura e escrita. No entanto, ele também oferece persistência em disco, permitindo que os dados sejam salvos e recuperados após reinicializações. Essa combinação é o que torna o Redis tão popular para casos de uso que exigem performance extrema, como cache e sessões.
Alternativa C — ❌ Incorreta
O Redis não utiliza SQL. Ele possui sua própria linguagem de comandos, baseada em operações como SET, GET, DEL, LPUSH, SADD, entre outras. SQL é a linguagem padrão para bancos relacionais, mas não se aplica ao Redis. A banca tenta induzir o candidato a pensar que todos os bancos de dados usam SQL, o que é falso.
Alternativa D — ❌ Incorreta
O Redis não armazena dados exclusivamente em JSON. Embora o Redis suporte o tipo de dado JSON (a partir de versões mais recentes), ele também suporta strings, listas, conjuntos, hashes, sorted sets, streams, bitmaps, geoespaciais e outros. A afirmação de que o armazenamento é exclusivamente em JSON é incorreta e tenta limitar a flexibilidade do Redis.
Alternativa E — ❌ Incorreta
O Redis suporta sim a criação de listas, conjuntos e hashes. Na verdade, essas são algumas das estruturas de dados mais utilizadas no Redis. Listas são coleções ordenadas de strings, conjuntos são coleções não ordenadas de strings únicas, e hashes são coleções de pares campo-valor. A alternativa nega uma característica fundamental do Redis, sendo claramente falsa.