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 250.000 sviluppatori. È adatto ad applicazioni con modelli di dati avanzati che richiedono query, scalabilità e alta disponibilità. Offre inoltre sincronizzazione dei client a bassa latenza e accesso ai dati offline.
Realtime Database è il database JSON Firebase classico. È adatto per 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
Realtime Database e Cloud Firestore sono entrambi database NoSQL.
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Archivia i dati come raccolte di documenti.
Scopri di più sul modello di dati Cloud Firestore. |
Archivia i dati come un unico grande albero JSON.
Scopri di più sul modello di dati Realtime Database. |
Supporto in tempo reale e offline
Entrambi hanno SDK in tempo reale mobile-first e supportano l'archiviazione locale dei dati per app pronte per l'utilizzo offline.
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Supporto offline per client web, Apple e Android. | Supporto offline per i client Apple e Android. |
Presence
Può essere utile sapere quando un cliente è online o offline. Firebase Realtime Database può registrare lo stato della connessione 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 della presenza di Realtime Database sincronizzando Cloud Firestore e Realtime Database utilizzando Cloud Functions. Consulta Creare la presenza in Cloud Firestore. | Presenza supportata. |
Query
Recupera, ordina e filtra i dati da entrambi i database tramite query.
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Query indicizzate con ordinamento e filtraggio combinati.
|
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 è una soluzione regionale e multiregionale che si adatta automaticamente.
|
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.
|
Lo scaling 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 dalla convalida.
|
Prezzi
Entrambe le soluzioni sono disponibili nei piani tariffari Spark e Blaze.
Cloud Firestore | [ PREFERRED ] | Realtime Database |
---|---|---|
Addebito principalmente per le operazioni eseguite nel database
(lettura, scrittura, eliminazione) e, a una tariffa inferiore, per larghezza di banda e spazio di archiviazione.
Cloud Firestore supporta i limiti di spesa giornalieri per i progetti App Engine, per assicurarti di non superare i costi che ritieni accettabili. Scopri di più sui piani tariffari di Cloud Firestore. |
Addebita solo larghezza di banda e spazio di archiviazione, ma a una tariffa
più elevata.
Scopri di più sui piani tariffari di Realtime Database. |
Utilizzo di Cloud Firestore e Realtime Database
Puoi utilizzare entrambi i database all'interno della stessa app o 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 la pagina Guida introduttiva a Cloud Firestore.
- Per Realtime Database, leggi l'argomento Per iniziare per la tua piattaforma: Apple, Android, C++, Unity, web o REST.