Firebase propose deux bases de données de documents accessibles aux clients et basées sur le cloud. Nous recommandons aux nouveaux clients de commencer par Cloud Firestore :
Cloud Firestore est la base de données de documents compatible avec JSON recommandée pour les entreprises , utilisée par plus de 600 000 développeurs. Elle convient aux applications avec des modèles de données riches nécessitant des requêtes, une évolutivité et une haute disponibilité. Elle 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. Elle 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 éléments 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 Cloud Firestore modèle de données. |
Stocke les données sous forme d'un grand arbre JSON.
En savoir plus sur le Realtime Database modèle de données. |
|
Assistance en temps réel et hors connexion
Les deux solutions disposent de SDK en temps réel axés sur le mobile et sont compatibles avec le stockage local des données pour les applications prêtes à fonctionner hors connexion.
| Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
|---|---|---|
| Assistance hors connexion pour les clients Apple, Android et Web. | Assistance 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 connexion du client et fournir des mises à jour chaque fois que l'état de connexion du client change.
| Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
|---|---|---|
| Non compatible de manière native. Vous pouvez vous appuyer sur la compatibilité de Realtime Database's 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 | [ 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 performance
| 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 temps d'activité extrêmement élevées.
|
Performances de temps d'activité élevées.
|
|
Évolutivité
| Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
|---|---|---|
Le scaling 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 et la validation.
|
|
Tarifs
Les deux solutions sont disponibles avec les forfaits Spark et Blaze.
| Cloud Firestore | [ PRÉFÉRÉ ] | Realtime Database |
|---|---|---|
| Facturation principalement basée sur les opérations effectuées dans votre base de données (lecture, écriture, suppression), et à un tarif inférieur, sur la bande passante et le stockage.
Cloud Firestore est compatible avec les budgets et les alertes mensuels pour éviter de dépasser le montant souhaité. En savoir plus sur les Cloud Firestore forfaits. |
Facturation uniquement basée sur 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.
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 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 pour votre plate-forme : Apple, Android, C++, Unity, Web, ou REST.