top of page
  • Foto do escritorRoger Sampaio

MongoDB: que 'diachos' é isso?


Fala meus guerreiros! Como estão vocês após esse feriado longo de carnaval? Espero que descansados e renovados para começar a semana aprendendo mais uma tecnologia em alta no mercado: o MongoDB. Se você andou fuçando as vagas para área de dados como, por exemplo, Cientista de Dados, com certeza já viu ele como skills esperadas. ‘O que é, como vive, como se alimenta (kkkkk)’ ... tudo isso e muito mais você vai encontrar aqui no globoreporter, oooops, no dataminutes. E se você nunca ouviu falar dele, mas é moderno e quer estar por dentro das tecnologias, esse artigo também é pra você. Boa diversão! Vamos começar:


1. O que é?


MongoDB é um programa de banco de dados orientado a documentos livres. Não entendeu bulhufas? Calma, vamos passo a passo. Bem, primeiro banco de dados é um conjunto organizado de dados, tipicamente em formato eletrônico. Exemplo: um prontuário médico com nome do médico, data da última consulta, telefone, histórico e por aí vai (veja imagem1). Hoje com a tecnologia podemos ter bancos de dados nos computadores, obtendo benefícios deles (velocidades em processar informações, espaço grande para armazenar dados)... daí vem os programas de banco de dados. Alguns conhecidos no mercado são: Oracle SGBD, Postgree, SQL Server, MySQL aqui entra também o MongoDB.


2. Passando a lupa ...

Quando falamos em programas em banco de dados, existem diversas categorias, cada uma com características próprias. Entre algumas categorias temos os banco de dados relacionais e os bancos de dados não relacionais (conhecidos também como noSQL). Os bancos de dados relacionais trabalham da seguinte maneira: os dados são armazenados em tabelas (chamadas de relações com linhas e colunas) e essas estão ligadas através de relacionamentos. Veja um exemplo de modelo:

E temos uma característica marcante nesse tipo de banco de dados: o esquema rígido. Cada coluna (como, por exemplo, nome, salário) tem um tipo de dado que irá armazenar, uma vez definido por quem criou o banco, deve ser rigorosamente seguido. No exemplo acima ‘salário’ armazenaria valores do tipo real e se tentássemos inserir um valor não numérico, o banco de dados não iria permitir. Outro exemplo, é a ‘dataNascimento’ que armazenaria apenas datas, se tentássemos inserir um valor numérico, o bancoiria negar. Resumindo, cada coluna tem um nome e tipo de dado (numérico, data, texto ...) que irá armazenar.

Já os bancos de dados não relacionais o funcionamento é diferente. Uma categoria de banco de dados não relacionais são os orientados a documentados, que é o caso do MongoDB. Aqui os dados são armazenados em estruturas chamadas de ‘collections’ (semelhantes às tabelas) e cada inserção na coleção é um documento, porém o esquema não é rígido. Ou seja, você embora você defina a coluna e o valor, você não especifica o tipo, tendo liberdade para armazenar o que quiser. Note uma inserção de dados num banco MongoDB.



Não vou entrar em detalhes técnicos aqui, só quero você observe que o primeiro registro tem um funcionário com nome e salário. O segundo tem esses e também o sexo. Note ainda que o salário do ‘Antonio’ foi inserido com o valor ‘A’, o que semanticamente está incorreto (salário deve ser um valor numérico, ninguém por aí ganha A ‘reais’), porém o banco permite justamente por não ser rígido. Por um lado se ganha liberdade por não vincular os tipos aos dados, porém por outro se deve ter cuidado para não bagunçar os dados.


3. Falando mais ...

O MongoDB ainda fornece o MongoDB Atlas que é o ambiente em nuvem, que permite criar bancos de dados com suas respectivas coleções e documentos, usuários, clusters (conjunto de computadores interligados para aumentar o processamento e o armazenamento de dados), efetuar backups (cópias de segurança) dos bancos de dados, entre outros.



4. E no fim das contas

Existem muitas mais características de um banco noSQL mongoDB, mas aí é assunto para outro artigo. Poderíamos fácil ficar a tarde inteira falando sobre esse universo gigantesco do MongoDB, mas antemão já tenha um ‘bizu’. Qual banco de dados será utilizado dependerá do propósito do negócio. Se tivermos um esquema rígido de dados, bancos de dados relacionais atendem muito bem. Caso tenhamos um esquema não ou semirrígidos, banco de dados noSQL servirão como mão na roda. O MongoDB é um exemplo excelente de banco noSQL que ainda conta com um ambiente em nuvem para facilitar sua implementação. Agora você conhece um pouquinho sobre ele. Abraços e até a próxima.


12 visualizações0 comentário

Posts recentes

Ver tudo