MongoDB – Guia básico para instalar um banco de dados NoSQL no Linux

Você sabia que os bancos de dados não se resumem àqueles baseados em SQL (Structured Query Language) e não precisam ser relacionais? O movimento NoSQL (Not only SQL) é uma vanguarda nesse sentido, enquanto, o MongoDB, é um dos seus mais notáveis representantes.

Com menos de 10 anos de vida, o MongoDB (lançado em 2009) é um banco de dados de código aberto, não relacional (não trabalha com linhas e tabelas) e multiplataforma — o que muito se deve ao fato de ser escrito nas linguagens C e Java.

Outra característica importante do MongoDB é que se trata de um banco de dados orientados a documentos, o que significa, na prática, que a consulta de dados ocorre em função das informações contidas nos documentos em vez de aplicação de comandos para manusear tabelas.

mongodb banco de dados noSQL como instalar

APRENDA A DOMINAR O LINUX

Aprenda a dominar o LINUX de uma vez por todos, pegue sua cópia

  • Ferramentas para instalar softwares adicionais
  • Shell do LINUX passo a passo, e muito mais...

Agora que você já adquiriu uma noção do assunto que abordarei neste artigo, nos próximos tópicos explicarei, brevemente, o que são bancos de dados NoSQL, os benefícios do MongoDB (e procedimento de download e instalação) e apresentarei um pequeno tutorial contendo os principais comandos.

O que são bancos de dados NoSQL?

Antes de me ater ao MongoDB, vale a pena explicar, brevemente, por que a linguagem não relacional foi criada e a razão pela qual outros bancos de dados, como MongoDB, Redis e Cassandra, vêm ganhando popularidade entre desenvolvedores.

Embora ainda sejam amplamente utilizados no desenvolvimento de software, os bancos de dados relacionais não são do tipo que oferece o melhor desempenho para lidar com grandes volumes de dados e requisições de consulta.

O propósito de criação da abordagem de banco de dados NoSQL é fornecer uma alternativa ao SQL (com ausência dele, mas sem o intuito de extingui-lo) capaz de manipular quantidades elevadas de informações. Para isso, o conceito de database orientado a documentos é fundamental.

Enquanto o banco de dados relacional armazena os dados em um determinado local e criando uma relação entre eles, nos bancos não relacionais eles são tratados separadamente, ou seja, as informações necessárias para identificá-los são armazenadas no próprio documento.

Considerando o momento pelo qual a era digital está passando, marcado pelo Big Data e pelo uso inteligente de informações, o desempenho entregue por bancos de dados como MongoDB é imprescindível para que as empresas alcancem seus objetivos.

Leia também ...   PostgreSQL: Guia de instalação e tudo para iniciar a trabalhar com esse banco de dados

Por que muitos desenvolvedores optam pelo MongoDB?

Ao concentrar todos os bancos de dados NoSQL existentes é certo que a lista seria extensa. Contudo, em meio a tantos nomes, o MongoDB dota de certa notabilidade entre os desenvolvedores profissionais — os números divulgados nesta pesquisa da Stack Overflow expressam a preferência: o MongoDB é utilizado por 16,8% dos respondentes.

stack overflow pesquisa banco de dados

Embora os motivos não estejam expressos na pesquisa, podemos considerar que uma série de benefícios do MongoDB justifica a sua fama de banco de dados NoSQL mais utilizado no mundo. As vantagens em destaque são:

  • instalação rápida;
  • fácil de configurar;
  • design sem esquemas e nem linguagem SQL;
  • não requer uso de máquina virtual para rodar;
  • vasta quantidade de documentações disponíveis;
  • fornecimento de acesso rápido a documentos; e
  • novas versões são lançadas com frequência.

Portanto, o MongoDB se configura como ótima alternativa de banco de dados não relacional porque oferece alta performance, dispõe de vários documentos que ensinam a utilizá-lo e garante, por meio das novas releases, que o usuário usufrua do que há de melhor na tecnologia.

Como instalar e configurar o MongoDB no Linux?

Reiterando, um dos maiores benefícios do MongoDB é a facilidade que o usuário tem para fazer sua instalação e configuração. A seguir, veja como os processos são feitos nas distribuições Ubuntu Server e CentOS.

Observação: o pré-requisito de instalação de banco de dados, seja SQL, seja noSQL, é a preparação do servidor. É necessário criar um novo usuário sudo (não root) que tenha os privilégios ajustados no firewall — a regra vale para ambas as distribuições.

Instalação e configuração do MongoDB no Ubuntu Server

Com o Ubuntu pronto para receber o MongoDB, o primeiro passo é adicionar o repositório MongoDB para que a versão mais recente seja transferida para o servidor. Iniciemos o processo importaremos a chave de autenticação de pacotes de software.

# sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

O terminal retornará a seguinte mensagem “output”:

gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)

Depois de receber a mensagem, adicionaremos o repositório do MongoDB criando uma lista de arquivos necessários para rodar o banco de dados, usando o comando:

# echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

A partir de agora as etapas são mais familiares para quem está acostumado a instalar aplicações no Linux, pois faremos a instalação do pacote do MongoDB usando o comando apt-get:

# sudo apt-get update
# sudo apt-get install -y mongodb-org

O sistema concluirá a instalação do MongoDB automaticamente. Viu como é fácil? Para executá-lo, digite:

# sudo systemctl start mongod

Para que o MongoDB seja executado junto à inicialização do sistema, use o comando:

# sudo systemctl enable mongod

Observação: o comando “systemctl” acompanhará você em todas as tarefas relacionadas ao gerenciamento do MongoDB, não apenas na etapa de configuração que acabamos de concluir.

Leia também ...   7 Gerenciadores de Pacotes para LINUX que você deve conhecer ( + 58 comandos com exemplos de utilização)

Instalação e configuração do MongoDB no CentOS

A instalação do MongoDB no CentOS é um pouco diferente do mesmo procedimento no Ubuntu, mas é igualmente simples de ser feita.

Para começar, adicionaremos o repositório do MongoDB usando o editor de textos (o Vi, preferencialmente) para criar um arquivo “.repo” para o gerenciador de pacotes “yum”.

# sudo vi /etc/yum.repos.d/mongodb-org.repo

Para assegurar o download da mais recente e estável versão do MongoDB no CentOS, você pode acessar esta página do site oficial e verificar, na primeira etapa de configuração de pacotes, a versão corrente.

No momento em que escrevo este artigo, a versão é a 4.0, conforme a mensagem retornada no terminal.

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
Antes de prosseguir, verifique se o repositório consta como existente no Yum. Use o comando:
sudo yum repolist

Caso tudo esteja nos conformes, uma mensagem parecida com essa será impressa no terminal:

Output
. . .
repo id repo name
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
mongodb-org-3.2/7/x86_64 MongoDB Repository
updates/7/x86_64 CentOS-7 - Updates
. . .

Agora iniciaremos, de fato, a instalação do MongoDB. Primeiramente, como no Ubuntu, utilize o comando:

# sudo yum install mongodb-org

Aparecerão duas solicitações sujeitas à aprovação. Elas servem para permitir a instalação dos pacotes do MongoDB e para importar a chave de autenticação GPG, respectivamente. Acione o Y (Yes) para ambas e, então, inicie o MongoDB usando o comando “systemctl”:

# sudo systemctl start mongod

Contudo, o systemctl não fornecerá resposta após a inicialização. Para certificar-se de que o MongoDB está em execução, use o “mongod.log” com o comando “tail”:

# sudo tail /var/log/mongodb/mongod.log

Se tudo ocorrer perfeitamente, você receberá uma mensagem a qual diz que o MongoDB está aguardando por conexões na porta 27017 (confira abaixo).

Output
. . .
[initandlisten] waiting for connections on port 27017

Agora você já pode acessar o banco de dados usando o comando “mongo” (sem aspas) para gerenciar suas ações. Para acessar a lista com alguns métodos básicos, acione o “db.help()”.

Leia também ...   7 vantagens de usar Linux que todo profissional de TI deveria conhecer de uma vez por todas

Para chegar se o MongoDB está configurado para iniciar junto com o sistema operacional, digite:

# systemctl is-enabled mongod; echo $?

Se a resposta for “disabled (1)”, utilize o seguinte comando para permitir a inicialização automática:

# sudo systemctl enable mongod

É recomendada a reinicialização do sistema para validar a configuração.

Como utilizar os comandos do MongoDB?

Conforme prometido no início do artigo, ensinarei alguns dos principais comandos básicos do MongoDB em um breve tutorial. Assim, você conseguirá utilizá-lo assim que concluída a instalação. Vamos aos comandos?

mongodump

Se você já tem um banco de dados em execução, o comando “mongodump” faz o dump dele, ou seja, é feito o backup (para restaurar a cópia de segurança, use o “comando mongorestore”).

mongoimport

Esse comando é usado para importar documentos JSON / CSV para o banco de dados em execução.

mongoexport

Faz o inverso do “mongoimport”, isto é, exporta dados em JSON ou CSV do seu database para outros.

insert

Assim como nos bancos de dados convencionais SQL, o comando “insert” é usado para inserir um ou mais documentos ao banco.

find

O comando “find” seleciona documentos em uma coleção. Caso queira atualizá-lo, o procedimento é o mesmo que em outros bancos: use o comando “update“. Para deletar um item use o comando “delete“.

count

Utilize o comando “count” sempre que quiser saber o número de documentos existentes numa coleção.

Você se lembra de quando falei que a documentação é um ponto forte do MongoDB? Pois então, o site disponibiliza uma extensa lista com vários comandos brevemente explicados. Consulte a página sempre que precisar.

Espero que tenha gostado do artigo especial sobre o MongoDB e, acima de tudo, que ele tenha sido de grande utilidade para o seu desenvolvimento profissional. Falando nisso, você já conhece o melhor caminho para se tornar um expert em Linux?

Para quem está iniciando, e deseja ser um profissional qualificado em servidores Linux, assim com em administração de serviços, eu recomendo iniciar com essa aula aqui:

Espero que goste de mais esse conteúdo, e já comece a criar uma ambiente com Linux, e utilizar o mongodb.

Até a próxima.

Sobre pedrodelfino

Trabalha a mais de 14 anos com administração de sistemas LINUX, dedicado em ensinar novos profissionais a atuar com servidores. Saiba mais aqui. "Caso queira participar de uma aula online comigo utilize o formulário Acima"