Firebase offre due database di documenti basati sul cloud e accessibili ai client. Consigliamo ai nuovi clienti di iniziare con Cloud Firestore:
Cloud Firestore è il database di documenti compatibile con JSON di livello aziendale consigliato , utilizzato da oltre 600.000 sviluppatori. È adatto ad applicazioni con modelli di dati avanzati che richiedono query, scalabilità e alta disponibilità. Offre anche la sincronizzazione dei client a bassa latenza e l'accesso ai dati offline.
Realtime Database è il database JSON classico di Firebase. È adatto ad applicazioni con modelli di dati semplici che richiedono ricerche semplici e sincronizzazione a bassa latenza con scalabilità limitata.
Quali sono altri aspetti importanti da considerare?
Dopo aver riflettuto sulle considerazioni chiave 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 Cloud Firestore modello dei dati. |
Archivia i dati come un unico albero JSON di grandi dimensioni.
Scopri di più sul Realtime Database modello dei dati. |
|
Supporto in tempo reale e offline
Entrambi hanno SDK in tempo reale mobile-first e supportano l'archiviazione locale dei dati per le app offline.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| Supporto offline per client Apple, Android e web. | Supporto offline per 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 basarti sul supporto di Realtime Database's per la presenza sincronizzando Cloud Firestore e Realtime Database utilizzando Cloud Functions . Consulta Creare la presenza in Cloud Firestore. | Presenza supportata. | |
Fare query
Recupera, ordina e filtra i dati da entrambi i database tramite le query.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Query indicizzate con ordinamento e filtri composti.
|
Query approfondite con funzionalità di ordinamento e filtro limitate
|
|
Operazioni di scrittura e transazioni
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Operazioni avanzate di scrittura e transazione.
|
Operazioni di scrittura e transazione di base.
|
|
Affidabilità e prestazioni
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Cloud Firestore è una
soluzione regionale e multi-regionale
che si adatta automaticamente.
|
Realtime Database è una
soluzione regionale.
|
|
Tempo di attività
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
Rendimento del tempo di attività estremamente elevato.
|
Rendimento del tempo di attività elevato.
|
|
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 nei piani tariffari Spark e Blaze.
| Cloud Firestore | [ PREFERRED ] | Realtime Database |
|---|---|---|
| Addebiti principalmente per le operazioni eseguite nel database
(lettura, scrittura, eliminazione) e, a una tariffa inferiore, per la larghezza di banda e lo spazio di archiviazione.
Cloud Firestore supporta budget e avvisi mensili per evitare di spendere più di quanto ti senti a tuo agio. Scopri di più sui Cloud Firestore piani tariffari. |
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. |
|
Utilizzare Cloud Firestore e 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 che in Cloud Firestore.
Pronto a 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 Inizia per la tua piattaforma: Apple, Android, C++, Unity, web o REST.