Firebase propose deux bases de données de documents accessibles aux clients et basées dans le cloud. Nous recommandons aux nouveaux clients de commencer par Cloud Firestore :
Cloud Firestore est une base de données de documents compatible JSON de niveau entreprise recommandée, approuvée par plus de 250 000 développeurs. Il convient aux applications avec des modèles de données riches nécessitant une capacité de requête, une évolutivité et une haute disponibilité. Il offre également une synchronisation client à faible latence et un accès aux données hors connexion.
Realtime Database est la base de données JSON Firebase classique. Il convient aux applications avec des modèles de données simples nécessitant des recherches simples et une synchronisation à faible latence avec une évolutivité limitée.
Quels sont les autres points importants à prendre en compte ?
Après avoir réfléchi aux considérations clés précédentes, vous serez peut-être prêt à choisir une base de données. Si vous hésitez encore entre les avantages et les inconvénients, cette section présente d'autres différences entre Cloud Firestore et Realtime Database.
Modèle de données
Realtime Database et Cloud Firestore sont des bases de données NoSQL.
Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
---|---|---|
Stocke les données sous forme de collections de documents.
En savoir plus sur le modèle de données Cloud Firestore |
Stocke les données sous forme d'un grand arbre JSON.
En savoir plus sur le modèle de données Realtime Database |
Assistance en temps réel et hors connexion
Les deux proposent des SDK en temps réel axés sur le mobile et prennent en charge le stockage local des données pour les applications utilisables hors connexion.
Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
---|---|---|
Fonctionnement hors connexion pour les clients Apple, Android et Web. | Compatibilité hors connexion pour les clients Apple et Android. |
Présence
Il peut être utile de savoir quand un client est en ligne ou hors connexion. Firebase Realtime Database peut enregistrer l'état de la connexion du client et fournir des mises à jour chaque fois que l'état de la connexion du client change.
Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
---|---|---|
Non compatible en mode natif. Vous pouvez vous appuyer sur la compatibilité de Realtime Database avec la présence en synchronisant Cloud Firestore et Realtime Database à l'aide de Cloud Functions. Consultez Créer une présence dans Cloud Firestore. | La présence est prise en charge. |
Requête
Récupérez, triez et filtrez les données de l'une ou l'autre base de données à l'aide de requêtes.
Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
---|---|---|
Requêtes indexées avec tri et filtrage composés.
|
Requêtes approfondies avec des fonctionnalités de tri et de filtrage limitées.
|
Écritures et transactions
Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
---|---|---|
Opérations d'écriture et de transaction avancées.
|
Opérations d'écriture et de transaction de base.
|
Fiabilité et performances
Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
---|---|---|
Cloud Firestore est une solution régionale et multirégionale qui évolue automatiquement.
|
Realtime Database est une solution régionale.
|
Temps d'activité
Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
---|---|---|
Performances de disponibilité extrêmement élevées.
|
Hautes performances en termes de disponibilité.
|
Évolutivité
Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
---|---|---|
La mise à l'échelle est automatique.
|
Le scaling nécessite le partitionnement.
|
Sécurité
Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
---|---|---|
Règles non en cascade qui combinent autorisation et validation.
|
Langage de règles en cascade qui sépare l'autorisation de la validation.
|
Tarifs
Les deux solutions sont disponibles dans les forfaits Spark et Blaze.
Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
---|---|---|
Les frais sont principalement basés sur les opérations effectuées dans votre base de données (lecture, écriture, suppression) et, à un taux inférieur, sur la bande passante et le stockage.
Cloud Firestore est compatible avec les limites de dépenses quotidiennes pour les projets App Engine. Vous pouvez ainsi vous assurer de ne pas dépasser les coûts que vous êtes prêt à payer. En savoir plus sur les forfaits Cloud Firestore |
Les frais ne concernent que la bande passante et le stockage, mais à un taux plus élevé.
En savoir plus sur les forfaits Realtime Database |
Utiliser Cloud Firestore et Realtime Database
Vous pouvez utiliser les deux bases de données dans la même application ou le même projet Firebase. Les deux bases de données NoSQL peuvent stocker les mêmes types de données et les bibliothèques clientes fonctionnent de manière similaire. Si vous décidez d'utiliser les deux bases de données dans votre application, gardez à l'esprit les différences décrites précédemment.
En savoir plus sur les fonctionnalités disponibles dans Realtime Database et Cloud Firestore
Prêt à choisir une base de données ?
Nous espérons que cette comparaison vous a aidé à choisir une solution de base de données Firebase. Vous pouvez maintenant apprendre à ajouter une base de données à vos projets Firebase.