Firebase propose deux bases de données de documents dans le cloud accessibles par le client. Nous recommandons aux nouveaux clients de commencer par Cloud Firestore:
Cloud Firestore est la base de données de documents compatible avec JSON de niveau professionnel recommandée, approuvée par plus de 250 000 développeurs. Il convient aux applications dotées de modèles de données riches nécessitant une interrogabilité, 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 êtes peut-être prêt à choisir une base de données. Si vous évaluez toujours 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 tous deux des bases de données NoSQL.
Cloud Firestore | [ PREFERRED ] | 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 la forme d'un grand arbre JSON.
En savoir plus sur le modèle de données Realtime Database |
Fonctionnement 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 de données local pour les applications compatibles avec le mode hors connexion.
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Compatibilité hors connexion avec les clients Apple, Android et Web. | Fonctionnement 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 | [ PREFERRED ] | Realtime Database |
---|---|---|
Non compatible en mode natif. Vous pouvez exploiter 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. | Présence compatible. |
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 | [ PREFERRED ] | 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 | [ RECOMMANDÉ ] | 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 | [ RECOMMANDÉ ] | Realtime Database |
---|---|---|
Cloud Firestore est une solution régionale et multirégionale qui s'adapte automatiquement.
|
Realtime Database est une solution régionale.
|
Temps d'activité
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Performances de disponibilité extrêmement élevées.
|
Haute disponibilité
|
Évolutivité
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Le scaling est automatique.
|
Le scaling nécessite la segmentation.
|
Sécurité
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Règles non en cascade qui combinent l'autorisation et la validation.
|
Langage de règles en cascade qui sépare l'autorisation et la validation.
|
Tarifs
Les deux solutions sont disponibles avec les forfaits Spark et Blaze.
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Les frais sont principalement facturés en fonction des opérations effectuées dans votre base de données (lecture, écriture, suppression) et, à un tarif inférieur, de la bande passante et de l'espace de stockage.
Cloud Firestore accepte les plafonds de dépenses quotidiens pour les projets App Engine afin de vous assurer de ne pas dépasser les coûts que vous acceptez. En savoir plus sur les forfaits Cloud Firestore |
Ne facture que la bande passante et le stockage, mais à un tarif 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. Gardez à l'esprit les différences décrites précédemment si vous décidez d'utiliser les deux bases de données dans votre application.
Apprenez-en 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 découvrir comment ajouter une base de données à vos projets Firebase.
- Pour Cloud Firestore, consultez Premiers pas avec Cloud Firestore.
- Pour Realtime Database, consultez la section "Premiers pas" de votre plate-forme: Apple, Android, C++, Unity, Web ou REST.