When to Use MongoDB: Benefits and Use Cases

Nov 20, 2021
admin

É fácil ficar preso às últimas buzzwords e usar tecnologia inovadora, mas isso pode levar a dores de cabeça se você usar a ferramenta errada para a sua tarefa. MongoDB veio em pleno domínio estabelecido no mundo do banco de dados NoSQL quando fizeram IPO’d em 2018. Neste artigo, vamos discutir o que são bancos de dados NoSQL e como eles diferem dos bancos de dados SQL. Em seguida, vamos tocar no que diferencia o MongoDB no cenário do NoSQL. Nós terminaremos com alguns casos de uso para o MongoDB e discutiremos armadilhas comuns ao usar esta tecnologia de banco de dados.

Para mais informações sobre o conector nativo do Xplenty MongoDB, visite nossa página de Integração.

Tabela de Conteúdos

  1. NoSQL vs Bancos de Dados SQL
  2. MongoDB: Um Peixe Grande Num Lago Pequeno
  3. Casos de Uso do MongoDB
Conteúdo do Cliente

Conteúdo do Cliente

Keith conectou múltiplas fontes de dados com Amazon Redshift para transformar, organizar e analisar os dados de seus clientes.

MongoDB MongoDB
Amazon Redshift Amazon Redshift

David Schuman

Dave Schuman
CTO e Co-Fundador na Raise.me

Eles realmente forneceram uma interface para este mundo de transformação de dados que funciona. É intuitivo, é fácil de lidar e quando fica um pouco confuso demais para nós, vai funcionar por um dia inteiro, às vezes apenas tentando nos ajudar a resolver o nosso problema, e eles nunca desistem até que ele seja resolvido.

DESCUBRA SE PODEMOS INTEGRAR OS SEUS DADOS

CONFIADO POR EMPRESAS DE TODO O MUNDO

Desfrutando deste Artigo?

Receba semanalmente grande conteúdo com a Newsletter Xplenty!

NoSQL vs. Bancos de Dados SQL

MongoDB é um banco de dados NoSQL. Isto significa que você não usa SQL para interagir com dados no banco de dados. Ao invés disso, você usa NoSQL.

A primeira diferença a discutir é o vocabulário. Em SQL, nós usamos tabelas. No NoSQL, nós usamos coleções. Em SQL, tabelas consistem de registros/linhas, em NoSQL, coleções são documentos.

Para consultar MongoDB, você precisa usar a sintaxe do NoSQL. Aqui está um exemplo de uma consulta SQL e a correspondente consulta NoSQL:

SQL:

SELECT * FROM users WHERE age > 65;

NoSQL:

users.find({age: {$gt: 65} });

Você vai notar que a linguagem de consulta trata a coleção como um objeto sobre o qual você aplica ações. Isto porque MongoDB é uma base de dados sem esquemas, e assume que não haverá necessidade de interagir com outras colecções. A sintaxe SQL espera que os usuários se juntem a outras relações no banco de dados, e assim a sintaxe permite isso. Existe um padrão similar em tentar INSERT:

SQL:

INSERT INTO users (id, age) VALUES (1, 70);

NoSQL:

users.insert({id: 1, age: 70});

A proeminência de um esquema definido é clara no INSERT SQL porque as colunas escolhidas têm que existir na tabela de usuários. Com a instrução NoSQL, as colunas id e idade não precisam existir na coleção de antemão. Na verdade, você pode fazer outro INSERT nessa coleção com campos diferentes. Por exemplo, nós podemos executar o seguinte comando na mesma coleção de usuários que usamos acima:

users.insert({first_name: "Annie", zip_code: "10005"})

MongoDB, e outras bases de dados NoSQL, são bases de dados sem esquema. Isto significa que os usuários podem armazenar dados não estruturados. Esta funcionalidade é tanto uma bênção quanto uma maldição – a flexibilidade facilita o armazenamento de dados, mas também torna mais difícil organizar seus dados.

Para uma análise profunda das diferenças críticas entre SQL e NoSQL, confira este post no blog.

Customer Story

Customer Story

Keith conectou múltiplas fontes de dados com o Amazon Redshift para transformar, organizar e analisar os dados de seus clientes.

Amazon Redshift Amazon Redshift

David Schuman

Keith Slater
Senior Developer at Creative Anvil

Antes de começarmos com Xplenty, estávamos tentando mover dados de muitas fontes de dados diferentes para o Redshift. O Xplenty ajudou-nos a fazer isso rápida e facilmente. A melhor característica da plataforma é ter a capacidade de manipular dados conforme necessário, sem que o processo seja excessivamente complexo. Além disso, o suporte é ótimo – eles estão sempre receptivos e dispostos a ajudar.

DESCUBRA SE PODEMOS INTEGRAR OS SEUS DADOS

CONFIÁVEIS POR EMPRESAS EM TODO O MUNDO

Desfrutando deste Artigo?

Receba semanalmente grande conteúdo com a Newsletter Xplenty!

Quem deve usar MongoDB

Durante alguns anos, MongoDB foi sinônimo de NoSQL em muitos círculos. Entre suas campanhas agressivas de marketing e a capacidade de fazer incursões com vários influenciadores tecnológicos, eles podiam capturar uma grande faixa deste “novo” mercado. À medida que se tornou mais difundido, as pessoas abriram buracos na sua viabilidade para certas aplicações. Tornou-se uma ferramenta útil para as pessoas que “só queriam ter sua aplicação funcionando” e se preocupavam em analisar os dados mais tarde.

Esta era uma abordagem aceitável e fazia sentido para muitos desenvolvedores de software. Eventualmente, as galinhas voltaram para casa para se empoleirar, e acabou por se descobrir que MongoDB não era a melhor opção para todos. Alguns engenheiros que adotaram o MongoDB cedo puderam se inclinar para a tecnologia e se adaptar às suas melhorias, enquanto muitos outros passaram por grandes esforços para migrar para fora dela. Como todo software, Your Mileage May Vary (YMMV), assim é imperativo pensar criticamente sobre os serviços que você usa.

Outras opções surgiram no mundo da base de dados de documentos. Postgres, por exemplo, desvendou um tipo de coluna JSON. Isto permitiu aos usuários do Postgres armazenar dados não estruturados dentro de uma base de dados relacional. Redis também surgiu como uma alternativa útil para os usuários que precisavam de uma loja de valores-chave. Você pode aprender mais sobre as diferenças entre o MongoDB e o Redis aqui. E, como acontece com a maioria dos projetos de software de sucesso, a AWS lançou sua própria base de dados de documentos chamada DocumentDB, que é útil para pessoas que querem ficar com aplicações nativas AWS.

Apesar da crescente competição, MongoDB ainda reina suprema no mundo do NoSQL/Document-database e continua melhorando seus serviços, como torná-la compatível com ACID. Além disso, no suporte a aplicações na nuvem, MongoDB tem feito esforços para suportar bancos de dados distribuídos e lagos de dados.

MongoDB casos de uso

MongoDB é um ótimo banco de dados para aplicações web, especialmente se a aplicação atende muitos usuários que não interagem entre si. Pense em aplicações de serviços financeiros, onde os usuários só precisam ter acesso aos seus próprios dados. Ou uma aplicação de blogging, onde os usuários querem fazer login e criar/editar seus próprios blogs. Usuários que não interagem uns com os outros é a chave para o sucesso. Com um banco de dados relacional, seria necessário armazenar informações sobre um usuário em várias tabelas. Quando esse usuário faz login, a aplicação teria que fazer várias consultas, ou complexas consultas JOIN, para acessar todas as informações para esse usuário. Com a base de dados sem esquema do MongoDB, você pode armazenar todas as informações de um usuário em conjunto. Isto permitiria uma única consulta para uma única coleção, e o front-end pode tratar de exibir/editar os dados.

Um outro excelente caso de uso para o MongoDB está tentando incorporar muitos conjuntos de dados. Seu design sem esquemas permite flexibilidade na forma como você armazena seus dados. Assim, pode armazenar dados de várias fontes de dados (websites, bases de dados, RSS feeds, etc) num único local, e depois criar serviços em cima da sua nova base de dados para analisar tudo isso. Por exemplo, Xplenty oferece esta integração para MongoDB.

MongoDB é uma ótima base de dados para integrar dados geoespaciais com outros tipos de dados. Por exemplo, se “localização” é um pedaço de metadados com o qual você está trabalhando, o MongoDB suporta tipos de GeoJSON, para que você possa armazenar eficientemente a latitude e longitudes. Além disso, o MongoDB suporta 2DSphere Indexes, que otimizam os cálculos geométricos na esfera.

Conclusion

MongoDB é uma poderosa base de dados com muitas capacidades. Como empresa, eles têm liderado o caminho na popularização do NoSQL e banco de dados de documentos. Como um banco de dados, eles expandiram nosso entendimento sobre as melhores práticas de armazenamento de dados, e abriram caminho para muitas aplicações em todo o mundo.

MongoDB também oferece uma versão gratuita e de código aberto, que é uma excelente opção para equipes com um orçamento que podem suportar um servidor de banco de dados no local ou na nuvem. Se você gostaria de suporte com isso, Xplenty pode ajudar. Nós conhecemos os desafios associados ao armazenamento, integração e análise de dados. Se você precisa de orientação para escolher as ferramentas certas para armazenamento de dados ou assistência na migração de seus dados para sua nova solução, agende uma chamada com o Xplenty e descubra como nossa solução ETL de fácil utilização pode funcionar para você.

Deixe uma resposta

O seu endereço de email não será publicado.