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 ...