Executando verificação de segurança...
2

Banco de dados ideal para aplicação real-time

Bom dia,

Estou desenvolvendo uma aplicação em node (com o framework Adonis) e integração a uma api do Whatsapp, onde usuários terão chats abertos com diversos clientes, e então surgiu a dúvida:

Hoje só trabalho com SQL, mas qual seria a database ideal pra um projeto desse porte?
Por algumas recomendações, obtive os resultados: Mongo, Cassandra, Firebase ou Redis.

Conseguem me dar um norte de qual seria a melhor opção e por qual motivo?

Agradeço :)

Carregando publicação patrocinada...
1
0
1
  • MongoDB: O MongoDB é um banco de dados NoSQL que oferece alta escalabilidade, desempenho e flexibilidade de armazenamento. Ele é uma boa opção se você espera ter um grande volume de dados e necessita de um alto desempenho em leitura e gravação. Ele também é bastante adequado para armazenar dados flexíveis e não estruturados.

  • Cassandra: O Cassandra também é um banco de dados NoSQL altamente escalável e distribuído. Ele é projetado para lidar com grandes volumes de dados em um ambiente distribuído. Se o seu projeto prevê alta disponibilidade, escalabilidade horizontal e tolerância a falhas, o Cassandra pode ser uma boa opção.

  • Firebase: O Firebase é uma plataforma de desenvolvimento de aplicativos móveis que oferece um banco de dados NoSQL em tempo real chamado Cloud Firestore. Ele é voltado para aplicativos em tempo real que exigem troca de dados em tempo real entre dispositivos. Se o seu projeto requer uma sincronização instantânea entre os clientes, o Firebase pode ser uma opção interessante.

  • Redis: O Redis é um banco de dados em memória que é extremamente rápido e eficiente para armazenar dados em cache e realizar operações de busca e recuperação rápidas. Se você precisa de um banco de dados para armazenar dados temporários, como sessões de usuário ou cache, o Redis pode ser a opção ideal.

A escolha entre essas opções depende dos requisitos específicos do seu projeto. É importante considerar fatores como escalabilidade, flexibilidade, desempenho e necessidades de consulta ao tomar uma decisão final. Além disso, é sempre recomendável fazer um protótipo ou teste de conceito com diferentes bancos de dados para avaliar o desempenho e a adequação ao seu caso de uso específico.

1

Muito obrigado pelo esclarecimento. De fato nunca utilizei nenhum deles, mas pelo que me parece, todos iriam suprir minha necessidade (em conjunto com o Redis quem sabe).

Pelo que mencionei no tópico (muitos usuários com chat em tempo real com diversos clientes), qual seria a sua opção escolhida?

1

Cassandra é interessante se você quiser escalar de tamanho e manter alta disponibilidade, já o Redis eu usaria se o foco for clientes e até funcionarios com celulares menos modernos ou com poucos recursos pois ele acelera o trafego de dados.

1

Entendi, muito obrigado pelo esclarecimento. Então o Redis pode ser implementado depois caso necessário, conforme o tráfego de informação?