MongoDB

O MongoDB se tornou popular tanto na academia quanto profissionalmente. A utilização deste sistema de banco de dados permite armazenar dados não estruturados de uma forma muito simples. Geralmente, esse tipo de banco de dados deve estar localizado em um ambiente de fácil acesso.
Para o artigo completo em MongoDB ...

Mostrar filtro
Filtros de hospedagem
Host Me Host Filter

Sistema operacional

Espaço em disco

Memoria RAM

Tipo de disco

Núcleos de CPU

Ordenar

Trust Pilot Dream VPS
Pontuação - 8.6
Dream VPS Logo
Dream VPS

Dream VPS

STARTER
$3.75 /Por mês

Avaliações 7


Locais do servidor


Dream VPS Servers in Hong KongHong Kong Dream VPS Servers in Santa Clara Dream VPS Servers in New YorkEstados Unidos Dream VPS Servers in LondonReino Unido Dream VPS Servers in AmsterdamPaíses Baixos Dream VPS Servers in FrankfurtAlemanha Dream VPS Servers in IsraelIsrael
Comparar
Pontuação - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Por mês


Locais do servidor


Heroku Servers in United StatesEstados Unidos
Comparar
Pontuação - 0
Infra Networking Logo
Infra Networking

Infra Networking

ALFA
$4.19 /Por mês


Locais do servidor


Infra Networking Servers in JakartaIndonésia Infra Networking Servers in DallasEstados Unidos Infra Networking Servers in DublinIrlanda Infra Networking Servers in LondonReino Unido Infra Networking Servers in Frankfurt am MainAlemanha Infra Networking Servers in SingaporeCingapura Infra Networking Servers in AmsterdamPaíses Baixos Infra Networking Servers in UruguayUruguai
Comparar

Hospedagem de bancos de dados MongoDB

 

MongoDB

 

Nos últimos anos, o MongoDB se tornou popular tanto na academia quanto profissionalmente. A utilização deste sistema de banco de dados permite armazenar dados não estruturados de uma forma muito simples.

 

Geralmente, esse tipo de banco de dados deve estar localizado em um ambiente de fácil acesso, pois os aplicativos que usam esse banco de dados geralmente precisam fazer isso em locais fisicamente distantes. Dada essa necessidade, este artigo apresenta uma maneira de armazenar e executar operações básicas no MongoDB usando um serviço de hospedagem na web. A discussão deste tópico é útil para aqueles que desejam saber como criar e gerenciar bancos de dados MongoDB na nuvem. Para oferecer soluções para o gerenciamento desse tipo de banco de dados, o artigo também indica ferramentas gráficas para sua administração. Ao longo do artigo, a ênfase será colocada em tecnologias para desenvolver aplicativos da web usando a linguagem de programação Java.

 

Para acessar o banco de dados, será desenvolvido um serviço web, que ficará hospedado em um host gratuito. Para testar o serviço, será desenvolvido um aplicativo de console em linguagem Java. Por fim, o artigo mostra como testar e monitorar o serviço da web e o banco de dados MongoDB.

 

O termo NoSQL significa Não apenas SQL, ou seja, não apenas SQL. Outros significados foram inicialmente propostos, mas o mais adotado pela comunidade foi este. Os bancos de dados NoSQL surgiram para facilitar o armazenamento e processamento de dados em grandes volumes, oferecendo uma estrutura que permite alta escalabilidade.

 

Existem atualmente cerca de 150 bancos de dados NoSQL diferentes. O MongoDB vem conquistando novos seguidores devido à sua vasta documentação e comunidade envolvida.

 

O movimento MongoDB começou no início de 2009 e, desde então, mais recursos e recursos foram adicionados ao MongoDB, como suporte sem esquema, replicação fácil, API simples, drivers para diferentes linguagens, ferramentas de manipulação, atualizações de função e muito mais.

 

O grupo de banco de dados NoSQL consiste em bancos de dados orientados a aplicativos que gerenciam grandes volumes de dados, adotam recursos de escalabilidade, protocolo REST, MapReduce (leia a CAIXA 1) e outros recursos de alto desempenho.

 

CAIXA 1: MapReduce

 

MapReduce é um modelo de programação introduzido pelo Google com o objetivo de suportar o processamento paralelo em conjuntos de dados espalhados por vários computadores (cluster). A operação deste modelo é baseada em dois recursos: mapear e reduzir. Para realizar consolidações de pesquisas cujos dados estão agrupados, o solicitante envia sua pesquisa a vários computadores simultaneamente.

 

Neste momento é feito o mapeamento (mapa) entre o solicitante e o cluster, em seguida os dados resultantes da pesquisa são agrupados (reduzem) gerando o resultado da pesquisa a ser entregue ao solicitante.

 

A sigla REST significa transferência de estado representacional. É uma técnica amplamente usada em sistemas de manipulação de dados distribuídos (CRUD) usando apenas chamadas HTTP. Esse tipo de chamada simplifica a programação, abstraindo tarefas de baixo nível para o programador, possibilitando a implementação de diferentes rotinas em serviços web. As chamadas feitas são basicamente para inserção de dados (POST), consulta de dados (GET), atualização de dados (PUT) e exclusão de dados (DELETE).

 

MongoDB

 

A primeira coisa a se pensar ao começar com NoSQL é comparativa. Como não poderíamos deixar de conversar, vamos à comparação dos principais termos em relação aos bancos relacionais.

No MongoDB, cada documento pode ser completamente distinto de outro documento na mesma coleção, o que não é verdade no modelo relacional. Normalmente, os dados são gravados no formato BSON (Binary JSON).

 

Para seguir as etapas apresentadas na próxima seção, não é necessário ter o MongoDB instalado no computador local.

 

A instalação no computador local é apenas para fins de teste mais rápido e simples. Se o leitor deseja instalar o MongoDB em seu computador e manipulá-lo, aqui estão alguns comandos iniciais que podem ser úteis. Para executar o serviço (daemon), você deve considerar o seguinte comando: / mongo. Com o serviço em execução, podemos iniciar o interpretador de comandos: / mongo, os comandos básicos para listar bancos de dados são: show DBS ou show databases. Para escolher o uso do banco de dados (caso não exista, será criado o banco de dados sqlMagazine): use o sqlMagazine é importante estar atento ao fato de que maiúsculas e minúsculas são diferentes, cuidado com este detalhe.

 

Ferramentas MongoDB

 

Depois de tantos comandos, já temos uma base para seguir em frente. Conhecer os comandos é essencial para desenvolver aplicativos, porém, para administração, existem outras ferramentas gráficas que são boas aliadas. Por exemplo, as Figuras 1 e 2 foram capturadas do software MongoHub.

 

Existem outras ferramentas para acessar o MongoDB, como RockMongo e MongoVUE. A ferramenta RockMongo precisa de outros serviços (PHP e Apache), além de ativar o módulo MongoDB na configuração do PHP. Esta ferramenta é adotada como padrão no OpenShift, por isso é bom conhecê-la.

 

A ferramenta MongoVUE é apenas para computadores com sistemas operacionais Microsoft Windows. Ele oferece bons recursos.

 

Para usuários do sistema operacional Apple (Mac OS 10.6.x ou superior), existe a ferramenta MongoHub. Embora exista um site específico para esta ferramenta.

 

Criação de uma conta para hospedar o aplicativo

 

O objetivo é disponibilizar o banco de dados na web e possibilitar o acesso a ele por um aplicativo que também está na web ou por um aplicativo instalado em outro computador. O serviço escolhido para hospedar o banco de dados foi o OpenShift. Nele, o usuário pode criar até três aplicativos e em cada um deles, é possível criar diversos serviços, como aplicativos Java, PHP, Phyton, Ruby, entre outros.

 

Se você deseja criar mais aplicativos na mesma conta ou até mesmo contratar outros serviços e recursos de escalabilidade, deve criar uma conta paga. O OpenShift oferece uma plataforma como serviço, identificada pela sigla PaaS. Vamos seguir as etapas necessárias para criar uma conta.

 

Inicialmente, o usuário deve ir até o endereço da porta OpenShift: e escolher a opção. A tela de registro aparecerá, conforme mostrado na Figura.

 

mongodb

 

Basta inserir os dados e clicar em & ldquo; Inscrever-se & rdquo ;. Um email será enviado para confirmação do cadastro, é necessário clicar no link deste email para ativar o cadastro e ser um para criar os aplicativos.

 

Ao acessar sua conta OpenShift, é possível criar os serviços desejados, também são oferecidas instruções para acessar os aplicativos pela linha de comando, use o JBossDeveloper Studio IDE e uma infinidade de outros recursos. Para facilitar este passo a passo, iremos criar a aplicação automaticamente após o termos desenvolvido localmente.

Algumas configurações devem ser feitas em nossa conta OpenShift. Depois de acessar a conta, devemos ir para as & ldquo; Configurações & rdquo; seção, conforme mostrado na Figura.

 

mongodb

 

Na caixa de texto & ldquo; Nome do domínio & rdquo; devemos digitar o nome do domínio desejado, neste teste digitamos & ldquo; revista SQL & rdquo ;. Este nome (o número máximo de caracteres é 16) é de escolha livre, no entanto, é importante porque será usado em nosso projeto Java. Em seguida, clique em & ldquo; Salvar & rdquo; opção.

 

Depois de concluir essa etapa, podemos retornar à página & ldquo; Aplicativos & rdquo; e clique na guia & ldquo; Criar seu primeiro aplicativo agora & rdquo; opção. Uma lista aparecerá com vários serviços que podemos criar. Vamos escolher o & ldquo; JBoss Application Server 7 & rdquo ;. Em seguida, a janela para escolher o nome do aplicativo é exibida

 

Esse nome também é de escolha livre, mas deve ser um nome fácil de lembrar, pois precisaremos dele imediatamente. Para este teste, digitamos & ldquo; MongoDB & rdquo ;.

 

A próxima etapa é clicar em & ldquo; Criar aplicativo & rdquo ;. Este processo pode demorar alguns segundos ou até minutos, aguarde até que o processo seja concluído. Agora podemos voltar para a página & ldquo; Aplicativos & rdquo; e clique no aplicativo criado.

 

Neste ponto, vamos adicionar o MongoDB ao nosso aplicativo. Para fazer isso, basta clicar no aplicativo, neste exemplo & ldquo; mongodb & rdquo; e clique em & ldquo; Adicionar MongoDB 2.4 & rdquo;,. Se você abrir uma janela com informações e instruções, o link & ldquo; Continuar para a página de visão geral do aplicativo & rdquo; será exibido, que deve ser clicado, então será possível clicar em & ldquo; Adicionar MongoDB 2.4 & rdquo ;.

 

Em seguida, clique em & ldquo; Adicionar cartucho & rdquo ;. Este processo também pode demorar alguns segundos. Em seguida, aparecerá uma tela com informações importantes para acessar o banco de dados, é importante registrar essas informações, pois serão utilizadas nas próximas etapas. As informações são nome de usuário, senha e nome do banco de dados.

 

No momento já temos um servidor (JBoss Application Server) à nossa disposição e um banco de dados NoSQL (MongoDB). Agora é só criar um serviço web para acessar este banco e um projeto para acessar este serviço web.

 

Desenvolvimento de aplicações

 

Basicamente, teremos dois aplicativos e um banco de dados. O primeiro aplicativo será responsável por fazer solicitações ao banco de dados. Este aplicativo servirá como um exemplo bem simples, apenas para testar o funcionamento do serviço web. A segunda aplicação (serviço web) será responsável por receber as solicitações da primeira e acessar o banco de dados.

 

Vamos para o primeiro aplicativo. Seus pré-requisitos são Eclipse Kepler e duas bibliotecas API (Application Program Interface) Jersey (jersey-client e jersey-core). Para facilitar e simplificar o passo a passo descrito aqui, faremos um aplicativo Java no Eclipse Kepler.

 

As imagens que ilustram o passo a passo foram obtidas no sistema operacional Mac OS 10.9.3, porém, o leitor pode utilizar o Microsoft Windows ou mesmo uma distribuição Linux.

 

No acesso ao Eclipse: Arquivo, Novo, Projeto. Na próxima janela, escolha & ldquo; Projeto Java & rdquo; e clique em & ldquo; Próximo & rdquo ;. Em seguida, insira um nome para o projeto e escolha a opção & ldquo; Concluir & rdquo ;.

Agora precisamos criar uma classe no projeto. Para fazer isso, basta clicar com o botão direito do mouse em & ldquo; src & rdquo ;, & ldquo; Novo & rdquo ;, & ldquo; Classe & rdquo ;.

 

Na próxima tela, devemos digitar um nome para a aula e marcar a opção & ldquo; Criar o método principal & rdquo; & ldquo; public static void main (String [] args) & rdquo; e clique em & ldquo; Concluir & rdquo ;,

Este projeto Java visa registrar informações em um banco de dados MongoDB que será hospedado na web. O tipo de hospedagem utilizada permite o acesso externo ao banco de dados, ou seja, aplicativos de qualquer lugar podem acessar o servidor do banco de dados, porém é necessário redirecionar as portas da máquina local.

 

Como isso pode se tornar uma coisa muito complexa de se fazer quando se trata de computadores fora de nosso controle ou mesmo computadores que precisam continuar acessando portas locais, ou mesmo quando se trata de dispositivos móveis, o redirecionamento de porta não é a melhor maneira. Desta forma, nosso projeto Java acessará o banco de dados por meio de um serviço web.

 

Antes de inserir os códigos, vamos adicionar duas bibliotecas para trabalhar com serviços web. As duas bibliotecas que usaremos são da API Jersey 1.18. Para adicioná-los ao projeto, após o download, basta copiá-los para a pasta do projeto e clicar com o botão direito do mouse no nome do projeto e escolher as propriedades.

 

Na janela "Propriedades", selecione a opção "Caminho de construção Java" e depois "Bibliotecas". Em seguida, clique em & ldquo; Adicionar jarra externa & rdquo ;.

 

Agora que temos a API Jersey adicionada ao nosso projeto, podemos codificar um pouco.

 

Neste trecho inicial de código, estamos apenas criando um cliente de URL. Nas primeiras linhas (3 e 4) temos a importação para usar os métodos do & ldquo; Jersey & rdquo; biblioteca. Nas linhas 9 e 10, estamos criando um objeto para conectar à URL do serviço da web. Observe que a url do serviço da web é composta pelo nome completo de nossa conta OpenShift junto com as palavras rest e post, indicando que o serviço da web tem um local para os métodos, denominado rest e um método denominado post. A seguir, vamos criar algumas informações para enviar ao banco de dados

 

O objetivo do fragmento de código apresentado nesta listagem é montar uma string de caracteres que obedece ao padrão JSON para ser enviada ao banco de dados MongoDB. Por fim, o arquivo a ser enviado ao servidor. Agora vamos para o último trecho de código do projeto Java.

 

Este snippet de código precisará de outra importação para nosso projeto.

 

Enviando para a nuvem

 

Agora podemos enviar nosso serviço da web para OpenShift. No Eclipse, escolha a perspectiva JBoss e clique em OpenShift Application.

 

Serão solicitadas as credenciais da conta (email e senha) definidas no cadastro. Basta inserir os dados da sua conta e clicar em "Avançar". Na primeira vez que você se conectar, será solicitado que você crie Chaves SSH.

 

devemos verificar a opção & ldquo; Use o aplicativo existente & rdquo ;. Ao marcar esta opção, será exibida a tela de escolha do aplicativo criado anteriormente. Escolha o aplicativo e clique em "Avançar".

 

Na próxima tela, será perguntado se queremos criar um projeto para enviar ao nosso servidor ou usar um projeto existente. Usaremos um projeto existente, neste caso, nosso serviço web recém-desenvolvido. Para fazer isso, desmarque a opção & ldquo; Criar novo projeto & rdquo ;, clique em & ldquo; Explorar & rdquo; e escolha o projeto jboss-as-helloworld-rs.

 

Finalize o processo. Você será solicitado a confirmar para usar a chave SSH, clique em & ldquo; Sim & rdquo ;. Novamente & ldquo; Sim & rdquo; para confirmar o envio do serviço web. Após esta etapa, podemos publicar nosso serviço web. Para fazer isso, vá para o Eclipse e abra a guia "Servidores", clique para expandir a guia do servidor, neste caso "mongodb em OpenShift". O nome do nosso serviço web jboss-as-helloworld-rs aparecerá, clique com o botão direito sobre ele e escolha a opção & ldquo; Publicação completa & rdquo; ou & ldquo; Publicação completa & rdquo ;.

 

Verifique se o aplicativo já foi construído no servidor OpenShift. Para fazer isso, vá para o navegador e acesse sua conta OpenShift na página & ldquo; Aplicativos & rdquo; guia e clique no aplicativo. No exemplo deste tutorial, & ldquo; mongodb & rdquo ;, e confirme que já foi criado.

 

Se demorar muito (mais de três minutos), pode ser necessário reiniciar o aplicativo. Para fazer isso, use o ícone correspondente à direita da tela.

 

Testes finais

 

Agora que temos um servidor com MongoDB à nossa disposição, um projeto para enviar dados ao servidor e um serviço web para unir os dois, podemos começar os testes.

 

Um importante aliado para verificar o funcionamento é o Rock Mongo. Ele pode ser ativado no OpenShift de maneira muito simples, basta clicar em & ldquo; Adicionar Rock Mongo 1.1 & rdquo; no & ldquo; Aplicativo s & rdquo; aba.

 

Outro recurso importante são os & ldquo; Arquivos de cauda & rdquo ;, que podem ser ativados no console. Navegue até o console do Eclipse e clique em OpenShift Explorer, expanda todas as opções até chegar ao aplicativo, no nosso caso & ldquo; mongodb & rdquo ;. Clique com o botão direito e escolha o & ldquo; Arquivos de cauda & rdquo; opção.