Decidi construir um SaaS no mês passado chamado Enhance AI, usando OpenAI com GPT-3 para executar algumas aplicações interessantes de AI para ajudar os programadores a economizar tempo de codificação.
Eu precisava escolher um bom banco de dados para este SaaS. Como o título sugere, acabei escolhendo o MongoDB, porém, como cheguei a essa conclusão, precisei de algumas pesquisas.
Vídeo do youtube: Criando um banco de dados SaaS
O SaaS: Aprimore a IA
Atlas do MongoDB: https://www.mongodb.com/cloud/atlas/
Introdução
Isso cobrirá o que aprendi escolhendo e implementando o MongoDB Atlas para meu projeto e meus pensamentos. Se você está esperando algo técnico, isso não é para você.
- Definindo o escopo e os requisitos
- Escolhendo bancos de dados
- Decidindo banco de dados local x nuvem
- Configurando o esquema do banco de dados
- Criando as rotas da API
Definindo o escopo e os requisitos
A primeira coisa que você deve considerar é seu objetivo para um projeto. A minha era construir uma startup, em 30 dias ou menos. Isso significa que eu precisava construir rápido e ter uma boa documentação sempre que encontrasse problemas.
Havia muitas opções como firestore ou mysql, no entanto, uma das pilhas de inicialização mais comuns é chamada MERN, que é Mongo, Express, React e Nodejs. Existem muitos vídeos no youtube sobre como configurá-los (agora mais um!) E eu estava bastante confiante, pois já havia trabalhado com cada uma dessas tecnologias no passado.
Os outros requisitos eram trabalhar com objetos JSON, o que o Mongo faz muito bem devido ao fato de ser um banco de dados baseado em documento/coleção. E, finalmente, o fato de ser bastante flexível no fato de que seu esquema pode ser facilmente alterado na hora significa que acredito que foi uma boa escolha para minha inicialização.
Decidindo bancos de dados locais versus em nuvem
É 2021 e logo será 2022. Você não está mais limitado a configurar uma estação de trabalho de produção inteira com todos os itens instalados, como um servidor web, banco de dados, arquivos e muito mais. Os microsserviços e serviços em nuvem agora permitem que você distribua todas as suas tecnologias.
Portanto, a questão de hospedar o banco de dados localmente ou online é uma decisão real a ser tomada. Existem algumas vantagens e desvantagens em ambas as abordagens. Sim, você tem mais controle se tudo estiver localmente em sua máquina, mas, em comparação, ter uma versão em nuvem de um banco de dados significa que ele pode ser acessado em qualquer lugar.
Como costumo trocar de computador, trabalho remotamente e quero mais flexibilidade, dei uma olhada na versão em nuvem do MongoDb. Chama-se MongoDB Atlas. Tenho a opção de me conectar diretamente a ele através do meu vscode com um plugin, o que é bastante útil. Além disso, você pode dimensioná-lo e aumentá-lo de acordo com suas necessidades.
Fora isso, a configuração é exatamente a mesma para conectá-lo ao seu projeto, menos a necessidade de instalar e realmente hospedar o banco de dados na máquina. Isso significava que eu economizava tempo e esforço e simplesmente copiava e colava o url do banco de dados do Mongo e estava funcionando em minutos.
Configurando o esquema do banco de dados
Cada site e aplicativo (espero) é único. No entanto, existem alguns itens que permanecem os mesmos, como o requisito para usuários, autenticação, etc. Levei alguns dias para planejar como desejava estruturar meu banco de dados antes de implementá-lo.
A principal diferença era o fato de eu estar usando o OpenAI e queria ter certeza de que isso poderia ajudar a melhorar minhas saídas GPT-3 ao longo do tempo, então certifiquei-me de implementar também um esquema de histórico. Usando o express, configurei o mangusto, pois é uma das maneiras mais fáceis de definir um esquema, que poderia usar posteriormente em minhas rotas.
Criando a API
Com o banco de dados escolhido, a configuração da nuvem, o esquema definido, consegui implementar a API com facilidade.
A maioria das solicitações pode ser simples solicitações GET, POST que estão usando o comando findOne usando mangusto com mongo não diferente de se eu o estivesse usando localmente.
Originalmente, pensei que poderia obter alguns atrasos significativos usando a versão em nuvem do MongoDB, no entanto, o servidor era bastante rápido e nunca tive tais atrasos.
Conclusão
Embora esta seja uma breve visão geral do uso do MongoDB Atlas, vale a pena que as pessoas experimentem a alternativa de executar um banco de dados local e manualmente. Você obterá os mesmos resultados com menos tempo e terá mais flexibilidade para avançar.
Eu fiz um vídeo que aprofunda mais essa jornada, mas espero que isso dê uma boa ideia de alguns dos itens que aprendi durante esse tempo.
Atlas do MongoDB: https://www.mongodb.com/cloud/atlas/
Vídeo do youtube: Criando um banco de dados SaaS
Fonte: adriantwarog.com