Firebase offre due database di documenti accessibili dal client basati su cloud. 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 250.000 sviluppatori. È adatto per applicazioni con modelli di dati completi 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 preso in considerazione gli aspetti 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 | [ PREFERITO ] | Realtime Database |
---|---|---|
Archivia i dati come raccolte di documenti.
Scopri di più sul modello di dati Cloud Firestore. |
Memorizza i dati come un'unica grande struttura ad albero JSON.
Scopri di più sul modello di dati Realtime Database. |
Supporto in tempo reale e offline
Entrambi hanno SDK in tempo reale e ottimizzati per il mobile e supportano lo spazio di archiviazione dei dati locale per le app offline.
Cloud Firestore | [ PREFERITO ] | Realtime Database |
---|---|---|
Assistenza offline per client Apple, Android e web. | Assistenza 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 del client e fornire aggiornamenti ogni volta che lo stato della connessione del client cambia.
Cloud Firestore | [ PREFERITO ] | 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. |
Eseguire query
Recupera, ordina e filtra i dati da entrambi i database tramite query.
Cloud Firestore | [ PREFERITO ] | Realtime Database |
---|---|---|
Query indicizzate con ordinamento e filtri combinati.
|
Query approfondite con funzionalità di ordinamento e filtro limitate.
|
Operazioni di scrittura e transazioni
Cloud Firestore | [ PREFERITO ] | Realtime Database |
---|---|---|
Operazioni di scrittura e transazioni avanzate.
|
Operazioni di scrittura e transazioni di base.
|
Affidabilità e prestazioni
Cloud Firestore | [ PREFERITO ] | Realtime Database |
---|---|---|
Cloud Firestore è una soluzione regionale e multiregione che si espande automaticamente.
|
Realtime Database è una
soluzione regionale.
|
Tempo di attività
Cloud Firestore | [ PREFERITO ] | Realtime Database |
---|---|---|
Prestazioni di uptime estremamente elevate.
|
Prestazioni con uptime elevato.
|
Scalabilità
Cloud Firestore | [ PREFERITO ] | Realtime Database |
---|---|---|
La scalabilità è automatica.
|
La scalabilità richiede lo sharding.
|
Sicurezza
Cloud Firestore | [ PREFERITO ] | Realtime Database |
---|---|---|
Regole non gerarchiche che combinano autorizzazione e convalida.
|
Lingua delle regole con struttura a cascata che separa l'autorizzazione e la convalida.
|
Prezzi
Entrambe le soluzioni sono disponibili nei prezzi dei piani Spark e Blaze.
Cloud Firestore | [ PREFERITO ] | Realtime Database |
---|---|---|
Gli addebiti si basano principalmente sulle operazioni eseguite nel database (lettura, scrittura, eliminazione) e, a una tariffa inferiore, sulla larghezza di banda e sullo 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. |
Vengono addebitati solo per larghezza di banda e spazio di archiviazione, ma a un tasso più elevato.
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 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 la guida introduttiva all'utilizzo di Cloud Firestore.
- Per Realtime Database, leggi l'argomento Per iniziare per la tua piattaforma: Apple, Android, C++, Unity, web o REST.