As organizações enfrentam novos desafios todos os dias para fornecer continuamente novas funcionalidades de negócios, implementando novos processos de TI, como Agile e DevOps, e adotando novas arquiteturas, como nuvem e microsserviços. Para alinhar com tudo isso, precisamos de um novo conceito de banco de dados capaz de gerenciar aumentos maciços em tipos de dados que mudam rapidamente e capaz de trabalhar com dados onde quer que sejam armazenados no lado do cliente e no lado da camada de dados.
Assim, as bases de dados NoSQL “Not only SQL” foram concebidas para responder a estes desafios. MongoDB é o principal banco de dados NoSQL e um banco de dados de documentos de código aberto.
Neste artigo vamos explicar os conceitos do MongoDB, dar uma ideia sobre suas vantagens e terminologia e onde podemos implementá-lo.
Vantagens do MongoDB:
A plataforma de dados do MongoDB é baseada em dois conceitos de princípios:
- Banco de dados de documentos :MongoDB usa o documento como modelo de dados que é semelhante aos objetos JSON. É uma estrutura de dados composta por pares de campo e valor. Os valores podem incluir subdocumentos, matrizes e matrizes de documentos; que reduzem a necessidade de junções caras. Usando esse modelo de dados, será mais rápido e fácil modelar como os objetos do aplicativo serão mapeados para os dados, pois ele corresponde aos tipos de dados nativos. Além da facilidade de uso, os documentos são flexíveis, pois podemos modificar nosso esquema a qualquer momento, é polimórfico porque os documentos podem ter estruturas diferentes em comparação com outros documentos na mesma coleção e é extensível:modelamos dados em qualquer aplicativo exige.
- Dados distribuídos: O MongoDB oferece a capacidade de dimensionar o sistema e distribuir dados para acesso de usuário de baixa latência. A implementação de técnicas de "fragmentação" e "conjuntos de réplicas" facilita a distribuição de dados e aumenta nossa implantação em hardware barato.
Terminologia básica:
O MongoDB armazena documentos BSON em coleções; as coleções em banco de dados. Um único servidor MongoDB normalmente possui vários bancos de dados. Cada banco de dados obtém seu próprio conjunto de arquivos no sistema de arquivos como formato de coleções. Cada coleção é um conjunto de documentos. Uma das maiores vantagens da coleção não é a imposição de esquemas e ao mesmo tempo temos um esquema dinâmico. Esquema dinâmico significa que documentos na mesma coleção não precisam ter o mesmo conjunto de campos ou estrutura, e campos comuns nos documentos de uma coleção podem conter diferentes tipos de dados.
A figura a seguir mostra a terminologia de correspondência do Banco de Dados Relacional com o MongoDB:
Linguagem de consulta:
Tanto o RDBMS (Oracle e MySQL) quanto o MongoDB possuem uma linguagem de consulta rica.
A figura a seguir mostra a correspondência da linguagem de consulta de RDBMS e MongoDb:
Implementação:
Para tirar proveito do MongoDB, podemos escolher implementar o MongoDB nestes campos:
- Catálogo de produtos de comércio eletrônico
- Blogs , gerenciamento de conteúdo e entrega
- Infraestrutura móvel e social
- Big Data
- Gerenciamento de dados do usuário
- Centro de dados