MongoDB é um banco de dados de código aberto projetado para armazenar e trabalhar com grande volume de dados de forma escalável. São consideradas características do MongoDB, EXCETO:
- A)Fornece suporte para operações JOIN, como no SQL.
Errada, porque JOIN tradicional é característica típica de bancos relacionais, não uma marca do MongoDB.
- B)Não oferece suporte para transações, como no SQL. No entanto, garante a atomicidade em nível de documento.
Errada, porque o MongoDB hoje suporta transações, embora a atomicidade seja naturalmente garantida em nível de documento.
- C)Consultas são baseadas em chaves no documento, para que os documentos possam ser distribuídos em vários servidores.
Certa, pois o MongoDB usa chaves, índices e sharding para distribuir documentos e escalar horizontalmente.
- D)Utiliza documentos para armazenar dados, oferecendo um esquema flexível com documentos da mesma coleção podendo ter campos diferentes.
Certa, porque o MongoDB armazena documentos com esquema flexível, permitindo campos diferentes na mesma coleção.
Gabarito: A
O MongoDB é um banco NoSQL orientado a documentos, em que os dados são armazenados em formato flexível, parecido com JSON/BSON. Isso permite que documentos da mesma coleção tenham campos diferentes, o que é ótimo quando o modelo muda com frequência ou quando os dados têm estrutura menos engessada. Em provas, a ideia central é: menos rigidez de esquema, mais flexibilidade e escalabilidade. Outro ponto importante é que o MongoDB trabalha muito bem com distribuição de dados e consultas por chaves/indexação, o que ajuda na performance em grandes volumes. Ele também pode oferecer atomicidade em nível de documento, ou seja, a operação que altera um documento tende a ser tratada como uma unidade. Em versões mais recentes, o MongoDB passou a suportar transações multi-documento, então aquela afirmação absoluta de que ele "não oferece suporte para transações" ficou desatualizada. É aqui que a banca costuma pegar: ela mistura características de banco relacional com NoSQL para ver se você cai na armadilha do JOIN. Em MongoDB, não é típico falar em JOIN como no SQL, porque o modelo é pensado para desnormalização e documentos aninhados, reduzindo a necessidade desse tipo de operação. Quando a questão cobra o "EXCETO", a pista mais forte costuma ser justamente aquilo que pertence ao mundo relacional e não ao universo documental. Por isso, o item A está errado: suporte a JOIN como no SQL não é característica clássica do MongoDB. O banco pode até fazer agregações e combinações de dados de formas próprias, mas isso não o transforma em um SGBD relacional com JOIN tradicional.