Moteurs de synchronisation local-first
Une alternative à ElectricSQL pour les apps sans Postgres
Des données locales, des lectures hors ligne, et un utilisateur qui attend le même état sur chaque appareil. Les deux gardent le chemin d’écriture entre vos mains.
Ce qu’est ElectricSQL
Dans ses propres termes.
Un moteur de synchronisation Postgres. Electric tourne à côté de votre base et expose des shapes, des sous-ensembles filtrés d’une table, via HTTP ; les clients s’abonnent et gardent les lignes localement, et les lectures passent à l’échelle via des CDN ordinaires. Les écritures passent par votre propre API. Open source, avec un Electric Cloud hébergé.
Côte à côte
Où ils se séparent.
| s3nd | ElectricSQL | |
|---|---|---|
| Ce que c’est | Une CLI, une bibliothèque et des hooks React sur votre propre bucket S3 | Moteur de synchronisation Postgres en lecture, shapes via HTTP |
| Où vivent les données | Votre bucket : S3, R2, MinIO, Scaleway, Wasabi | Votre Postgres, répliqué vers les clients |
| Les deux côtés en ligne en même temps | Non. Le code est utilisé plus tard, jusqu’à expiration | Non |
| Depuis votre app web | Oui, via une route sur votre serveur | Oui |
| Comptes | Aucun. Le code est toute la poignée de main | Ce que votre API exige |
| Hébergement | Votre bucket, plus votre serveur quand un navigateur participe | Auto-hébergé ou Electric Cloud |
| Prix | Gratuit. Vous payez votre fournisseur de stockage pour quelques objets qui expirent | Gratuit ; le cloud est payant |
| Licence | MIT | Apache-2.0 |
Les différences
Ce qui change vraiment.
Postgres ou un bucket
Electric a besoin d’un Postgres depuis lequel synchroniser et y excelle. s3nd a besoin d’un bucket S3 dans lequel stocker et reste tout petit. Ils résolvent la même histoire utilisateur aux deux extrémités du spectre de l’infrastructure.
Des lignes vivantes ou un snapshot
Une shape est une vue vivante qui continue de se mettre à jour. Un snapshot est toute la base locale à un instant, transportée avec un code ou réécrite comme sauvegarde.
Un composant à déployer ou une route à ajouter
Electric est un service entre Postgres et vos clients. s3nd est une fonction dans l’API que vous avez déjà, ou une CLI sans rien de déployé.
La décision
Choisissez celui qui convient.
Choisissez ElectricSQL quand
- Postgres est la source de vérité et vous le voulez côté client.
- Beaucoup d’utilisateurs qui lisent des données qui se recoupent, avec des mises à jour en direct.
- Un chemin de lecture qui passe à l’échelle via un CDN.
Choisissez s3nd quand
- Pas de Postgres, ou aucune base backend du tout.
- Migration vers un nouvel appareil, sauvegarde, export chiffré : les cas en un coup.
- La plus petite chose qui marche.
Plus de comparaisons
Outil par outil.
Déposez un fichier. Donnez le code.
Pointez-le sur le bucket que vous payez déjà. Rien à déployer, aucune inscription, personne au milieu.