Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] pq foi escolhido mongoDB como DB para esse projeto?

pq não foi escolhido um DB relacional, já que as entidades são bem definidas

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas
solução!

Oi, Fabio.

A escolha do MongoDB neste projeto tá diretamente relacionada ao tipo de aplicação e aos objetivos didáticos do curso.

  1. Flexibilidade no modelo de dados:

O MongoDB é um banco NoSQL orientado a documentos, o que significa que ele armazena informações em estruturas semelhantes a JSON (ou BSON).
Isso deixa que cada documento (registro) tenha sua própria estrutura, sem precisar seguir rigidamente um esquema definido, como acontece nos bancos relacionais.

  • Em um banco relacional, antes de inserir qualquer dado, é necessário criar tabelas e definir colunas com tipos específicos.
  • No MongoDB, é possível inserir documentos com novos campos sem alterar a estrutura do banco.

Por que isso é útil neste projeto?
Durante o desenvolvimento de uma API em Flask, especialmente em ambientes de aprendizado ou de prototipagem, essa flexibilidade acelera o processo de desenvolvimento.
O desenvolvedor pode evoluir o modelo de dados rapidamente sem precisar reestruturar o banco.

  1. Integração natural com APIs em Python:

Como a aplicação é uma API em Flask, que já trabalha internamente com dados em formato JSON, o MongoDB se encaixa perfeitamente.
A comunicação entre a API e o banco é direta, o que é enviado e recebido nas requisições HTTP (JSON) é praticamente o mesmo formato que o MongoDB utiliza.

Vantagem prática:
Não é necessário converter os dados entre formatos complexos, como seria ao lidar com tabelas SQL.
Isso torna o código mais limpo, curto e fácil de entender para quem está aprendendo.

Escalabilidade e desempenho

O MongoDB foi projetado pensando em escalabilidade horizontal e alto desempenho em aplicações com grande volume de dados ou acessos simultâneos.

  • Ele consegue lidar bem com grandes quantidades de leitura e escrita.
  • É muito usado em sistemas web, APIs e aplicações em tempo real, contextos semelhantes ao foco deste curso.

Mesmo que o projeto do curso seja pequeno, o objetivo é demonstrar uma tecnologia atual usada em sistemas escaláveis, preparando estudantes para cenários reais.

  1. Facilidade de visualização e manipulação de dados:

O curso também utiliza o MongoDB Compass, que é uma interface gráfica simples para visualizar os dados.
Isso ajuda muito no aprendizado, pois o aluno pode ver claramente como os documentos são inseridos, atualizados e buscados, sem precisar de consultas SQL complexas.

  1. Foco educacional e tecnológico:

A escolha do MongoDB também tem um propósito pedagógico:
introduzir o aluno a conceitos de NoSQL, persistência de dados não estruturados, e à integração de uma API com um banco não relacional, algo muito utilizado em APIs modernas.

Além disso, o MongoDB simplifica o entendimento da camada de persistência antes de se introduzir a complexidade de um ORM (como SQLAlchemy, usado com bancos relacionais).

Pra resumir: O MongoDB foi escolhido porque oferece simplicidade, flexibilidade e integração direta com o Flask, o que deixa o aprendizado mais fluido e a implementação da API mais rápida e moderna.
Um banco relacional seria uma boa opção para projetos com estruturas fixas e regras de integridade complexas, mas para este curso, que foca em aprender Flask, APIs e autenticação com JWT, o MongoDB é mais adequado.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

ótima resposta, obrigado