Rogério Marques
09 julho 2018 - 19:20 | Atualizado em 29 março 2023 - 17:45
Esse post é a continuação do artigo NoSQL: Um comparativo de ferramentas para a administração do MongoDb. O objetivo é apresentar os principais conceitos relacionados ao nosql, em especial o mongodb, e mostrar as principais ferramentas para gestão de dados. Você pode conferir a primeira parte do artigo clicando aqui: Parte 1.
O mongodb é um banco orientado a documentos, criado em 2009 pelos fundadores do ‘doubleclick’, que se basearam em suas experiências de construção em grande escala, alta disponibilidade e sistemas robustos para criar um novo tipo de banco de dados.
Para Eliot Horowitz, um dos criados do mongodb, ele não foi concebido em um laboratório, e sim foi construído com base em experiências na construção de sistemas robustos de grande escala e alta disponibilidade. Não foi construído do zero e sim foram modificações feitas no mysql, alterando-se o modelo de dados do relacional para o orientado a documentos, visando ganho na quantidade e qualidade dos recursos existentes: Documentos embarcados para melhoria na performance, facilidade de gerenciamento, desenvolvimento ágil com bancos de dados sem ‘schema’ e escalabilidade horizontal com maior facilidade e eliminação nos ‘joins’ presentes no modelo relacional.
Portanto, são características mongodb, sua alta performance, ser ‘open source’, possuir um esquema aberto, ser orientado a documentos, ser atualmente preparado para trabalhar na Nuvem e ser escrito em C++. Hoje é utilizado por grandes empresas, como Craiglist, MTV Networks e The New York Times, apenas para citar algumas empresas.
Entre os principais benefícios e pontos fortes do mongodb, estão sua velocidade para trabalhar com consultas, já que os dados relacionados normalmente estão num único documento. A escalabilidade, que é construída de forma horizontal, com redução da carga de trabalho e aumento no número de servidores e consequentemente o número de recursos, já que não depende apenas de um ‘pool’ de recursos autônomos. É de fácil gerenciamento para desenvolvedores e administradores, possuindo conforme dito anteriormente um ‘schema’ dinâmico o que traz a este banco flexibilidade na evolução do seu esquema de dados, sem necessidade de modificação nos dados existentes.
A tabela a seguir mostra de forma correspondente os principais objetos encontrados nos bancos relacionais e seus correspondentes no modelo ‘nosql’, já que as diferenças entre os modelos são visíveis, alguns dos objetos relacionados apesar do mesmo objetivo, apresentam conceituação divergente entre os modelos.
Já a tabela seguinte apresenta as diferenças entre sintaxe da linguagem sql e a linguagem usada no modelo nosql. É possível entender que o modelo nosql requer aprendizado para uso efetivo, porém, na opinião de alguns desenvolvedores Java, apresentam facilitadores interessantes no uso de sua sintaxe para desenvolvimento de aplicações.
Este post é a segunda parte do artigo NoSQL: Um comparativo de ferramentas para a administração do MongoDb. Na terceira parte, abordaremos o surgimento de novas ferramentas que facilitam o gerenciamento e uso do mongodb, que vem passando por por evoluções. Confira a Parte 3 aqui!