Tabla de contenido
O MongoDB é um daqueles termos que, se trabalhas no desenvolvimento de software ou na gestão de bases de dados, provavelmente ouviste repetidamente. E não é por acaso, pois a sua flexibilidade e potência revolucionaram a forma como armazenamos e recuperamos dados na era moderna. Neste artigo, vou guiar-te para que compreendas o que é o MongoDB, como difere das bases de dados SQL tradicionais, como podes instalá-lo no Ubuntu e geri-lo a partir do console, e, claro, por que configurar um cluster pode ser uma grande vantagem para os teus projetos.
O Que é o MongoDB?
O MongoDB é um sistema de base de dados NoSQL, orientado a documentos e de código aberto, que ganhou popularidade devido à sua capacidade de manusear grandes volumes de dados de forma eficiente. Em vez de tabelas, como nas bases de dados relacionais, o MongoDB utiliza coleções e documentos. Um documento é um conjunto de pares chave-valor, que no mundo do MongoDB é representado num formato chamado BSON (uma versão binária de JSON). Esta estrutura torna-o muito flexível e fácil de escalar, o que o torna especialmente adequado para aplicações web modernas e o manuseio de dados em formato JSON, comum no desenvolvimento de aplicações web e móveis.
A Diferença Entre SQL e NoSQL
Para entender melhor o MongoDB, é crucial diferenciar entre as bases de dados SQL e NoSQL. As bases de dados SQL (como MySQL, PostgreSQL ou Microsoft SQL Server) utilizam uma linguagem de consulta estruturada (SQL) e baseiam-se num esquema de dados predefinido. Isso significa que precisas saber antecipadamente como os teus dados serão estruturados e aderir a essa estrutura, o que oferece um alto grau de consistência e transações ACID (Atomicidade, Consistência, Isolamento e Durabilidade).
Por outro lado, as bases de dados NoSQL, como o MongoDB, são esquematicamente dinâmicas, permitindo-te guardar documentos sem ter que definir a sua estrutura antecipadamente. São ideais para dados não estruturados ou semi-estruturados e oferecem uma escalabilidade horizontal, o que significa que podes adicionar mais servidores facilmente para lidar com mais carga.
Instalação do MongoDB no Ubuntu
Colocar o MongoDB em funcionamento no teu sistema Ubuntu é um processo bastante simples, mas requer seguir alguns passos com atenção. Aqui explico-te como fazer:
Atualização do Sistema
Antes de instalar qualquer pacote novo, é sempre uma boa prática atualizar a lista de pacotes e as versões de software do teu sistema operativo com os seguintes comandos:
sudo apt update sudo apt upgrade
Instalação do Pacote do MongoDB
O Ubuntu tem o MongoDB nos seus repositórios predefinidos, mas para te certificares de obter a última versão, é recomendável usar o repositório oficial do MongoDB. Aqui mostro-te como configurá-lo e realizar a instalação:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E52529D4 echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu $(lsb_release -cs)/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list sudo apt update sudo apt install -y mongodb-org
Colocar o MongoDB em Funcionamento
Uma vez instalado, podes iniciar o servidor do MongoDB com o seguinte comando:
sudo systemctl start mongod
Se além disso quiseres que o MongoDB inicie automaticamente com o sistema, executa:
sudo systemctl enable mongod
Verificação da Instalação
Para verificar que o MongoDB está instalado e a funcionar corretamente, usa:
sudo systemctl status mongod
Ou podes tentar conectar-te ao servidor MongoDB utilizando o seu shell:
mongo
Gestão Básica do MongoDB a Partir do Console
Agora que tens o MongoDB a funcionar na tua máquina Ubuntu, é hora de aprender alguns comandos básicos para gerir a tua instância do MongoDB a partir do console.
Criar e Usar uma Base de Dados
Para criar uma nova base de dados, simplesmente usa o comando use seguido do nome da tua base de dados:
use minhaBaseDeDados
Se a base de dados não existir, o MongoDB irá criá-la quando guardares nela o teu primeiro documento.
Inserir Dados
Para inserir dados numa coleção, podes usar o comando insert. Por exemplo:
db.minhaColecao.insert({ nome: "Alice", idade: 25 })
Isto adicionará um novo documento à coleção minhaColecao.
Ler Dados
Podes ler ou procurar documentos numa coleção com o comando find. Por exemplo:
db.minhaColecao.find({ nome: "Alice" })
Isto procurará todos os documentos onde o nome seja “Alice”.
Atualizar Dados
Para atualizar documentos, usarias update. Por exemplo:
db.minhaColecao.update({ nome: "Alice" }, { $set: { idade: 26 } })
Isto atualizará a idade de Alice para 26.
Eliminar Dados
E para eliminar documentos, simplesmente usas remove:
db.minhaColecao.remove({ nome: "Alice" })
Isto eliminará todos os documentos onde o nome seja “Alice”.
A Potência dos Clusters do MongoDB
Embora a gestão de uma instância simples do MongoDB possa ser suficiente para muitos projetos, especialmente durante as fases de desenvolvimento e testes, quando se trata de aplicações em produção com grandes volumes de dados ou altos requisitos de disponibilidade, configurar um cluster do MongoDB pode ser essencial. Um cluster pode distribuir os dados por vários servidores, o que não só proporciona redundância e alta disponibilidade, mas também melhora o desempenho das operações de leitura e escrita.
Os clusters do MongoDB utilizam o conceito de sharding para distribuir os dados de maneira horizontal e as réplicas para assegurar que os dados estejam sempre disponíveis, mesmo se parte do sistema falhar. Num outro artigo, exploraremos como configurar o teu próprio cluster do MongoDB, mas por agora, é suficiente saber que esta é uma poderosa característica que o MongoDB oferece para escalar a tua aplicação à medida que cresce.
À medida que te aprofundas no mundo do MongoDB, descobrirás que há muito mais para aprender e explorar. Desde a sua integração com diferentes linguagens de programação até às complexidades da indexação e o desempenho das consultas, o MongoDB oferece um mundo de possibilidades que pode adaptar-se a quase qualquer necessidade de aplicação moderna.
Lembra-te que dominar o MongoDB leva tempo e prática, mas começar com os fundamentos colocar-te-á no caminho certo. Experimenta com os comandos, testa diferentes configurações e não tenhas medo de quebrar coisas num ambiente de teste; é a melhor maneira de aprender. A flexibilidade e o poder do MongoDB esperam, e com a base que construíste hoje, estás mais do que pronto para começar a explorar. Mãos à obra!