Firebase offre due database di documenti basati su cloud e accessibili dai client. Consigliamo ai nuovi clienti di iniziare con Cloud Firestore:
Cloud Firestore è il database di documenti compatibile con JSON di livello enterprise consigliato, utilizzato da oltre 600.000 sviluppatori. È adatto per applicazioni con modelli di dati avanzati che richiedono funzionalità di query, scalabilità e alta affidabilità. Offre inoltre la sincronizzazione dei client a bassa latenza e l'accesso ai dati offline.
Realtime Database è il classico database JSON di Firebase. È adatto per applicazioni con modelli di dati semplici che richiedono ricerche semplici e sincronizzazione a bassa latenza con scalabilità limitata.
Quali sono gli altri aspetti importanti da considerare?
Dopo aver riflettuto sulle considerazioni principali precedenti, potresti essere pronto a scegliere un database. Se stai ancora valutando i vantaggi e gli svantaggi, questa sezione illustra altre differenze tra Cloud Firestore e Realtime Database.
Modello dei dati
Sia Realtime Database che Cloud Firestore sono database NoSQL.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Archivia i dati come raccolte di documenti.
Scopri di più sul modello di dati di Cloud Firestore. |
Archivia i dati come un unico grande albero JSON.
Scopri di più sul modello di dati di Realtime Database. |
|
Supporto in tempo reale e offline
Entrambi dispongono di SDK in tempo reale mobile-first e supportano l'archiviazione dei dati locale per le app pronte per l'utilizzo offline.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| Assistenza offline per client Apple, Android e web. | Assistenza offline per i client Apple e Android. | |
Presenza
Può essere utile sapere quando un client è online o offline. Firebase Realtime Database può registrare lo stato della connessione del client e fornire aggiornamenti ogni volta che lo stato della connessione del client cambia.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| Non supportato in modo nativo. Puoi sfruttare il supporto di Realtime Database per la presenza sincronizzando Cloud Firestore e Realtime Database utilizzando Cloud Functions. Consulta Crea la presenza in Cloud Firestore. | Presenza supportata. | |
Esecuzione di query
Recuperare, ordinare e filtrare i dati di entrambi i database tramite query.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Query indicizzate con ordinamento e filtro composti.
|
Query approfondite con
funzionalità di ordinamento e filtro limitate.
|
|
Operazioni di scrittura e transazioni
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Operazioni di scrittura e transazione avanzate.
|
Operazioni di scrittura e transazione di base.
|
|
Affidabilità e prestazioni
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Cloud Firestore
|
Realtime Database è una soluzione regionale.
|
|
Tempo di attività
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Prestazioni di uptime estremamente elevate.
|
Prestazioni di uptime elevate.
|
|
Scalabilità
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
La scalabilità è automatica.
|
La scalabilità richiede lo sharding.
|
|
Sicurezza
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Regole non a cascata che combinano autorizzazione e convalida.
|
Linguaggio delle regole a cascata che separa l'autorizzazione e la convalida.
|
|
Prezzi
Entrambe le soluzioni sono disponibili con i piani tariffari Spark e Blaze.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| Addebiti principalmente sulle operazioni eseguite nel database (lettura, scrittura, eliminazione) e, a una tariffa inferiore, su larghezza di banda e spazio di archiviazione.
Cloud Firestore supporta budget e avvisi mensili per evitare di spendere più di quanto vorresti. Scopri di più sui piani tariffari di Cloud Firestore. |
Addebiti solo per larghezza di banda e spazio di archiviazione, ma a una tariffa più elevata.
Scopri di più sui piani tariffari di Realtime Database. |
|
Utilizza sia Cloud Firestore che Realtime Database
Puoi utilizzare entrambi i database all'interno della stessa app o dello stesso progetto Firebase. Entrambi i database NoSQL possono archiviare gli stessi tipi di dati e le librerie client funzionano in modo simile. Tieni presente le differenze descritte in precedenza se decidi di utilizzare entrambi i database nella tua app.
Scopri di più sulle funzionalità disponibili sia in Realtime Database sia in Cloud Firestore.
Vuoi scegliere un database?
Ci auguriamo che questo confronto ti abbia aiutato a scegliere una soluzione di database Firebase. Ora puoi scoprire come aggiungere un database ai tuoi progetti Firebase.
- Per Cloud Firestore, consulta Inizia a utilizzare Cloud Firestore.
- Per Realtime Database, leggi l'argomento Introduzione per la tua piattaforma: Apple, Android, C++, Unity, Web o REST.