pq não foi escolhido um DB relacional, já que as entidades são bem definidas
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