Por que eu devo ler este artigo:Este artigo tem por objetivo apresentar os principais conceitos relacionados à tecnologia NoSQL em especial ao MongoDB, que é um sistema de gerenciamento de banco de dados de software livre (como a maioria dos SGBDs NoSQL), sendo orientado a documentos e escrito em C++.

O artigo irá mostrar as principais ferramentas para gestão de dados no MongoDB e que servem como facilitadores na criação dos principais objetos neste banco de dados. Ferramentas como o NoSQL Manager, Shell Mongo, MongoVue, LinqPad, Rest View, Genghis, MongoDB Monitoring Services (monitoramento de uma instancia MongoDB) e o RoboMongo serão apresentadas.

Um pequeno estudo comparativo destas ferramentas mostra suas principais vantagens, com destaque para o RoboMongo, que além de ser uma ferramenta gratuita, apresenta uma série de recursos que podem ser usadas no gerenciamento e na criação de bancos e objetos no MongoDB.

O artigo é útil para administradores de bancos de dados e desenvolvedores que usam o NoSQL, em especial o MongoDB, em interface texto e ainda não conhecem ferramentas para gestão de dados, que podem ser usadas no gerenciamento do banco.

O modelo relacional faz parte de nossas vidas desde 1987, quando a linguagem SQL virou um padrão ISO. Mas, foi mesmo em 1970 que Edgar F. Codd, a partir de um projeto na IBM, criou o modelo relacional.

Desde então projetos e mais projetos utilizam este modelo, usando vários bancos de dados de mercado, destacando-se produtos como o SQL Server da Microsoft, o Oracle e MySQL da Oracle e o DB2 da IBM, só para citar alguns.

Nos últimos anos o cenário mudou radicalmente, a partir de necessidades de mercado, especificamente devido à queda de custo proporcionada pelos dispositivos de armazenamento e o poder de processamento das máquinas.

Ocorreram importantes mudanças nas exigências do mercado, a começar pela internet que passou a exigir bancos de dados gigantescos.

Surgiram então os bancos de dados que conhecemos hoje como NoSQL, que em suas características primárias abrange uma série de definições que são melhor entendidas quando comparadas ao modelo relacional conforme pode ser observado na Tabela 1.

Recursos

Modelo Relacional

Modelo NoSQL

Disponibilidade

Apresenta dificuldade em se trabalhar eficientemente com distribuição de dados. Este modelo não suporta uma demanda grande por informações do banco.

Neste modelo a disponibilidade é vista como fator fundamental de sucesso. O alto grau de disponibilidade dos dados possibilita suporte a um maior número de solicitações aos dados atendidos por parte do sistema solicitante. Isto faz com que o sistema fique menos tempo não disponível.

Consistência

As regras de consistência deste modelo propiciam um maior rigor quanto à consistência das informações disponibilizadas. A consistência é considerada o ponto forte do modelo relacional.

O modelo garante apenas que se nenhuma atualização for realizada sobre os dados, se o item for acessado devolverá o último valor atualizado. A consistência no NoSQL é considerada eventual.

Escalonamento

A estruturação natural do modelo faz com que a adição de novos nós não seja realizada de forma natural. É possível adicionar nós ao modelo, porém apresenta complexidade.

Novos nós podem ser inclusos de forma transparente ao modelo NoSQL, que demonstra flexibilidade já que não possui esquemas pré-definidos. Este recurso pode ser considerado uma das principais vantagens do modelo.

Tabela1. Análise comparativa entre o modelo relacional e o NoSQL.

O modelo NoSQL

O termo NoSQL surge, acarretado por um mercado influenciado por termos como Big Data já que este tipo de banco é f ...

Quer ler esse conteúdo completo? Tenha acesso completo