MongoDB para concursos públicos

MongoDB tem se destacado como uma ferramenta poderosa nos concursos públicos, oferecendo flexibilidade e escalabilidade.

Por
4 min. de leitura

Nesta postagem, iremos explorar o MongoDB, um banco de dados NoSQL orientado a documentos que se destaca por sua flexibilidade e escalabilidade. Nosso objetivo é compreender os conceitos fundamentais do MongoDB e suas principais características, como a modelagem de dados flexível, a escalabilidade horizontal através do sharding, a indexação avançada e as poderosas capacidades de consulta. 

MongoDB é um banco de dados NoSQL orientado a documentos, projetado para armazenar dados em formato JSON (JavaScript Object Notation) ou BSON (Binary JSON). Ele se destaca pela sua flexibilidade e escalabilidade, permitindo que desenvolvedores armazenem, consultem e manipulem dados de maneira eficiente e intuitiva.

Suas principais características são:

  1. Modelagem de Dados Flexível: Ao contrário dos bancos de dados relacionais que utilizam tabelas e esquemas fixos, MongoDB armazena dados em documentos, cada um podendo ter uma estrutura diferente.
  2. Escalabilidade Horizontal: MongoDB é projetado para escalabilidade horizontal através do sharding, o que permite distribuir dados entre múltiplos servidores, suportando grandes volumes de dados e alta demanda de acesso.
  3. Indexação Avançada: Suporta vários tipos de índices, incluindo índices únicos, compostos, geoespaciais e textuais, melhorando significativamente a performance das consultas.
  4. Consultas Poderosas: Oferece uma linguagem de consulta rica, permitindo a realização de operações complexas de leitura e escrita diretamente nos documentos.
  5. Replicação e Alta Disponibilidade: MongoDB usa replicação para garantir alta disponibilidade e redundância de dados, com suporte para configurações de réplica set.
  6. Ecossistema Robusto: Integra-se facilmente com diversas linguagens de programação e ferramentas de análise de dados, além de possuir um conjunto robusto de ferramentas para administração e monitoramento.

Um exemplo comum de uso do MongoDB é em aplicações de e-commerce, onde cada documento pode representar um pedido de cliente com todos os itens comprados, informações do cliente e detalhes de pagamento, tudo armazenado em um único documento JSON.

Em MongoDB, a estrutura de dados básica é o documento, que é uma estrutura composta por pares de chave-valor, semelhante ao JSON. Documentos armazenam dados em um formato flexível, permitindo diversos tipos de valores, como números, strings, booleanos, listas e documentos aninhados.

Documentos:

Um documento pode ser representado assim:

Texto

Descrição gerada automaticamente

Neste exemplo, o documento inclui vários tipos de dados e um documento aninhado.

Coleções:

Uma coleção é um conjunto de documentos. Diferente das tabelas em bancos de dados relacionais, coleções em MongoDB não requerem um esquema fixo, permitindo que documentos com diferentes estruturas coexistam na mesma coleção.

Tipos de Valores:

Os valores em documentos MongoDB podem incluir:

  • Números: Inteiros e flutuantes.
  • Strings: Sequências de texto.
  • Booleanos: true ou false.
  • Listas: Arrays de valores.
  • Documentos aninhados: Estruturas de documentos dentro de documentos.

MongoDB Query API

A API de consulta do MongoDB permite realizar operações de CRUD (Create, Read, Update, Delete) no banco de dados. Exemplos de consultas básicas incluem:

  • Inserir Documentos:

db.collection.insertOne({ name: “Alice”, age: 30 }); db.collection.insertMany([{ name: “Bob”, age: 25 }, { name: “Charlie”, age: 35 }]); 

  • Consultar Documentos:

db.collection.find({ age: { $gt: 25 } }); 

  • Atualizar Documentos:

db.collection.updateOne({ name: “Alice” }, { $set: { age: 31 } }); db.collection.updateMany({ age: { $lt: 30 } }, { $set: { status: “young” } }); 

  • Excluir Documentos:

db.collection.deleteOne({ name: “Charlie” }); db.collection.deleteMany({ age: { $lt: 30 } }); 

Agora vamos praticar:

Prova: CESPE / CEBRASPE – 2024 – LNA – Tecnologista – Especialidade: Desenvolvimento e Arquitetura de Software

Nos bancos de dados MongoDB, os dados são armazenados como documents, os quais são arquivos do tipo

A JSON.

B CSV.

C XML.

D BSON.

E HTML.

Gabarito: D

Comentário: 

Vamos comentar cada uma das alternativas sobre o tipo de arquivo em que os dados são armazenados nos bancos de dados MongoDB:

Alternativa A: JSON

Comentário: JSON (JavaScript Object Notation) é um formato de intercâmbio de dados que é fácil de ler e escrever para humanos e fácil de interpretar e gerar para máquinas. Embora MongoDB use JSON como formato para representar documentos de forma textual, internamente ele armazena os dados em outro formato. JSON é frequentemente usado na comunicação com APIs, mas não é o formato de armazenamento interno do MongoDB.

Alternativa B: CSV

Comentário: CSV (Comma-Separated Values) é um formato amplamente utilizado para armazenar dados tabulares em texto simples, onde cada linha é um registro e os valores de cada campo são separados por vírgulas. Esse formato é comumente usado para importação e exportação de dados entre sistemas diferentes, mas não é usado internamente por MongoDB para armazenamento de documentos.

Alternativa C: XML

Comentário: XML (eXtensible Markup Language) é um formato de marcação amplamente utilizado para representar dados estruturados. É semelhante ao HTML, mas é mais focado na descrição de dados do que na apresentação. Embora XML seja utilizado em diversas aplicações para representação de dados, MongoDB não usa XML como formato de armazenamento interno.

Alternativa D: BSON

Comentário: BSON (Binary JSON) é um formato de serialização binária usado internamente pelo MongoDB para armazenar documentos. Ele é uma representação binária estendida de JSON que oferece suporte a tipos de dados adicionais, como datas e binários, e é mais eficiente em termos de espaço e velocidade de processamento. Esta é a resposta correta.

Alternativa E: HTML

Comentário: HTML (HyperText Markup Language) é a linguagem padrão usada para criar páginas web e estruturar conteúdo na web. HTML não é utilizado como formato de armazenamento de dados em bancos de dados, incluindo MongoDB. Portanto, esta alternativa está incorreta.

Prova: Quadrix – 2024 – IBICT – Tecnologista – Tecnologia da Informação

Acerca dos Sistemas Gerenciadores de Banco de Dados (SGBDs) MySQL e PostgreSQL, do Solr e do MongoDB, julgue o item.

O cenário mais indicado para se utilizar o MongoDB configurase quando relacionamentos entre diversas entidades são importantes para o sistema, ou seja, no caso de haver a necessidade de se empregar muitas chaves estrangeiras e JOINs.

Gabarito: Errado

Comentário:

MongoDB é um banco de dados NoSQL orientado a documentos. Utiliza documentos BSON para armazenar dados, que são muito flexíveis e podem conter estruturas aninhadas. Embora o MongoDB suporte alguns relacionamentos e operações de junção (JOIN) através do $lookup, ele não é otimizado para cenários com muitos relacionamentos complexos ou operações de JOIN pesadas. A força do MongoDB está na sua flexibilidade e no desempenho em operações de leitura e escrita em documentos sem estrutura fixa. MongoDB é mais indicado para casos em que a flexibilidade do esquema, escalabilidade horizontal e desempenho em operações de leitura/escrita de documentos são mais importantes que a complexidade dos relacionamentos.

Quer ficar por dentro dos concursos públicos abertos e previstos pelo Brasil?
clique nos links abaixo:

Concursos Abertos

Concursos 2024

Receba gratuitamente no seu celular as principais notícias do mundo dos concursos!
clique no link abaixo e inscreva-se gratuitamente:

Telegram

Por
4 min. de leitura