Você está na página 1de 6

UNIFAMETRO

ADS - SI

Davi Felipe Cavalcante Mendes – 1-2019215976


Adriel
Hiarley
Mateus

Disciplina
TÉCNICAS DE IMPLEMENTAÇÃO DE BANCO DE DADOS

Título
MongoDB em Ação: Gerenciamento de Dados Estruturados, Semiestruturados e
Não Estruturados.

FORTALEZA
2023
Título
MongoDB em Ação: Gerenciamento de Dados Estruturados, Semiestruturados e
Não Estruturados.

Este trabalho, apresentado para a disciplina de Técnicas de Implementação de Banco de Dados, tem
como objetivo explorar os aspectos fundamentais do MongoDB, incluindo o gerenciamento de
buffer, processamento de consultas, transações e controle de concorrência. Através desta análise,
buscamos compreender melhor a eficácia e a eficiência do MongoDB no tratamento de dados
estruturados, semiestruturados e não estruturados.

FORTALEZA
2023
O uso de bancos de dados não relacionais, como o MongoDB, é uma abordagem cada vez
mais comum para lidar com dados estruturados, semiestruturados e não estruturados, devido à sua
flexibilidade e escalabilidade. Neste estudo, vamos abordar os principais aspectos relacionados à
implementação de um banco de dados MongoDB em cenários com esses tipos de dados, incluindo o
gerenciamento de buffer, processamento de consultas, transações e controle de concorrência.

1. Gerenciamento de Buffer
2. Processamento de Consultas
3. Transações
4. Controle de Concorrência

1.1 – Do Gerenciamento de Buffer:

O MongoDB usa um mecanismo de gerenciamento de buffer para armazenar dados


frequentemente acessados na memória principal. Isso melhora o desempenho das consultas,
reduzindo a necessidade de acessar o disco constantemente. A configuração adequada do
tamanho do buffer é crucial para garantir um bom desempenho. O administrador do sistema
deve ajustar os parâmetros de cache do MongoDB para atender às necessidades específicas de
armazenamento e uso dos dados, pois são uma parte crucial do desempenho do banco de dados.

1.2 Estratégias e Conceitos:


Parte Tecnica de otimização de desempenho e durabilidade.

- Páginas Sujas:

Páginas sujas referem-se a páginas de dados no MongoDB que foram modificadas na


memória (RAM) durante a escrita ou atualização de documentos, mas ainda não foram
persistidas no disco. O MongoDB mantém um cache na memória para melhorar o desempenho
de leitura e gravação, mas para garantir a durabilidade dos dados em caso de falha do sistema, as
páginas sujas precisam ser gravadas no disco periodicamente. Isso é feito por meio do
mecanismo de gravação em segundo plano (background flush) que escreve as páginas sujas no
disco de forma assíncrona.

- Política de Substituição:

A política de substituição no MongoDB determina como os dados são removidos do cache na


memória quando ele está cheio. A política padrão é a política "Least Recently Used" (LRU), que
significa que os dados que foram menos recentemente acessados são removidos primeiro para
liberar espaço no cache. Isso ajuda a manter os dados mais relevantes e frequentemente usados
na memória, melhorando o desempenho das consultas.

- Pré-busca (Pre-fetching):

O pré-busca é uma técnica usada pelo MongoDB para melhorar a eficiência das operações
de leitura. Em vez de aguardar que uma consulta específica exija determinadas páginas de dados
no disco, o MongoDB pode antecipar quais páginas de dados provavelmente serão necessárias
em breve e carregá-las na memória antes que sejam solicitadas. Isso ajuda a reduzir a latência
das consultas, uma vez que as páginas já estão disponíveis na memória, minimizando a
necessidade de acessos demorados ao disco.

- Robo 3T:

Robo 3T (anteriormente conhecido como Robomongo) é uma interface gráfica de código


aberto e leve para o MongoDB. Ela oferece suporte a várias plataformas e é popular entre
desenvolvedores que desejam uma maneira conveniente de interagir com o MongoDB. O Robo
3T incorpora a linha de comando do MongoDB em sua aplicação, tornando-a uma escolha sólida
tanto para iniciantes quanto para usuários avançados.

- NoSQLBooster:

NoSQLBooster é uma ferramenta centrada na linha de comando do MongoDB que oferece


recursos avançados, como monitoramento, construtor de consultas com autocompletar, suporte
a consultas SQL e sintaxe ES2017. É adequada para desenvolvedores que desejam uma
experiência avançada de desenvolvimento e consulta em bancos de dados MongoDB.

- MongoDB Compass:

MongoDB Compass é desenvolvido pela própria equipe do MongoDB. Ele fornece uma
interface gráfica que permite aos usuários visualizar seu esquema MongoDB e executar
operações CRUD sem a necessidade de usar a linguagem de consulta por linha de comando. É
uma opção amigável e visual para aqueles que preferem não lidar diretamente com comandos
MongoDB.

- NoSQL Manager:

O NoSQL Manager é uma ferramenta de administração que combina uma interface amigável
com o poder da linha de comando. Ele oferece alto desempenho e suporte para os recursos mais
recentes do MongoDB e MongoDB Enterprise. Essa ferramenta é adequada para administradores
de banco de dados e desenvolvedores que desejam gerenciar e otimizar o desempenho de seus
bancos de dados MongoDB.
2.1 - Processamento de Consultas:

- Consult as Ad Hoc:
O MongoDB suporta consultas ad hoc, o que significa que você pode realizar
consultas em tempo real sem a necessidade de definir a estrutura da consulta com
antecedência. Isso oferece flexibilidade para consultar os dados conforme necessário,
sem a necessidade de esquemas rígidos.

- Linguagem de Consulta BSON:


As consultas no MongoDB são formuladas usando a linguagem de consulta BSON
(Binary JSON). O BSON é uma representação binária de estruturas de dados semelhantes
ao JSON e é usado para definir critérios de consulta e projeções de documentos.
Índices:

Índices podem ser criados no MongoDB para otimizar o desempenho das consultas.
Assim como em bancos de dados SQL, os índices no MongoDB aceleram a recuperação
de dados. Eles permitem que o banco de dados acesse os documentos de forma mais
eficiente, reduzindo a necessidade de percorrer coleções inteiras em busca de
resultados.

- Otimizador de Consultas:
O MongoDB possui um otimizador de consultas interno que determina a maneira
mais eficiente de executar uma consulta. Ele examina todas as possíveis estratégias de
plano de consulta e escolhe a que retornará os resultados mais rapidamente. Isso ajuda a
garantir um desempenho eficaz das consultas.

- Método Find():
Para consultar dados nas coleções do MongoDB, você usa o método find(). Este
método é usado para realizar consultas básicas e pode ser estendido para realizar
consultas mais complexas, permitindo especificar critérios de consulta, projeções e
ordenação de resultados.

- Framework de Agregação:
O MongoDB oferece um poderoso framework de agregação que permite realizar
operações complexas nos dados. Isso inclui a capacidade de agregar, filtrar, projetar,
agrupar e ordenar documentos. É uma ferramenta poderosa para a análise de dados e
para a obtenção de informações mais avançadas a partir dos documentos armazenados
no MongoDB.
https://dev.to/shadowlik/ferramentas-gratuitas-para-gerenciar-mongodb-1h73
https://marquesfernandes.com/desenvolvimento/ferramentas-gratuitas-para-
gerenciar-mongodb/
https://www.bing.com/search?form=NTPCHB&q=Bing+AI&showconv=1
https://terminalroot.com.br/2020/02/mongodb.html
https://blog.umbler.com/br/boas-praticas-com-mongodb/

https://tipscode.com.br/mongodb-guia-completo-para-iniciante/

https://www.luiztools.com.br/post/tutorial-mongodb-para-iniciantes-em-nosql/

https://www.devmedia.com.br/mongodb-realizando-consultas/27791

Você também pode gostar