Rebase
vs
Firebase

Rebase face à Firebase

Firestore est une base de documents, et les jointures, les contraintes et le reporting sont précisément ce qu'il vous demande de contourner. Rebase part d'un schéma relationnel que vous possédez déjà — et la console obtenue est un panneau d'administration dans lequel votre équipe peut travailler, pas un explorateur de données pour développeurs.

Modélisation des données

Un magasin de documents, ou un relationnel

Là où ça coince

Firestore est un magasin de documents : une jointure est donc quelque chose que l'on contourne à la conception — dénormaliser entre collections et tenir les copies alignées avec des Cloud Functions. Firebase propose désormais une option relationnelle — SQL Connect, anciennement Data Connect, qui pose GraphQL, du SQL brut et des abonnements aux requêtes sur une base Cloud SQL for PostgreSQL — mais c'est un produit distinct du Firestore sur lequel la plupart des applications Firebase reposent, et c'est le Postgres de Google, pas le vôtre.

Ce que Rebase fait à la place

Rebase tourne sur une base PostgreSQL relationnelle qui vous appartient.

  • Stockez le nom d'un utilisateur exactement une fois. Mettez-le à jour une fois.
  • Les jointures sont des jointures, résolues par la base plutôt que par un script de synchronisation.
  • Contraintes et clés étrangères gardent l'intégrité là où elle doit être.
Outils de back-office

Une console pour vos données, ou un panneau d'administration pour votre équipe

Là où ça coince

La console Firebase est un outil de développeur. Si l'équipe de relation client ou un rédacteur a besoin d'un tableau de bord, vous construisez vous-même tout le panneau d'administration et le câblez au SDK Firebase.

Ce que Rebase fait à la place

Rebase génère Rebase CMS, un panneau d'administration React prêt pour la production, depuis la même définition de collection.

  • Tables, tableaux kanban et écrans d'édition, générés depuis le schéma.
  • On peut le confier à des collègues non techniques, parce que les politiques sont dans la base.
  • Remplacez n'importe quelle partie par vos propres composants React.
Dépendance au fournisseur

Google Cloud, ou là où vous déployez

Là où ça coince

Firestore est propriétaire à Google Cloud, et son modèle documentaire n'est pas relationnel. En sortir n'est pas un export — c'est un exercice de remodelage, et le coût est proportionnel à ce que vous avez dénormalisé pour faire fonctionner Firestore.

Ce que Rebase fait à la place

Rebase est sous licence MIT et se livre en image Docker.

  • Hébergez sur AWS, DigitalOcean, Fly.io, Railway, Hetzner, ou votre propre matériel.
  • En dessous, c'est une base PostgreSQL ordinaire : n'importe quel outil de BI, tâche ETL ou session psql qui parle Postgres fonctionne déjà dessus.

Ne changez pas

Quand rester sur Firebase

Quand vous construisez une application mobile qui doit fonctionner hors ligne. Les SDK client de Firebase et leur persistance hors ligne sont réellement excellents et il n'y a pas d'équivalent ici. C'est aussi la meilleure réponse si vous voulez l'échelle opérationnelle de Google sans penser du tout à une base de données — le revers de posséder votre Postgres, c'est que vous possédez votre Postgres.

Questions

Rebase et Firebase, en réponses

Puis-je migrer de Firestore vers Rebase ?

Les données peuvent se déplacer, mais c'est une vraie migration et non un changement de connexion : Firestore est un magasin de documents et Rebase est relationnel, donc les collections de documents imbriqués doivent être modélisées en tables et clés étrangères. Ce travail de modélisation est la migration. En échange vous obtenez SQL, jointures, transactions et contraintes — ce qui est en général la raison du départ.

Rebase a-t-il du temps réel comme Firestore ?

Oui — des abonnements temps réel par WebSocket, portés par les changements dans Postgres, et livrés sous la même sécurité au niveau des lignes que toute autre lecture. Cette dernière partie est la différence à connaître : un abonnement ne peut pas voir des lignes que l'abonné n'a pas le droit de lire, parce que la politique est appliquée par la base et non par le code qui a posé l'écouteur.

Qu'est-ce qui remplace Firebase Auth ?

Rebase livre sa propre authentification : e-mail et mot de passe, liens magiques, codes à usage unique, multifacteur TOTP, clés d'API à portée limitée et douze fournisseurs OAuth et OIDC — Google, Microsoft Entra ID, Apple, GitHub — ou votre propre adaptateur devant Auth0, Clerk ou Firebase Auth lui-même. L'identité de l'utilisateur connecté est ce contre quoi les politiques de sécurité au niveau des lignes sont écrites. La différence pratique : vos utilisateurs vivent dans votre propre Postgres, dans une table que vous pouvez interroger et joindre, plutôt que dans un service d'identité séparé atteint par API.

Quand Firebase est-il le meilleur choix ?

Quand vous construisez une application mobile qui doit fonctionner hors ligne. Les SDK client de Firebase et leur persistance hors ligne sont réellement excellents et il n'y a pas d'équivalent ici. C'est aussi la meilleure réponse si vous voulez l'échelle opérationnelle de Google sans penser du tout à une base de données — le revers de posséder votre Postgres, c'est que vous le possédez.

Pourquoi passer à Postgres ?

En général parce qu'une requête est devenue difficile. Les magasins de documents sont agréables jusqu'à ce qu'il faille poser une question à cheval sur trois collections, garantir que deux écritures se produisent ensemble, ou donner à un analyste quelque chose d'interrogeable. Ce sont des problèmes d'une ligne en SQL et des problèmes d'architecture dans Firestore.

Suis-je obligé d'auto-héberger Rebase ?

Non. Auto-hébergez-le et vous possédez les données, le code et la machine sur laquelle il tourne — c'est le mode par défaut et il est pleinement pris en charge. Ou déployez le même projet sur Rebase Cloud, qui tourne aujourd'hui avec de vrais clients et s'ouvre par vagues pendant sa bêta privée, facturé à la ressource plutôt qu'au siège. Votre code est identique dans les deux cas ; l'hébergement est une cible de déploiement, pas un embranchement.

Ne nous croyez pas sur parole.

La comparaison qui compte est celle que vous faites. Pointez Rebase vers une base Postgres que vous avez déjà et voyez comment il tient face à Firebase.

~pnpm dlx @rebasepro/cli init