Olá pessoal, tudo bem? Hoje vamos entender um pouco sobre um conceito bem legal que é o de Banco de Dados MONGODB, você conhece?
MongoDB é um banco de dados de documentos, o que significa que ele armazena dados em documentos do tipo JSON. É considerado um banco do tipo NOSQL, já falamos sobre esse tipo de banco aqui nesse blog link no final, diferente do modelo tradicional de linha/coluna ele armazena dados em estruturas específicas que iremos mostrar logo mais [1].
As informações nesse banco vão sendo armazenados permitindo esquemas flexíveis e dinâmicos, isso é muito importante em aplicações mobile por exemplo, onde a características das transações não necessitam ser ACID (Atomicidade, Consistência, Isolamento e Durabilidade).
Por que esse assunto está sendo cobrado nos concursos? Essa deve ser sua pergunta… uma possível resposta é que o MONGODB foi criado para suportar soluções de Big Data, são altamente escaláveis, como já citado, tanto horizontalmente como verticalmente, usa instâncias espelhadas facilitando o acesso ao dado com baixa latência e distribui os dados, dessa forma são ideais para o armazenamento de Big Data, lembrando o V de Volume.
Algumas características desse banco de dados são:
A capacidade de distribuição de dados de maneira horizontal, permitindo alta scalabilidade.
Altamente tolerante a falhas devido a distribuição horizontal dos dados e seus mecanismos de armazenamento e consulta.
Além de possuir uma distribuição de dados entre múltiplas nuvens, como AWS, Azure e Google Cloud.
Além disso são bons no armazenamento de dados não estruturados diferente dos bancos relacionais. Existe um tipo de documento chamado BSON (Binário JSON) que são schemaless (sem esquema) e aceitam qualquer objeto que você queira armazenar.
Então veja a diferença de como o dado é armazenado no MongoDB:
{
“_id”: “5cf0029caff5056591b0ce7d”,
“firstname”: “Jane”,
“lastname”: “Wu”,
“address”: {
“street”: “1 Circle Rd”,
“city”: “Los Angeles”,
“state”: “CA”,
“zip”: “90404”
},
“hobbies”: [“surfing”, “coding”]
}
Exemplo documento MongoDB[1]
Um conceito interessante nesse banco é o de coleção, onde cada uma representa um grupo de documentos, isso seria equivalente a uma tabela no banco relacional – RDBMS, uma coleção existe dentro de um único repositório de dados no MongoDB, veja que devido ser similar e não igual a um RDBMS a coleção não impõem um esquema, documentos de uma coleção podem ter campos diferentes, coisa que não ocorre dentro de um banco relacional, mas para fins de organização normalmente uma coleção tem documentos semelhantes.
Então se coleção está para tabela, o documento está para o que? simples, o documento seria a linha, ou no caso do MongoDB um conjunto de pares de valores-chave. Conforme já mostrado no Exemplo 1.
Com essa breve introdução, vamos então ver duas questões sobre esse banco de dados, o gabarito está no final do artigo.
Ano: 2019 Banca: IF Sul Rio-Grandense Órgão: IF Sul Rio-Grandense Prova: IF Sul Rio-Grandense – 2019 – IF Sul Rio-Grandense – Analista de Tecnologia da Informação
Sobre o banco de dados MongoDB, é INCORRETO afirmar:
- MongoDB é um banco de dados orientado a documentos com estrutura semelhante a objetos do tipo JSON.
- As operações no MongoDB são feitas através da execução de funções.
- No MongoDB, os schemas são dinâmicos, sendo possível em um mesmo documento ter dados com diferentes campos.
- No MongoDB, pode ser utilizada a linguagem SQL para fazer consultas de dados.
Ano: 2021 Banca: CESPE / CEBRASPE Órgão: SERPRO Prova: CESPE / CEBRASPE – 2021 – SERPRO – Analista – Especialização: Ciência de Dados
A respeito de conceitos de NoSQL orientado a grafos, orientado a documentos e orientado a colunas, julgue o item a seguir.
Uma coleção e um documento, no MongoDB, são equivalentes à tabela e à linha, no Modelo Relacional de Dados.
Certo
Errado
Ano: 2017 Banca: FGV Órgão: IBGE Prova: FGV – 2017 – IBGE – Analista Censitário – Análise de Sistemas – Desenvolvimento de Aplicações – Web Mobile
Bancos de Dados NoSQL podem armazenar dados em diversos formatos não relacionais, como documentos compostos por pares de campo-e-valor (field-and-value), conforme a estrutura exemplificada a seguir.
O Banco de Dados NoSQL utilizado para armazenar documentos compostos por pares campo-e-valor, no formato BSON (JSON-like), é o:
a)OpenLink Virtuoso;
b)Neo4j;
c)Apache HBase;
d)MongoDB;
e) Titan
Dessa forma encerro esse artigo com essa breve introdução sobre o assunto! E o gabarito está logo abaixo. Até mais!
Referências
[1] https://www.mongodb.com/pt-br
[2] https://imasters.com.br/banco-de-dados/mongodb-para-iniciantes-em-nosql
GABARITO
1) LETRA D
2) CERTO. Por mais que seja um esquema de armazenamento diferente, conforme Exemplo de documento apresentado nesse artigo, há uma similaridade na estrutura.3)
LETRA D.
Professor MSc, Washington Almeida
Doutorando e Mestre em Engenharia de Software pelo Centro de Estudos e Sistemas Avançados do Recife – C.E.S.A.R. Atualmente é Analista Judiciário na Justiça Federal (TRF1), Professor de vários cursos no Mercado e no Gran Cursos Online. É certificado ISF 27002.