pq não foi escolhido um DB relacional, já que as entidades são bem definidas
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
pq não foi escolhido um DB relacional, já que as entidades são bem definidas
Oi, Fabio.
A escolha do MongoDB neste projeto tá diretamente relacionada ao tipo de aplicação e aos objetivos didáticos do curso.
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.
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.
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.
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.
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.
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.
ótima resposta, obrigado