Já domina o NoSQL mais usado? Conheça o MongoDB
- Postado por Adriano Bonacin
- Categorias mongodb, NoSQL
- Data 10/01/2022
- Comentários 0 comentário
MongoDB é um NoSQL voltado ao armazenamento de documentos (JSON). Ele é talvez o DB mais prático para os desenvolvedores sem deixar a desejar na confiabilidade e performance. Com isso, acabou ganhando bastante espaço dentro das empresas, tornando-se o NoSQL mais popular segundo a DB Engines. Além de prático, o MongoDB provê alta disponibilidade e escalabilidade horizontal, um pré-requisito de toda aplicação de qualidade nos dias de hoje. Conheça aqui o MongoDB.
Hoje há serviços em diversas nuvens que oferecem o MongoDB, talvez o principal deles seja o MongoDB Atlas. Mas como nem tudo nessa vida é nuvem, vamos olhar com carinho para esse DB, principalmente como podemos administrá-lo “em casa”.
Assim como todo banco de dados, precisamos olhar para performance, backup, alta disponibilidade e afins. Vou escrever alguns artigos de MongoDB, voltado a infraestrutura e sua administração. Começando bem direto ao ponto para animar, depois vamos conversando em detalhes sobre a arquitetura
Como será?
Vamos começar pela instalação, tentando fazer passo a passo bem básico, mas sem muita conversa fiada. O procedimento detalhado pode ser encontrado na documentação oficial.
Em seguida, faremos um pequeno tutorial de como as queries funcionam. De novo, será apenas o básico, um kit sobrevivência.
Após as queries, vamos para a parte de alta disponibilidade com os ReplicaSets. Falaremos dos primeiros passos até casos graves de desastres. A ideia será deixar a arquitetura clara para que você entenda o que precisa levar em conta quando tiver que tomar uma decisão.
Finalizados os ReplicaSets, vamos para o scale horizontal, utilizando os shards. Vamos ver como escalar e encolher horizontalmente, mantendo nosso banco disponível ao máximo. Algumas dessas operações podem exigir downtime, por isso é importante conhecer o que o MongoDB nos oferece para que talvez já deixe algo na manga para quando precisar.
Ao final de tudo isso você ja estará cansado de tanto ouvir falar de MongoDB (e eu de escrever :]), mas ainda precisamos conversar de backup/restore. Passaremos pelas ferramentas nativas, como o mongoexport/mongoimport e o mongodump/mongorestore e também por outra ferramenta de mercado, o Percona Backup for MongoDB (PBM).
Se tiver dúvidas, sugestões, correções ou críticas, fiquem a vontade de me procurar. Não deve ser tão difícil me encontrar.
Vou deixar aqui a lista de artigos, mas você também pode encontrá-los aqui.
Do Blog
Já domina o NoSQL mais usado? Conheça o MongoDB
MongoDB é um NoSQL voltado ao armazenamento de documentos (JSON). Ele é talvez o DB mais prático para os desenvolvedores sem deixar a desejar na confiabilidade e performance. Com isso, acabou ganhando bastante espaço dentro das empresas, tornando-se o NoSQL mais …
MongoDB – Criando seu próprio ambiente docker
Introdução Vamos seguir com nossa série de pequenos artigos sobre MongoDB. Você encontra o primeiro artigo da série aqui. Vou subir o MongoDB no docker para tentar deixar mais facilmente “reproduzível”. Se tiver alguma dúvida ou dificuldade, utilize os comentários ou me …
MongoDB – Instalação no CentOS/RHEL
Instalação Este artigo é um dá série que estou escrevendo sobre MongoDB desde a instalação até tópicos mais avançados de sua administração. Aqui você encontra o primeiro e a lista de artigos. Nosso artigo anterior mostra como criar seu ambiente. Vamos continuar com a instalação …
MongoDB – Estruturas Lógicas: Database, Collection, Document
Vamos seguir mais um pouco? No nosso último post falamos da instalação e subimos nosso primeiro MongoDB. A lista de todos os artigos você pode encontrar aqui, no nosso primeiro post da série. Agora chegou a hora de ver como as coisas se …
MongoDB – Insert/Find – Criando e selecionando documentos
Vamos descobrir como funcionam as queries e outras funções? No último artigo conversamos sobre as estruturas lógicas e como inserimos um documento que desencadeou a criação da collection e database. Agora detalharemos os procedimentos para criar e selecionar documentos, usando os métodos …
MongoDB – Como filtrar documentos: Cláusula WHERE
No último artigo fizemos nossa query (find) sem filtro. Nosso objetivo agora é conseguir filtrar documentos de interesse, o que faz a cláusula where no tradicional SQL. Por exemplo, mostrar apenas carros de determinada marca. Esta opção tem alto impacto na performance das …
MongoDB – Exibindo apenas alguns campos: Find + Projection
Fala pessoal. Seguindo com nossos artigos sobre MongoDB. Vamos falar de queries com projection. A ideia não é ficar muito tempo falando de queries, porém precisamos de uma noção para conseguir desenrolar o dia a dia. Se você perdeu o último …
MongoDB – Ordenando documentos com método sort()
Passando para falar mais um pouquinho das queries no MongoDB. Vai ser bem rápido, prometo. A ideia é deixar registrado como podemos trazer nosso resultado ordenado usando o método sort(), partindo do resultado do nosso último artigo. Esse foi o retorno: yadax> …
MongoDB – Converter Standalone em ReplicaSet
Vamos voltar para administração de MongoDB? O ponto que iremos falar hoje é sobre redundância e alta disponibilidade. O responsável por isso é o chamado ReplicaSet, que é muito bem definido na documentação. Vamos tentar deixar a linguagem mais simples, com um …
MongoDB – Criar 3 containers usando docker-compose
Como falamos anteriormente, ReplicaSet é a forma como o MongoDB consegue atingir redundância e alta disponibilidade. Além disso, é a recomendação para qualquer ambiente de produção. Agora, nosso ambiente ainda precisa evoluir. Já vimos como criar nosso ReplicaSet rodando com apenas …
MongoDB – Adicionando membros no ReplicaSet
Saudações pessoal. Falamos anteriormente de como criar um ReplicaSet com apenas um membro. Mas para que tenhamos redundância em nosso banco de dados, precisamos que os dados sejam replicados para outro host. Vamos adicionar membros no ReplicaSet para ter nosso …
MongoDB – Como verificar o Status do ReplicaSet
Olá, pessoal. Nosso último artigo terminou com dois membros no nosso ReplicaSet. Agora precisamos avançar e olhar o status do ReplicaSet, que nos ajudam a “enxergar” melhor este ambiente um pouco mais complexo. Precisamos descobrir todos os hosts que participam desta configuração, …
MongoDB – Como trocar papéis Primary/Secondary – rs.stepDown()
No último artigo falamos como identificar os membros que participam de um ReplicaSet e seus papéis. Agora vamos conversar um pouco sobre como podemos trocar de papéis usando o rs.stepDown(). A situação pode ser algo assim: seu cliente deseja fazer uma manutenção …
MongoDB – Como funciona a eleição
Fala pessoal, espero que estejam bem. Nos nossos últimos artigos falamos como obter o status do nosso ReplicaSet e assim descobrir quem são seus membros. Em seguida, vimos como trocar os papéis entre Primary e Secondary. Agora vamos entender como funciona a alta disponibilidade …
MongoDB – Vamos entender a alta disponibilidade
Agora que passamos pela construção do nosso ReplicaSet e troca de papéis entre Primary e Secondary, vamos avançar e ver como tudo isso é feito de forma automática em um ambiente de produção. Vimos também que em um ReplicaSet com dois membros não …
MongoDB – O que é journaling e por que isto é importante?
Estávamos falando de ReplicaSet, como criar, como obter o status, como trocar papéis e afins. Agora vamos dar uma pausa no HandsOn e falar um pouco de conceitos. O primeiro será o journaling, que é fundamental para que o MongoDB consiga garantir o que …
MongoDB – Como limpar todos os dados de um servidor
Quando estamos estudando, montando ambientes de laboratório, é comum querermos limpar todos os dados e zerar o host. Inclusive alguns dos nossos artigos vão precisar de um ambiente novo “limpinho”. Não tem muito segredo, mas vou deixar registrado para que você …
MongoDB – Como configurar autenticação com usuário e senha (+ banco de dados).
Vamos conversar um pouco sobre autenticação no MongoDB. O ponto mais básico de segurança de qualquer sistema é a autenticação, que visa garantir que o cliente é quem ele está dizendo que é. Temos várias formas de fazer isso, mas …
MongoDB – Como criar um ReplicaSet com autenticação
Criamos nosso primeiro user no último artigo e agora vamos aproveitar o assunto e ver como criar um ReplicaSet com autenticação. Partimos de um ambiente “limpo” com 3 membros. Teremos alguns passos extras, mas vou tentar demonstrar todos eles. Este cenário é o mais comum …
O que é uma Capped Collection? Casos de uso e restrições.
Vamos falar de um tipo especial de collection, chamada Capped Collection. Se você quiser dar uma revisada no que é uma collection e como é dividido logicamente o MongoDB, escrevi um artigo a respeito e você pode revisar aqui. Vamos falar …
Como descobrir o tipo de uma variável no mongosh
Nosso dia a dia trabalhando com dados em diferentes tecnologias costuma não ser muito fácil. Tecnologias distintas costumam usar os tipos de dados ligeiramente diferente. O que é um VARCHAR2 no Oracle é encarado como String no MongoDB. E, eventualmente, …
Como trabalhar com cursores no MongoDB
Para quem é do mundo de banco de dados, cursores sempre estão aparecendo no nosso dia a dia. Eles são utilizados para iterar sobre um conjunto de registros de forma programática, fazendo alguma operação para cada registro retornado. Por exemplo, …
PyMongo – Python para interagir com seu MongoDB
Vou falar um pouco de como podemos usar python para interagir com seu MongoDB. Python é uma linguagem versátil e, na minha opinião, fácil de aprender e compreender. Por isso vou usá-la para demonstrar alguns truques aqui no blog, mas …
MongoDB – Trabalhando com Tailable Cursor
Tailable Cursor é algo que a gente não vê sempre por aí, mas ele é o coração da replicação no MongoDB, portanto, vamos explorá-lo um pouco. Talvez seja mais fácil compreendê-lo se você conhece o comando tail -f no Linux. …
MongoDB – Queries com operadores
No MongoDB, é possível fazer consultas usando operadores para filtrar e manipular seus dados. Hoje vamos falar sobre os operadores de comparação “maior que”, “menor que”, “maior ou igual” e “menor ou igual”. Maior que: A sintaxe desse operador é: …
Tag:mongodb