Firestore è un database di documenti NoSQL creato per offrire scalabilità automatica, prestazioni elevate e facilità di sviluppo delle applicazioni. Si tratta della versione più recente di Datastore e introduce diversi miglioramenti rispetto a Datastore.
Poiché Firestore in modalità Datastore è ottimizzato per i casi d'uso dei server e per App Engine, consigliamo di utilizzare Firestore in modalità Datastore per i database che verranno utilizzati principalmente dalle app App Engine. Firestore in modalità Native è utile soprattutto per i casi d'uso di notifiche mobile e in tempo reale. Per ulteriori informazioni sulle modalità Firestore, consulta Scegliere tra la modalità nativa e la modalità Datastore.
Utilizzo della modalità Datastore con App Engine
Per utilizzare la modalità Datastore con App Engine:
Se non lo hai già fatto, crea un database e scegli Firestore in modalità Datastore.
Puoi utilizzare i database Datastore esistenti con le app App Engine. Per questi database esistenti verrà eseguito automaticamente l'upgrade a Firestore in modalità Datastore.
-
per creare, recuperare e gestire le entità nel database in modalità Datastore.
Se prevedi di eseguire l'upgrade dell'app Python 2 a Python 3, hai a disposizione alcune opzioni:
Se l'app Python 2 utilizza App Engine NDB per interagire con Datastore, ti consigliamo di eseguire la migrazione a Cloud NDB anziché alla libreria client in modalità Datastore, poiché la prima offre un'esperienza utente molto più simile.
Puoi anche scegliere di portare prima la tua app Python 2 che utilizza NDB di App Engine a Python 3, quindi poi eseguirne la migrazione a Cloud NDB. Per informazioni su come accedere all'NDB di App Engine in Python 3, consulta la pagina sull'accesso ai servizi in bundle di App Engine per Python 3.
Per risorse aggiuntive e un esempio di migrazione da un'app webapp
Python 2 utilizzando NDB di App Engine a un'app Python 3 Flask equivalente con l'opzione NDB di App Engine abilitata, consulta la pagina relativa ai servizi in bundle per Python 3.
Configurazione degli indici
La modalità Datastore utilizza gli indici per ogni query eseguita dall'applicazione. Gli indici vengono aggiornati ogni volta che un'entità cambia, quindi i risultati possono essere restituiti rapidamente quando l'app esegue una query.
La modalità Datastore crea automaticamente indici di proprietà singola da utilizzare con
tipi di query semplici. Per le query complesse che includono più proprietà,
devi configurare gli indici composti nel file index.yaml
dell'app.
Il server di sviluppo di App Engine aggiornerà il file index.yaml
con gli indici composti necessari per eseguire i test. Analogamente, l'emulatore di modalità Datastore può generare indici quando esegui i test.
Puoi anche aggiungere gli indici al file index.yaml
dell'app manualmente se non esegui test locali o se i test non includono query complesse.
Impostazione delle autorizzazioni per i database
Per impostazione predefinita, l'app dispone di tutte le autorizzazioni necessarie per leggere e scrivere nella modalità Datastore e nei database Firestore nel tuo progetto Google Cloud.
Per gestire queste autorizzazioni, ogni app App Engine utilizza un account di servizio predefinito che concede accesso completo in lettura e scrittura alla modalità Datastore e ai database Firestore nello stesso progetto dell'app. Puoi modificare le autorizzazioni dell'account di servizio predefinito, ma la tua app potrebbe perdere l'accesso a meno che non assegni un ruolo IAM con le autorizzazioni richieste.
Per informazioni su come consentire ad altri utenti, app o progetti di accedere a un database, consulta Accesso al database.
Prezzi, quote e limiti
La modalità Datastore offre una quota gratuita con limiti giornalieri. Gli account a pagamento offrono spazio di archiviazione illimitato, operazioni di lettura e scrittura. Ulteriori informazioni sono disponibili nella pagina Quote di Datastore.