Fermer

juillet 7, 2023

Plateformes de base de données cloud 2023 avec temps réel

Plateformes de base de données cloud 2023 avec temps réel


Quelles bases de données cloud vous permettront de travailler avec des fonctionnalités en temps réel ? Nous allons jeter un coup d’oeil.

Lorsque nous construisons une application, nous avons souvent besoin de fonctionnalités en temps réel. Nous pouvons souhaiter que des notifications, des fonctionnalités de chat, des vues en temps réel, des likes ou des données en direct soient affichées.

La création de ces fonctionnalités à partir de zéro nécessiterait une interrogation complexe ou la modification des techniques de capture de données sur le serveur, et les filtrer serait encore plus complexe. Vous devrez ensuite configurer votre propre microservice GraphQL, Rest API ou gRPC qui prend en charge une sorte de streaming ou WebSocket, et il doit inclure la sécurité. C’est juste la fin du serveur.

Enfin, vous devez créer une API client qui se connecte à ce backend, est sécurisée avec des contrôles d’authentification et d’autorisation et peut être utilisée en toute sécurité dans le navigateur. Heureusement, certaines plates-formes de bases de données cloud modernes incluent des fonctionnalités en temps réel prêtes à l’emploi.

Note: Cet article ne mentionne que les fonctionnalités en temps réel, pas toutes les fonctionnalités de base de données.

Base de feu

Base de données (limite de connexion): Cloud Firestore (plus de 1 000 000), base de données en temps réel (plus de 200 000)

Taper: gRPC et WebChannels (interrogation des navigateurs non pris en charge), Client SDK

Cloud Firestore de Google Base de feu est probablement la première plate-forme de base de données complète avec temps réel intégré. C’est invariablement le plus facile à utiliser et à démarrer.

Avantages

  • Cela fonctionne immédiatement avec peu ou pas de configuration.
  • Sécurisé avec les règles Firestore, les règles RTDB.
  • Les capacités en temps réel sont exactement les mêmes que les capacités d’interrogation.
  • La mise en cache et les mises à jour optimistes fonctionnent bien avec le temps réel.

Les inconvénients

  • L’interrogation est extrêmement limitée. Vous devez utiliser des agrégations difficiles à configurer avec des fonctions Firebase ou des lectures superflues sur le client, et certains scénarios sont presque impossibles, comme un flux d’abonnés évolutif.
  • Le SDK côté client peut être plus lent que d’autres produits en raison de la complexité de ses fonctionnalités.

Supbase

Base de données (limite de connexion) : Postgres (200, 500 ou illimité selon le plan)

Supbase est peut-être la deuxième plate-forme de base de données la plus populaire avec des capacités en temps réel. Ils ont ajouté un tas de nouvelles fonctionnalités au cours de la dernière année seulement.

Taper: Réplication Postgres, SDK client

Avantages

  • Il fonctionne immédiatement avec peu de configuration.
  • Sécurisé avec les politiques Postgres.
  • Utilise SQL au lieu de noSQL

Les inconvénients

  • Requêtes extrêmement limitées avec un seul filtre possible. Vous devrez pirater les politiques postgres ou créer des fonctions de déclenchement personnalisées pour obtenir les résultats souhaités dans certains scénarios.
  • Pas facile à utiliser ni à comprendre. J’ai créé j-supabase pour rendre ce travail aussi simple que Firebase.

rencontré

Base de données (limite de connexion) : Bases de données compatibles avec Postgres et meta-postgres, Microsoft SQL, Google Big Query et prévoit de nombreuses autres bases de données conçues à l’échelle (10, 100 ou illimitées selon le plan).

rencontré est conçu pour évoluer des petites bases de données Postgres aux grandes bases de données Yugabyte.

Taper: Interrogation pour les requêtes en direct, réplication pour les abonnements, client d’abonnements GraphQL

Avantages

  • Utilise GraphQL pour interroger la flexibilité des abonnements en temps réel
  • Sécurisé avec les règles Hasura au niveau de la ligne et de la colonne
  • Possède à la fois des requêtes @live et des abonnements

Les inconvénients

  • GraphQL peut être difficile à configurer, en particulier avec WebSockets
  • Nécessite un fournisseur d’authentification externe pour une configuration telle que Auth.js, Authentification Firebaseou NHôte pour des fonctions plus complexes.

dgraphe

Base de données: dgraphe

dgraphe est une base de données graphique unique qui travaille actuellement à la publication d’une nouvelle version au début de 2023 après avoir obtenu une nouvelle équipe d’ingénieurs et un nouveau financement.

Taper: Interrogation (aucune limite de connexion), client d’abonnements GraphQL

Avantages

  • Capacités de requête complexes pour les abonnements
  • Fonctionne immédiatement
  • Sécurisé avec les règles GraphQL @auth

Les inconvénients

  • Les règles @auth sont basiques, pas de contraintes complexes ou de règles équivalentes pour « using » et « with check » de sql
  • GraphQL peut être difficile à configurer, en particulier avec WebSockets. J’ai créé j-dgraph pour aider à cela.
  • Nécessite un fournisseur d’authentification externe tel que Auth.js ou Authentification Firebase.

Faune

Base de données: FaunaDB

Faune est un mélange d’une base de données de documents noSQL et d’une base de données de graphes.

Taper: Streaming (illimité mais facturé selon les connexions), Client SDK

Avantages

  • Fonctionne hors de la boîte.
  • L’interrogation en continu est limitée par rapport aux requêtes FQL.
  • Peut créer des règles de sécurité en interne.

Les inconvénients

  • Requêtes difficiles à mettre en place, il faut créer des index complexes pour les requêtes, pas très intuitifs.
  • Nécessite un fournisseur d’authentification externe tel que Auth.js.

Appécrire

Base de données: Appwrite (construit sur MariaDB)

Appécrire est une base de données de documents noSQL qui peut être auto-hébergée comme Supabase. La version Cloud est disponible en version bêta (j’y ai accès), je l’inclus donc dans cette liste. Il sera probablement disponible pour tout le monde dans les prochains mois.

Taper: Diffusion d’événements

Avantages

  • Fonctionne hors de la boîte.
  • Très facile de s’abonner à un flux à l’aide du SDK client.
  • Authentification et autorisations intégrées.

Les inconvénients

  • La base de données n’a pratiquement aucune capacité d’interrogation.

8base

Base de données: mySQL (pas d’accès)

8base est une première plate-forme de base de données GraphQL. Vous n’avez pas accès au noyau mySQL, ce qui le rend intéressant.

Taper: Streaming d’événements, abonnement GraphQL

Avantages

  • Fonctionne hors de la boîte.
  • Utilise l’espace de travail d’autorisation et d’authentification 8base.

Les inconvénients

  • Doit configurer un fournisseur d’authentification externe, bien qu’il ait intégré module d’authentification pour rendre cela plus facile.
  • Requêtes limitées par rapport à Hasura, bien qu’assez puissantes.

graphbase

Base de données: DynamoDB (pas d’accès)

graphbase est censé être GraphQL en premier afin que vous ne pensiez à rien lié à la base de données.

Taper: Streaming d’événements, abonnement GraphQL

Avantages

  • Fonctionne hors de la boîte.
  • Sécurisé avec les règles GraphQL @auth.

Les inconvénients

  • Doit configurer le fournisseur d’authentification externe comme Auth.js.
  • Capacités d’interrogation limitées.

Ce sont les seules bases de données que je connaisse qui fonctionnent actuellement pour des données en temps réel sans avoir à déployer un middleware personnalisé. Espérons que nous pourrons les voir mûrir avec les fonctionnalités dont nous avons besoin !

Bases de données à surveiller

  • EdgeDB – Construit sur Postgres, aura des abonnements GraphQL.
  • SurrealDB – Base de données de type SQL avec WebSockets.




Source link