Deu uma olhada no Supabase? Chegou ao mercado como alternativa open source ao Firebase.
Opa, já sim!
Porém, não é tão diferente quanto o Firebase, e ainda usa banco de dados relacional, o que eu não gosto tanto, prefiro NoSQL, por isso gosto do Firestore.
Mas uma outra alternativa massa, pro Firebase e o Supabase, é o Hasura. Que pode funcionar muito bem e até melhor do que o Firebase. Porém, o Hasura só suporta bancos de dados relacional (mas muitos bancos), e está ainda em desenvolvimento a integração com MongoDB.
Acho que o banco de dado pra você pode ser o https://rethinkdb.com/
Ele é NoSQL, em tempo real e com API que lembra SQL
O RethinkDB é o primeiro banco de dados JSON escalonável e de código aberto construído desde o início para a Web em tempo real. Ele inverte a arquitetura de banco de dados tradicional, expondo um novo e empolgante modelo de acesso – em vez de pesquisar alterações, o desenvolvedor pode dizer ao RethinkDB para enviar continuamente resultados de consulta atualizados para aplicativos em tempo real. A arquitetura push em tempo real do RethinkDB reduz drasticamente o tempo e o esforço necessários para criar aplicativos escalonáveis em tempo real.
Quando o RethinkDB é uma boa escolha?
O RethinkDB é uma ótima opção quando seus aplicativos podem se beneficiar de feeds em tempo real para seus dados.
O modelo de acesso ao banco de dados de consulta-resposta funciona bem na Web porque mapeia diretamente para a solicitação-resposta do HTTP. No entanto, os aplicativos modernos exigem o envio de dados diretamente ao cliente em tempo real. Os casos de uso em que as empresas se beneficiaram da arquitetura push em tempo real do RethinkDB incluem:
Web colaborativa e aplicativos móveis
Aplicativos de análise de streaming
jogos multijogador
Mercados em tempo real
Dispositivos conectados
Por exemplo, quando um usuário altera a posição de um botão em um aplicativo de design colaborativo, o servidor precisa notificar outros usuários que estão trabalhando simultaneamente no mesmo projeto. Os navegadores da Web oferecem suporte a esses casos de uso por meio de WebSockets e conexões HTTP de longa duração, mas adaptar os sistemas de banco de dados às necessidades em tempo real ainda apresenta um enorme desafio de engenharia.
O RethinkDB é o primeiro banco de dados escalonável de código aberto projetado especificamente para enviar dados para aplicativos em tempo real. Ele reduz drasticamente o tempo e o esforço necessários para criar aplicativos escalonáveis em tempo real.