No contexto de bancos de dados NoSQL, sobre o uso de índices analise as afirmativas a seguir. I. O suporte a índices secundários é frequente nas implementações NoSQL mais amplamente usadas, como, por exemplo, MongoBD. II. Índices implementados em tabelas hash em bancos dados NoSQL permitem consultas por intervalos (range) com complexidade O(1). III. Em contraste aos bancos relacionais, árvores B constituem o tipo de índice mais utilizado em bancos NoSQL. Está correto o que se afirma em
- A)I, apenas.
Certa, porque apenas a afirmativa I reflete uma característica comum e correta de sistemas NoSQL como o MongoDB.
- B)I e II, apenas.
Errada, porque a afirmativa II é falsa: índice hash não é adequado para consultas por intervalo em O(1).
- C)I e III, apenas.
Errada, porque a afirmativa III generaliza de forma incorreta o uso de árvores B nos bancos NoSQL.
- D)II e III, apenas.
Errada, porque tanto a afirmativa II quanto a III estão incorretas.
- E)I, II e III.
Errada, porque as afirmativas II e III não se sustentam tecnicamente.
Gabarito: A
Em bancos NoSQL, os índices existem para acelerar consultas, mas a forma de implementá-los varia bastante conforme o modelo de dados e o produto. Em sistemas como o MongoDB, é muito comum haver suporte a índices secundários, o que permite pesquisar por campos que não sejam a chave primária ou o identificador do documento. Isso é útil porque, sem índice, a busca pode virar varredura completa, e aí a performance despenca rapidinho. A afirmativa I está correta justamente por isso: implementações NoSQL populares, como o MongoDB, oferecem índices secundários e isso é uma funcionalidade bem difundida. Já a afirmativa II está errada porque índices hash são bons para buscas por igualdade, mas não para consultas por intervalo. Range query pede estrutura ordenada, e hash não organiza os dados de forma sequencial para esse tipo de operação, então não faz milagre com complexidade O(1). A afirmativa III também está errada. Árvores B e suas variações são muito usadas em bancos relacionais, mas não são o tipo de índice mais característico dos sistemas NoSQL em geral. No universo NoSQL, aparecem várias estratégias, como índices hash, estruturas baseadas em LSM tree e abordagens específicas por produto, então a generalização da afirmativa não se sustenta. Assim, o gabarito é A, porque somente a primeira proposição está de acordo com o uso real de índices em NoSQL. A banca explora bem a ideia de que NoSQL não significa ausência de índice, e sim escolhas diferentes de indexação conforme o motor e o tipo de consulta.