Neste artigo, vamos explorar os limites do banco de dados Bubble, assim como as melhores práticas para otimização do servidor. Junte-se a mim e garanta o sucesso do seu aplicativo.
A capacidade do banco de dados do Bubble tem sido um ponto de interrogação para muitos de seus usuários. A pergunta persiste: será que a plataforma pode suportar meu projeto?
Essas dúvidas são frequentes, pois muitos desenvolvedores antecipam um grande volume de usuários para seus aplicativos. Isso significa inúmeras informações, gráficos, imagens e conexões ocorrendo simultaneamente, o que pode ser uma preocupação para os desenvolvedores.
Diante desses questionamentos, compilei neste artigo as informações necessárias para entender a capacidade do Bubble, como otimizar seu servidor, como expandir a capacidade do seu aplicativo Bubble e, baseado no meu conhecimento, se o Bubble é ou não a escolha certa para seu projeto.
Essas informações são cruciais para você, certo? Acompanhe-me neste artigo para entender se o Bubble pode suportar seu projeto e aproxime-se ainda mais do sucesso do seu aplicativo.
Quão grande é a capacidade do banco de dados do Bubble?
A primeira coisa que você precisa saber é que o Bubble, não importa qual plano você escolhe – até mesmo o gratuito – já inclui hospedagem na Amazon Web Services (AWS) e um banco de dados usando a estrutura da Amazon RDS.
Isso significa que o Bubble tem uma série de servidores na infraestrutura da Amazon, e ele reserva partes desses espaços para aqueles que usam sua plataforma. Portanto, tanto o seu aplicativo quanto o seu banco de dados estão hospedados na Amazon.
Depois de entender esse sistema, tenho três perguntas para você considerar. Pense no seu computador pessoal, aquele que você usa todos os dias.
- Quantos dados você consegue armazenar no seu computador (planilhas, documentos, textos, tabelas, etc.)?
- Quantas imagens, arquivos ou vídeos você pode guardar?
- Quantos programas ou abas você consegue executar simultaneamente?
Nos tópicos seguintes, vamos explorar cada uma dessas perguntas. Continue lendo.
1. Quantos dados você consegue armazenar no Banco de Dados Bubble?
A resposta é bastante direta: dados infinitos. Não há como quantificar a quantidade de textos, linhas nesses textos, planilhas e tabelas nessas planilhas; logo, não há um limite de banco de dados.
Seja o seu aplicativo utilizado por um ou 500.000 usuários, a quantidade de dados não é uma preocupação que você deve ter.
Eu entendo que pode parecer difícil de acreditar que o volume de usuários e as informações geradas por eles não são fatores para se preocupar. No entanto, eu preparei um vídeo onde demonstro com um exemplo prático que, mesmo com um banco de dados com mais de 1 milhão de entradas, o desempenho não é comprometido.
Por isso, convido você a assistir ao vídeo e entender na prática por que a quantidade de dados não deve ser a sua principal preocupação.
Ainda não está convencido? Imaginei que pudesse ter reservas, então trouxe outro exemplo para tranquilizá-lo. A Escape The City, uma startup britânica com mais de 500.000 usuários, foi criada no Bubble.
E vale a pena mencionar que essa nem é uma das maiores empresas que angariou mais investimentos, mas é um case de sucesso e a plataforma funciona perfeitamente bem.
Portanto, o baco de dados Bubble pode suportar a quantidade de dados do seu aplicativo, mesmo que tenha um grande número de usuários.
Quantas imagens, arquivos ou vídeos você pode armazenar?
Esta é a pergunta correta a se fazer em relação ao armazenamento, porque aqui é onde temos um limite definido. Semelhante ao seu computador, a quantidade de imagens, arquivos ou vídeos que você pode armazenar depende do espaço disponível.
No seu computador, isso depende da capacidade de armazenamento do seu disco rígido. No Bubble, isso depende do plano que você escolheu.
Com o plano gratuito, você tem 2 GB de armazenamento. Com os planos pagos, você tem 10, 20 ou 50 GB, dependendo do plano contratado. Vale lembrar que quanto mais espaço de armazenamento, mais caro se torna o plano.
Para evitar gastos excessivos com o seu aplicativo, aqui estão duas dicas essenciais que eu recomendo:
Compressão de imagens: use plugins como o Croppie para comprimir imagens e reduzir o espaço de armazenamento. Com a compressão de imagens, você pode armazenar cerca de 25 vezes mais do que quando as imagens são salvas em seu tamanho original (veja o exemplo na imagem abaixo).
Armazenamento externo: Caso a compressão de imagens não seja o suficiente ou seu aplicativo armazene arquivos diferentes, recomendo que compre armazenamento externo.
Amazon, Box, Firebase e Wasabi, são alguns exemplos de plataformas parar comprar armazenamento que já possuem integração com o Bubble e com melhor custo benefício.
Abaixo segue um comparativo entre elas caso você opte por expandir seu armazenamento para 1TB.
Quantos programas ou abas você consegue executar simultaneamente?
Esta é a questão mais importante deste artigo. Assim como você não pode abrir 100 abas em seu navegador enquanto executa um editor de imagens em seu computador, há um limite para quantos programas podem ser executados simultaneamente.
Lembre-se, essa limitação não se aplica apenas ao Bubble; é uma restrição geral. Independentemente da linguagem de programação que você usa, o limite estará sempre nos workflows simultâneos, ou seja, quantas ações você tenta executar ao mesmo tempo.
Pesquisas em seu banco de dados, criação ou edição de itens em seu banco de dados e chamadas de API são exemplos dessas ações e sobrecarregam seu servidor.
No entanto, todas essas ações podem ser otimizadas para evitar que seu servidor fique sobrecarregado. Abaixo, vou mostrar quais medidas você pode e deve tomar para otimizar seu servidor.
Otimização da pesquisa de dados
A otimização de pesquisas de dados pode ser realizada através de filtros, paginação, evitando o uso de listas completas (full list) e usando regras de privacidade.
Para entender melhor os termos acima, imagine o seguinte cenário: você possui um marketplace de imóveis com 1 milhão de propriedades cadastradas.
Com os filtros, em vez de enviar todos os dados para o usuário, você envia apenas aqueles de seu interesse. Ele está procurando uma casa, um apartamento, uma cobertura ou um quitinete? Com essas categorias, você pode filtrar e mostrar apenas o que seu usuário precisa.
A paginação é mais comum e encontrada em muitos lugares. Usando o exemplo acima, seu cliente filtrou por casas e 300 combinações foram encontradas. Em vez de mostrar todas as 300 casas de uma vez, você exibe uma página com 10, depois outra página com mais 10, e assim por diante.
O uso de listas completas deve ser evitado. Não há motivo para mostrar todos os dados ao seu usuário de uma vez. No Bubble, você tem várias maneiras de exibir dados sem usar uma lista completa, como o scrolling vertical.
Este método é muito semelhante às redes sociais. Se a pesquisa do usuário retornou 5.000 resultados, o Bubble mostrará os resultados em grupos de 50 (por exemplo), onde os próximos 50 serão carregados somente quando o usuário rolar a página para baixo.
As regras de privacidade têm um conceito mais complexo, mas para simplificar, é como se você enviasse para seu usuário apenas informações que dizem respeito a ele.
Um exemplo são os usuários da comunidade Sem Codar. Ao acessar o sistema de aulas e concluir uma aula, o aluno clica em “aula concluída”. Cada aula concluída gera um registro no banco de dados, criando um fluxo intenso de dados.
No entanto, para o aluno, apenas os dados referentes às aulas que ele concluiu são relevantes. Com a regra de privacidade, em vez de enviar dados de todas as aulas concluídas na plataforma para o aluno, ele só receberá dados das aulas que concluiu.
Ou seja, em vez de receber mais de 100.000 dados, ele receberá o número de aulas que concluiu.
Além de otimizar o servidor, as regras de privacidade também garantem que os usuários só tenham acesso a informações que devem ter, proporcionando assim mais segurança ao seu servidor.
Otimização de gravações no banco de dados
As gravações no banco de dados podem ser otimizadas através de ações de servidor ou ações recursivas, estados personalizados (custom states) e formulários em várias etapas.
Para entender melhor o que seriam as ações de servidor ou ações recursivas, pense no seguinte exemplo: você tem um sistema de gestão e agendamento de horários para uma clínica de Pilates. A proprietária criou um novo horário de aulas e precisa enviar um e-mail para seus 1.000 alunos sobre essa atualização.
Nesse cenário, você tem duas opções: abrir 1.000 abas ao mesmo tempo para enviar os e-mails para seus clientes ou enviar um e-mail por vez com um intervalo de 1 segundo entre eles. Obviamente, a segunda opção otimiza muito mais o seu servidor, certo?
Portanto, as ações de servidor são ações avançadas que podem otimizar os processos de gravações no banco de dados ao executar as ações de maneira sequencial, em vez de todas ao mesmo tempo.
Os “custom states”, ou estados personalizados, são semelhantes às variáveis na programação. Com eles, você salva as informações no navegador do usuário e não no seu banco de dados, reduzindo assim a interação com o banco de dados e gravando nele apenas quando necessário.
Já os formulários em várias etapas consistem em gravar as informações de um formulário à medida que ele é preenchido.
Por exemplo, digamos que você tem um formulário com 50 campos para preencher. Em vez de exibir todos os 50 de uma vez, você divide-os em grupos (5 em 5, 10 em 10), e assim que o usuário preenche as informações e avança para o próximo grupo, as informações são gravadas no servidor.
Com essas três ações, você já consegue otimizar as gravações em seu banco de dados e evitar que seu servidor seja sobrecarregado.
Otimização Geral
Essa etapa é fundamental para qualquer pessoa que deseja lançar um aplicativo e adquirir usuários pagantes, pois se trata de uma parte significativa da rotina diária.
Análise e otimização são as palavras-chave aqui. No Bubble, existe uma aba chamada “Log”, e por meio dela você pode obter informações vitais sobre o desempenho do seu aplicativo, como, por exemplo, a porcentagem de uso do seu servidor ao longo do último dia.
Na aba “Log”, você também consegue entender quais processos estão carregando seu servidor. No servidor da comunidade “Sem Codar”, por exemplo, 99,8% dos processos são “Web Request”.
Dentro do “Web Request”, 48% são buscas de dados. Desses 48%, 74% são buscas e, desses 74%, 63,2% são buscas por “rating de aulas” (avaliações das aulas do curso). Abaixo, você pode ver uma imagem para ilustrar esse cenário.
Lembre-se, essa análise é apenas um exemplo. O que importa é que você sempre esteja monitorando e otimizando seu aplicativo para garantir o melhor desempenho possível e a melhor experiência para seus usuários.
Portanto, por meio desse processo, você consegue chegar à raiz do problema. Consegue identificar quais ações estão sobrecarregando o seu servidor e, a partir disso, tomar medidas para solucionar essa situação.
No exemplo acima, aplicar regras de privacidade seria uma boa alternativa, já que o usuário só receberia as buscas referentes às avaliações dele, não de todos os outros usuários da plataforma.
Por isso disse que essa etapa é fundamental no começo do tópico. Você deve realizar essas análises frequentemente, sempre buscando maneiras de otimizar os processos para evitar sobrecargas em seu servidor.
É essa análise e otimização que permite a aplicativos com grande número de usuários funcionar sem sobrecargas nos servidores.
Sempre digo que seu trabalho não termina quando o aplicativo está pronto; seu trabalho está apenas começando. Pois, após os usuários começarem a usar seu app, você poderá realizar essas análises e garantir um bom funcionamento, evitando a sobrecarga do seu servidor.
Como aumentar a capacidade do seu aplicativo Bubble?
Depois da otimização total do seu servidor, seguindo os passos que mostrei nos tópicos anteriores, chegamos à próxima etapa: como escalar e aumentar a capacidade do meu aplicativo Bubble?
Nesse cenário, você tem algumas opções. Uma delas é migrar para um plano Bubble superior ao que você possui atualmente. Subir do Hobby (gratuito) para o Personal, do Personal ao Professional e do Professional ao Production.
Outra opção é dar um “boost” na capacidade do seu servidor por uma hora, quando você espera que seu aplicativo receberá um pico de tráfego fora do comum. Mas essa opção é temporária e pode não resolver seu problema permanentemente.
E quando você já estiver no plano mais completo da plataforma, o que fazer?
Existe também uma opção no Bubble para adicionar mais capacidade ao seu servidor. Embora seja uma opção consideravelmente cara, ainda é mais barata do que ter uma equipe de desenvolvedores, por exemplo.
No entanto, não pense que esse cenário é ruim. Quando você precisa de uma renda extra para aumentar a capacidade de um servidor de um aplicativo que já está todo otimizado, em crescimento e com mais usuários a cada dia, significa que você está no caminho certo.
Caso o seu aplicativo não tenha um retorno financeiro suficiente para cobrir essas novas despesas, pode haver algum erro em seu plano de negócios ou no seu modelo de monetização.
Portanto, existem várias maneiras de aumentar a capacidade do banco de dados do seu aplicativo Bubble, e a escolha de qual utilizar depende inteiramente da situação em que você e seu aplicativo se encontram e do objetivo que você deseja alcançar.
Logo, escolha com sabedoria e fique cada vez mais próximo de alcançar a meta que você estipulou.
Afinal, o Bubble dá conta do meu projeto?
Essa é a pergunta final desse artigo e que costumo receber com certa frequência e posso afirmar com minha experiência de mais de 6 anos com o Bubble e o mundo no code que o Bubble dará conta sim do seu projeto.
Nessa minha jornada, até hoje não encontrei nenhum projeto no qual o Bubble não tenha dado conta no quesito performance. Já encontrei sim projetos com recursos extremamente avançados em linguagens também muito avançadas que realmente o Bubble não conseguiria atender aqueles projetos.
Mas em questão de performance, nunca encontrei um caso que, após a análise, a conclusão foi que o Bubble não é a melhor escolha para aquele projeto, pois com a otimização, vários projetos se enquadram nas características da plataforma.
E, para entender mais sobre a capacidade e a performance do Bubble recomendo a leitura do livro O Guia Definitivo de Performance do Bubble, escrito por um usuário da plataforma.
Ele é um livro de 156 páginas onde todos os detalhes de capacidade do Bubble são destrinchados de forma minuciosa e rica em informações. Ele é um livro pago, mas realmente um livro que considero muito bom.
Para quem já faz parte da Comunidade sem codar, já comprei o livro e destrinchei o mesmo e fiz um módulo sobre performance com base nessas informações e em meu conhecimento prévio.
Caso ainda não faça parte, te garanto que essa comunidade pode te ajudar a sair do lugar onde você está agora, e te ensinar a usar as ferramentas que vão te permitir tirar sua ideia do papel. Além de aumentar o seu conhecimento em Bubble e em programação no code.
Aprenda tudo sobre o Bubble com a Comunidade Sem Codar!
Ao longo do artigo, mostrei com exemplos qual a capacidade do Bubble, como otimizar as buscas de dados, gravações no banco de dados e como otimizar o seu servidor de maneira geral.
Com essas informações você já consegue aplicar mudanças significativas em seu aplicativo, otimizar seu servidor, garantir o bom funcionamento e uma boa experiência para os usuários de seu aplicativo.
Porém, se você deseja aprender mais sobre o Bubble e sobre o mundo no code, a Comunidade Sem Codar é o que você precisa. Sendo membro da comunidade você tem acesso ao maior curso de programação visual do mundo, com mais de 1.000 aulas, do iniciante ao avançado, passo-a-passo.
Neste curso você aprenderá a criar aplicativos web e nativos do zero, sem precisar programar e sem qualquer experiência prévia com desenvolvimento de aplicativos.
Você fará isso usando plataformas de Desenvolvimento Visual de aplicativos, em que você cria aplicativos web e mobile de forma visual, arrastando e soltando elementos na tela, e consegue personalizar tudo somente por meio de lógica.
Quer conhecer mais sobre o método Sem Codar? Se torne um membro agora da Comunidade Sem Codar e acabe definitivamente com suas dúvidas em relação ao Bubble e ao mundo no code!