Panoramica di Firestore
Firestore è un database flessibile e scalabile per lo sviluppo mobile, web e server di Firebase e Google Cloud. Firestore mantiene sincronizzati i dati tra le app client tramite ascoltatori in tempo reale e offre il supporto offline per dispositivi mobili e web, in modo da poter creare app reattive che funzionino indipendentemente dalla latenza di rete o dalla connettività internet. Firestore offre inoltre un'integrazione perfetta con altri prodotti Firebase e Google Cloud, tra cui le funzioni Cloud Run.
Funzionalità chiave
Flessibilità | Il modello dei dati di Firestore supporta strutture di dati flessibili e gerarchiche. Archivia i dati in documenti organizzati in raccolte. I documenti possono contenere oggetti nidificati complessi oltre a sottoraccolte. |
Query espressive | In Firestore, puoi utilizzare le query per recuperare singoli documenti specifici o 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. |
Progettato per la scalabilità | Firestore offre replica automatica dei dati multiregione, query con elevata coerenza, operazioni batch atomiche e supporto per le transazioni. |
Aggiornamenti in tempo reale | Firestore utilizza la sincronizzazione dei dati per aggiornare i dati su qualsiasi dispositivo connesso. Tuttavia, è progettato anche 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 sul cloud disponibile nelle librerie client Node.js, Java, Python, Unity, C++ e Go, oltre che nelle API REST e RPC. Anche le app per Apple, Android e web possono accedere al database direttamente utilizzando le librerie client.
In base al modello dei dati NoSQL di Firestore, archivi i dati in documenti che contengono campi mappati ai valori. Questi documenti sono archiviati nelle raccolte, ovvero contenitori per i documenti che puoi utilizzare per organizzare i dati e creare query. I documenti supportano molti diversi tipi di dati, da semplici stringhe e numeri a oggetti complessi e nidificati. Puoi anche creare sottocollezioni all'interno dei documenti e creare strutture di dati gerarchiche che si adattano alle dimensioni del database. Il modello di dati di Firestore supporta qualsiasi struttura di dati sia più adatta alla tua app.
Inoltre, le query in Firestore sono espressive, efficienti e flessibili. Crea query poco approfondite 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 paginare i risultati. Per mantenere aggiornati i dati nelle tue app, senza recuperare tutto il database ogni volta che si verifica un aggiornamento, aggiungi ascoltatori in tempo reale. L'aggiunta di ascoltatori in tempo reale alla tua app ti invia una notifica con uno snapshot dei dati ogni volta che i dati ascoltati dalle tue app client cambiano, recuperando solo le nuove modifiche.
Proteggi l'accesso ai tuoi dati in Firestore con Identity and Access Management (IAM) per i linguaggi lato server. Per Android, le piattaforme Apple e JavaScript, proteggi i tuoi dati con Firebase Authentication e le regole di sicurezza di Firestore.
Passaggi successivi
- Inizia a utilizzare Firestore: configura il database, poi aggiungi i dati e inizia a leggerli.
- Scopri di più sul modello di dati di Firestore.
- Creare e gestire i database.