Você está na página 1de 3

Machine Translated by Google

Publicado por: Jornal Internacional de Pesquisa e Tecnologia em Engenharia (IJERT)


http://www.ijert.org ISSN: 2278-0181
vol. 8 Edição 05, maio-2019

Uma revisão sobre vários aspectos do MongoDb


bancos de dados

Anjali Chauhan
M.tech Scholar, Departamento
CSE, Rawal Institute of Engineering and
Technology, Faridabad, Haryana, Índia

Resumo—MongoDB é o mais popular entre os bancos de dados que fornece alto desempenho, alta disponibilidade e fácil escalabilidade.
NoSQL. Para a construção de data warehouses, é uma ótima ferramenta, O MongoDB trabalha com o conceito de coleção e documento. • Banco
especialmente devido à sua capacidade de utilizar totalmente a chamada de dados -
“arquitetura de cluster sem fragmentação”. É um banco de dados de Banco de dados é um contêiner físico para coleções.
código aberto, o que o torna ideal para a construção de armazéns de dados
Cada banco de dados obtém seu próprio conjunto de arquivos
de alto desempenho. Neste artigo, uma revisão de vários aspectos do
no sistema de arquivos. • Coleção - Coleção é um grupo de documentos
MongoDB é discutida e algumas questões-chave são enquadradas. No
do MongoDB. É o equivalente a uma tabela RDBMS.
futuro, pesquisas podem ser feitas sobre qualquer uma dessas questões.
As coleções não impõem um esquema. Os documentos dentro de
Portanto, este artigo abre algumas áreas para pesquisa em bancos de dados MongoDB.
uma coleção podem ter campos diferentes. Normalmente, todos os
Palavras-chave — No-SQL, MongoDB, banco de dados, RDBMS, documentos em uma coleção são de natureza semelhante ou relacionada
bancos de dados não relacionais propósito.
I. INTRODUÇÃO
• Documento - Um documento é um conjunto de pares chave-valor.
Os documentos têm esquema dinâmico. Esquema dinâmico
O MongoDB é um banco de dados de documentos de código aberto significa que documentos na mesma coleção não precisam ter o
que fornece alto desempenho, alta disponibilidade e dimensionamento mesmo conjunto de campos ou estrutura, e campos comuns em
automático. Um registro no MongoDB é um documento, que é uma documentos de uma coleção podem conter diferentes tipos de
estrutura de dados composta por pares de campos e valores. Os dados.
documentos do MongoDB são semelhantes aos objetos JSON. Os
valores dos campos podem incluir outros documentos, arrays e arrays de documentos.
{ _id:ObjectId(7df78ad8902c)
As vantagens de usar documentos são: • Title:'MongoDB Overview'
Documentos (ou seja, objetos) correspondem a tipos de dados nativos em Description:' MongoDB is no sql database
muitas linguagens de programação. Comments:
• Documentos e matrizes incorporados reduzem a necessidade de [{ user:'user1',
junções caras. • Message:'my first comment',
Esquema dinâmico suporta polimorfismo fluente. dateCreated: new Date(2011,1,20,2,15), },
A. Principais recursos do MongoDB •
Alto desempenho – o MongoDB fornece persistência de dados de alto { user:'user2',
desempenho. Em particular, ele oferece suporte para modelos de Message: 'my second comments'
dados incorporados, reduz a atividade de E/S no sistema de banco dateCreated: Date } } novo (2011,1,25,7,45),
de dados, os índices suportam consultas mais rápidas e podem
incluir chaves de documentos e matrizes
incorporados. • Linguagem de consulta avançada - o MongoDB oferece • Documento de amostra - O exemplo acima mostra a estrutura do
suporte a uma linguagem de consulta avançada para oferecer documento de um site de blog, que é simplesmente um par de
valores-chave
suporte a operações de leitura e gravação (CRUD), bem como agregação de dados separados
e pesquisa de texto. por vírgula.
• Alta disponibilidade – o recurso de replicação do MongoDb, chamado C. Vantagens do MongoDB
conjunto de réplicas, fornece failover automático e redundância de Qualquer banco de dados relacional tem um design de esquema
dados. Um conjunto de réplicas é um grupo de servidores MongoDB típico que mostra o número de tabelas e o relacionamento entre essas
que mantém o mesmo conjunto de dados, fornecendo redundância tabelas. Enquanto no MongoDB, não há conceito de relacionamento. As
e aumentando a disponibilidade vantagens do MongoDB sobre o RDBMS podem ser descritas como: •
MongoDB é
de dados. • Escalabilidade horizontal – MongoDB fornece escalabilidade
horizontal como parte de sua funcionalidade principal. A um banco de dados de documentos no qual uma coleção contém
fragmentação distribui dados em um cluster de máquinas. documentos diferentes. Número de campos, conteúdo e tamanho
do documento podem diferir de um documento para outro.
B. Visão geral do MongoDB
O MongoDB é um banco de dados de documentos de código aberto
e banco de dados NoSQL líder. O MongoDB é escrito em C++. • A estrutura de um único objeto é clara. •
MongoDB é um banco de dados multiplataforma orientado a documentos Sem junções complexas.

IJERTV8IS050031 www.ijert.org 90
(Este trabalho está licenciado sob uma Licença Creative Commons Atribuição 4.0 Internacional.)
Machine Translated by Google
Publicado Jornal Internacional de Pesquisa e Tecnologia em Engenharia (IJERT)
por: http://www.ijert.org ISSN: 2278-0181
vol. 8 Edição 05, maio-2019

• Capacidade de consulta profunda. O MongoDB oferece suporte a disponível, embora a chave primária seja uma das chaves mais importantes
consultas dinâmicas em documentos usando uma linguagem de da tabela; ele é usado para identificar cada linha da tabela de forma única.
consulta baseada em documentos que Existem quatro operações principais usadas para acessar o banco de
é quase tão poderosa quanto o SQL. • Facilidade de dados, conhecidas como CRUD, ou seja, criar, ler, atualizar e excluir
associadas
expansão. O MongoDB é fácil de escalar. • Conversão/mapeamento de objetos do aplicativo aos
paradados.
bancoEssas operações usam a linguagem de consulta
de dados
objetos desnecessários. estruturada –SQL. As propriedades ACID são um dos atributos mais
• Usa memória interna para armazenar o trabalho (janela) significativos e importantes de um banco de dados SQL. Essa é a principal
definido, permitindo um acesso mais rápido aos dados. diferença entre os sistemas de banco de dados SQL e NoSQL. A abordagem
NewSQL, por outro lado, conserva e suporta as propriedades do modelo
D. Usos do MongoDB relacional, ao mesmo tempo em que incorpora os recursos do modelo
MongoDB tem armazenamento orientado a documentos; os dados são NoSQL.
armazenados na forma de documentos de estilo JSON. Ele pode ser
indexado em quaisquer atributos. Também podemos explicar onde TABELA I. TERMOS MYSQL VS MONGODB
usar o
MongoDB: • Big Data • Gerenciamento e
entrega de conteúdo • Infraestrutura móvel MySQL MongoDBGenericName

Base de dados Base de dados


e social • Gerenciamento de
dados do Mesa Coleção
usuário • Data Hub E. Importância do MongoDB Índice Índice
MongoDB é um banco de dados orientado a documentos. Isso é “ao
Linha documento BSON
contrário de” outros tipos de bancos de dados: Relacional, Gráfico, Chave/
Coluna campo BSON
Valor, Fila, FTS, Mapear/Reduzir, etc. código, realizando junções manuais
no cliente. Juntar Documentos incorporados e links

Chave primária Chave primária

Agrupar por Agregação


O MongoDB também é um banco de dados que destaca o uso de
vários servidores de duas maneiras: Conjuntos de Ao contrário do MySQL, onde o banco de dados é apresentado

réplicas e graficamente em forma de tabela, no MongoDB, um banco de dados possui

Conjuntos de réplicas de a seguinte estrutura gráfica:

fragmentação: •Redundância e failover •Tempo de


inatividade zero para { “_id”: “d4acaf3a76e4378b853eb15fde21672”, “nome

atualizações e de usuário”: “andra”,

manutenção •Replicação “email”: andra@gmail.com, }

mestre-escravo •Forte
consistência
•Consistência atrasada •Recursos geoespaciais Fragmentação: • { “_id”: “d4rvgf3a76e4378b853eb15fde21672”, “nome
de usuário” : “iona”,
Distribui um único sistema de banco de dados lógico em um cluster de máquinas
• Usa particionamento baseado em intervalo para distribuir documentos “email”: iona @gmail.com, }

com base em uma chave de fragmento específica

• Equilibra automaticamente os dados associados a cada O exemplo acima mostra um banco de dados para usuários, cada
fragmento usuário tendo um id único e gerado automaticamente, um nome de usuário
e um endereço de e-mail.
• Pode ser ligado e desligado por coleção (mesa)
Isso leva a lições sobre coisas como “segurança de gravação”, A aplicação terá 3 classes de utilizadores, nomeadamente os
administradores, os moderadores e os utilizadores regulares. Cada usuário
manipulação de failover mestre, chaves de estilhaços e balanceamento de estilhaços.
O MongoDB também fornece uma estrutura simples para executar tem o direito de criar um fórum/subfórum privado. Dentro de um subfórum,

operações de mapeamento/redução ou agregação em vários computadores. os moderadores têm o direito de editar/excluir o subfórum e também

Isso leva a lições sobre projeção de objetos e primitivas básicas de podem moderar as discussões de outros usuários, enquanto os usuários

agregação. comuns só podem postar discussões e deixar comentários. Se um banco


de dados relacional foi usado, as colunas para fóruns e subfóruns devem
II. ESTUDO COMPARATIVO aparecer em todos os usuários do fórum, embora os usuários normais
nunca tenham o direito de criá-los, modificá-los ou excluí-los, a menos, é

Conforme mostrado na Tabela 1, no MongoDB, alguns termos do claro, que sejam os administradores desse fórum específico . Usando o

MySQL, como tabela ou linha, recebem outro nome, ou seja, coleção, MongoDB, esses campos relativos ao fórum e subfórum aparecerão

respectivamente documento BSON. Em outras palavras, podemos dizer apenas para os usuários que têm esse direito (moderadores e

que o MongoDB contém coleções, coleções contêm documentos e um administradores), reduzindo significativamente o espaço de armazenamento,

documento contém vários campos. que é muito maior usando o MySQL.

No modelo RDBMS clássico, os dados são organizados na forma de


relações e são representados em uma tabela composta por linhas e Assim como nos bancos de dados relacionais, o MongoDB também

colunas. Bancos de dados relacionais empregam o uso de um parâmetro possui relacionamentos um-para-muitos, mas neste caso o conceito de

conhecido como chave. Existem vários tipos de chaves chave estrangeira não é usado; em vez disso, o conceito de anotações é usado. Por iss

IJERTV8IS050031 www.ijert.org 91
(Este trabalho está licenciado sob uma Licença Creative Commons Atribuição 4.0 Internacional.)
Machine Translated by Google
Publicado Jornal Internacional de Pesquisa e Tecnologia em Engenharia (IJERT)
por: http://www.ijert.org ISSN: 2278-0181
vol. 8 Edição 05, maio-2019

neste caso, tratando-se de um fórum, a relação entre o fórum e seus 4. CONCLUSÃO E ESCOPO FUTURO
subfóruns é a seguinte: no documento do fórum, os subfóruns são
referenciados através da anotação. Atualmente, o MongoDB é o banco de dados orientado a
O MongoDB forneceu tempos de execução menores que o MySQL documentos mais popular, mas dificilmente é a implicação mais
em todas as quatro operações básicas (Inserir, Selecionar (consultar), robusta ou de melhor desempenho. O MongoDB é relativamente novo
Atualizar, Excluir), o que é essencial quando um aplicativo deve na área de banco de dados e é o mais popular entre os bancos de
fornecer suporte a milhares de usuários simultaneamente. dados NoSQL. É uma ótima ferramenta para construir data
warehouses, especialmente por causa de sua capacidade de utilizar
III. PROBLEMAS COM MONGODB totalmente a chamada “arquitetura de cluster sem compartilhamento”.
É um banco de dados de código aberto, o que o torna ideal para a construção de
MongoDB é uma opção popular para armazenamento de banco Também é bem documentado, bem suportado e fácil de instalar,
de dados. É fácil de aprender e mais rápido do que os RDBMs integrar ao PHP e testar. Além disso, por ser tão novo, versões
concorrentes, mas ainda existem algumas armadilhas em potencial. atualizadas são lançadas praticamente todos os dias, então é preciso
É desnormalizado, o que significa que os dados são armazenados em abordar o projeto para o qual o MongoDB é considerado com um
uma estrutura de documento aninhada em vez de tabelas relacionais. senso de aventura. Os bancos de dados NonSQL (NoSQL) de próxima
Isso torna as pesquisas mais rápidas, pois o Mongo não depende de geração são em sua maioria não relacionais, distribuídos e escaláveis
operações de junção caras vistas no MySQL e em outros mecanismos horizontalmente e são capazes de satisfazer a maioria das
de banco de dados. Apesar de tais pontos fortes, existem vários necessidades dos aplicativos atuais. As principais características
problemas com o MongoDB que desses bancos de dados são livres de esquemas, sem junção, não
devem ser considerados como um mecanismo de banco de dados. • relacionais, fácil suporte à replicação, API simples e eventualmente consistentes.
Problemas com confiabilidade – as gravações do MongoDB são O resultado deste estudo abre novos caminhos para futuras
assíncronas por padrão. A principal vantagem disso é que você pesquisas de desempenho de acesso a dados quando há pontos de
não precisa esperar por confirmações para cada operação de acesso nos dados porque supõe que todos os dados serão acessados
inserção ou atualização antes de iniciar a próxima. Isso torna as nos mesmos padrões. Um escopo futuro deste trabalho seria a
atualizações mais rápidas, mas menos confiáveis. Mesmo se implementação do terceiro modelo no MongoDB, direta ou
algumas das atualizações não forem bem-sucedidas, a operação de gravação ainda será parcialmente bem-sucedida. Com esse mecanismo, é tudo ou n
indiretamente.
Embora isso possa ser mais lento, é uma maneira mais REFERÊNCIAS
consistente e confiável de realizar operações de gravação.
Quando as coisas funcionam apenas parcialmente, você pode [1] Benymol Jose, Sajimon Abraham,” Explorando os méritos do
NoSQL: um estudo baseado no MongoDB”,
acabar com inconsistências de dados e dados com erros. 978-1-5090-6590-5/17/$31.00 ©2017 IEEE
• Problemas com design sem esquema – Como o MongoDB é [2] YunhuaGu, ShuShen, Jin Wang, Jeong-UkKim,”Application of
desnormalizado, ele não adere a um esquema relacional. NoSQL Database MongoDB”, 978-1-4799-8745-0/15/$31.00©2015
Tudo é armazenado em objetos JSON aninhados chamados IEEE [3] Cornelia Gyrödi, Robert Gyrödi, George Pecherle,
AndradaOlah,”A Comparative Study: MongoDB vs. //
documentos. Embora isso permita maior flexibilidade com seus
docs.mongodb.com/
modelos de dados, ele força mais decisões de design baseadas manual/introduction/ [6] https://
em esquema na lógica do aplicativo do que no banco de dados. www.stackchief.com/blog/
Sem o esquema em vigor, as regras e regulamentos de seus Problems%20with%20MongoDB [7] https://www.thegeekstuff.com/
2014/01/sql -vs-nosql-db/
modelos de dados são ditados pela lógica de seu aplicativo, e
não pelo próprio banco de dados.
.

IJERTV8IS050031 www.ijert.org 92
(Este trabalho está licenciado sob uma Licença Creative Commons Atribuição 4.0 Internacional.)

Você também pode gostar