Panoramica di Firestore

Firestore è un database flessibile e scalabile per lo sviluppo di dispositivi mobili, web e server di Firebase e Google Cloud. Firestore mantiene sincronizzati i tuoi dati tra le app client tramite listener in tempo reale e offre supporto offline per dispositivi mobili e web, per consentirti di creare app adattabili che funzionano indipendentemente dalla latenza di rete o dalla connettività a internet. Inoltre, Firestore offre integrazione perfetta con altri prodotti Firebase e Google Cloud, tra cui Cloud Functions.

Funzionalità chiave

Flessibilità Il modello dei dati Firestore supporta strutture di dati flessibili e gerarchiche. Archivia i tuoi dati in documenti, organizzati in raccolte. I documenti possono contenere oggetti nidificati complessi oltre a sottoraccolte.
Esecuzione di query espressive In Firestore puoi utilizzare le query per recuperare singoli documenti specifici o per recuperare tutti i documenti di una raccolta che corrispondono ai parametri della query. Le query possono includere più filtri concatenati e combinare filtri e ordinamento. Sono inoltre indicizzati per impostazione predefinita, quindi le prestazioni delle query sono proporzionali alla dimensione del set di risultati, non al set di dati.
Progettati per la scalabilità Firestore offre replica automatica dei dati multiregione, query a elevata coerenza, operazioni batch atomiche e supporto delle transazioni.
Aggiornamenti in tempo reale Firestore utilizza la sincronizzazione per aggiornare i dati su qualsiasi dispositivo connesso. Tuttavia, è anche progettato per eseguire in modo efficiente query di recupero semplici e una tantum.
Supporto offline Firestore memorizza nella cache i dati che la tua app sta utilizzando attivamente, in modo che l'app possa scrivere, leggere, ascoltare ed eseguire query sui dati anche se il dispositivo è offline. Quando il dispositivo torna online, Firestore sincronizza tutte le modifiche locali su Firestore.

Come funziona?

Firestore è un database NoSQL ospitato nel cloud, disponibile nelle librerie client Node.js, Java, Python, Unity, C++ e Go, oltre alle API REST e RPC. Anche le app web, Apple e Android possono accedere al database direttamente tramite le librerie client.

Seguendo modello dei dati NoSQL di Firestore, archivi i dati in documenti che contengono campi mappati a valori. Questi documenti sono archiviati in raccolte, container per i tuoi documenti che puoi utilizzare per organizzare i dati e creare query. I documenti supportano molti tipi di dati diversi, da stringhe e numeri semplici a oggetti nidificati e complessi. Puoi inoltre creare sottoraccolte all'interno dei documenti e creare strutture di dati gerarchiche che scalano di pari passo con l'espansione del database. Il modello di dati Firestore supporta qualsiasi struttura di dati che funzioni meglio per la tua app.

Inoltre, le query in Firestore sono espressive, efficienti e flessibili. Crea query superficiali per recuperare i dati a livello di documento senza dover recuperare l'intera raccolta o eventuali sottoraccolte nidificate. Aggiungi ordinamento, filtri e limiti alle query o ai cursori per distribuire i risultati in pagine. Per mantenere aggiornati i dati nelle tue app, senza recuperare l'intero database ogni volta che si verifica un aggiornamento, aggiungi listener in tempo reale. L'aggiunta di listener in tempo reale alla tua app ti avvisa con uno snapshot dei dati ogni volta che i dati delle app client sono in ascolto delle modifiche, recuperando solo le nuove modifiche.

Proteggi l'accesso ai tuoi dati in Firestore con Identity and Access Management (IAM) per le lingue lato server. Per Android, le piattaforme Apple e JavaScript proteggono i tuoi dati con Firebase Authentication e le regole di sicurezza di Firestore.

Passaggi successivi