Agence web » Actualités du digital » Comment fonctionne la base de données en temps réel Firebase de Google?

Comment fonctionne la base de données en temps réel Firebase de Google?

Firebase est une suite de backend en tant que service de Google conçue pour simplifier les backends mobiles. Bien qu'elle offre de nombreuses fonctionnalités, la base de données Firebase Realtime Database, une base de données sans serveur pouvant évoluer jusqu'à des millions d'utilisateurs, se trouve au cœur.

Qu'est-ce que Firebase?

Firebase est une suite complète de produits qui offre de nombreuses fonctionnalités, telles que l'authentification simplifiée, l'hébergement cloud, l'apprentissage automatique, l'analyse et la surveillance des pannes. Cependant, le service qui a tout déclenché est la base de données Firebase Realtime, une base de données NoSQL à laquelle les clients peuvent s'abonner via WebSockets.

Les données en temps réel signifient que toutes les mises à jour apportées à la base de données seront envoyées aux applications clientes abonnées à ce flux de données. Un bon exemple est une application de chat: les nouveaux messages envoyés par l'utilisateur A mettront à jour la base de données, et l'utilisateur B et l'utilisateur C recevront ces mises à jour, où leurs applications clientes l'afficheront sous forme de nouveau message.

Bien sûr, cela est possible sans Firebase – MongoDB peut obtenir le même effet, et RethinkDB est construit autour du concept. Mais c'est certainement une fonctionnalité très intéressante à avoir, et, combinée à tous les autres services qu'elle propose, fait de Firebase une véritable alternative à la création de votre propre backend mobile.

En ce qui concerne les données réelles, Firebase est une base de données de stockage de documents, très similaire aux autres bases de données NoSQL utilisant ce modèle, comme MongoDB. Ils sont tous deux sans schéma, ce qui vous permet de stocker des données dans le format qui correspond à vos préférences.

Les données dans Firebase sont stockées dans une grande arborescence JSON. Chaque branche de l'arbre peut être modifiée à volonté, et des changements à des branches spécifiques (telles que /users/anthony/) peut être abonné, permettant au client d'écouter les mises à jour.

Par exemple, dans JS, vous pouvez obtenir une référence à un emplacement de base de données spécifique, tel que le nombre de likes sur une publication spécifique. Ensuite, vous pouvez appeler ref.on() et passez-lui une fonction de rappel à exécuter chaque fois que le client Firebase reçoit une mise à jour

var LikesRef= firebase.database().ref('posts/' + postId + '/likes');
LikesRef.on('value', function(snapshot) {
  updateLikes(postElement, snapshot.val());
});

Bien entendu, vous pouvez également récupérer les données une seule fois si vous n'avez pas besoin d'un abonnement en temps réel.

Firebase ne sera en général pas aussi performant que votre propre base de données dédiée fonctionnant sur votre propre serveur, mais il devrait être plus que suffisant pour la plupart des applications. Si vous recherchez des performances mais que vous souhaitez tout de même utiliser la plate-forme Firebase, vous pouvez vous tourner vers Firestore, une autre solution de base de données dans la suite Firebase. Bien que les deux soient toujours des bases de données de documents, Firestore est un peu plus structuré. Plutôt que d'être un arbre JSON géant, Firestore stocke des documents séparés, qui peuvent avoir leur propre structure. Il est toujours capable de mises à jour en temps réel, mais il est plus adapté aux applications qui doivent effectuer des requêtes avancées.

Firestore est plus comparable à une base de données traditionnelle en tant que service, comme le RDS d'AWS, même si vous n'avez toujours pas à vous soucier des serveurs. Si vous souhaitez en savoir plus à ce sujet, vous pouvez lire l'aperçu de Google sur les différences entre les deux offres.

Combien ça coûte?

Firebase propose un niveau gratuit assez généreux pour le développement et les petites applications. Si vous avez moins de 100 concurrent utilisateurs et moins de 50k / 20k opérations quotidiennes de lecture / écriture, vous pouvez utiliser Firebase gratuitement.

Une fois que vous avez dépassé cela, le prix est payé au fur et à mesure. Vous pouvez utiliser leur calculatrice pour déterminer le montant que vous paierez, en fonction de votre utilisation. La tarification est basée sur les Go stockés et transférés par mois pour Firebase ainsi que par opération de lecture / écriture pour Firestore.

Si vous utilisez d'autres fonctionnalités Firebase, celles-ci peuvent également vous être facturées. Par exemple, l'hébergement, les fonctions cloud et l'authentification téléphonique ont tous leurs propres frais associés.

★★★★★