Firestore es una base de datos de documentos NoSQL creada para el escalado automático, el alto rendimiento y la facilidad de desarrollo de aplicaciones. Es la versión más reciente de Datastore e incluye varias mejoras con respecto a Datastore.
Como Firestore en el modo de Datastore se ha optimizado para casos prácticos de servidores y para App Engine, te recomendamos que uses Firestore en el modo de Datastore en las bases de datos que vayan a usar principalmente las aplicaciones de App Engine. Firestore en el modo nativo es más útil en casos prácticos de notificaciones móviles y en tiempo real. Para obtener más información sobre los modos de Firestore, consulta Elegir entre el modo nativo y el modo Datastore.
Usar el modo Datastore con App Engine
Para usar el modo Datastore con App Engine, haz lo siguiente:
Si aún no lo has hecho, crea una base de datos y elige Firestore en modo Datastore.
Puedes usar bases de datos de Datastore con aplicaciones de App Engine. Estas bases de datos se actualizarán automáticamente a Firestore en modo Datastore.
En tu aplicación, declara Datastore como dependencia mediante el comando
go get cloud.google.com/go/datastore
. También puedes declarar dependencias en el archivogo.mod
de tu aplicación. Más información sobre cómo especificar dependenciasUsa la biblioteca de cliente de Google Cloud para leer y escribir entidades y para consultar datos.
Configurar índices
El modo Datastore usa índices para cada consulta que realiza tu aplicación. Los índices se actualizan cada vez que cambia una entidad, por lo que los resultados se pueden devolver rápidamente cuando la aplicación hace una consulta.
El modo Datastore crea automáticamente índices de una sola propiedad para usarlos con tipos de consultas sencillos. Para las consultas complejas que incluyan varias propiedades, tendrás que configurar índices compuestos en el archivo
index.yaml
de tu aplicación.El servidor de desarrollo de App Engine actualizará el archivo
index.yaml
con los índices compuestos necesarios para ejecutar las pruebas. Del mismo modo, el emulador del modo Datastore puede generar índices cuando ejecutas pruebas.También puedes añadir los índices al archivo
index.yaml
de tu aplicación manualmente si no ejecutas pruebas locales o si tus pruebas no incluyen consultas complejas.Definir permisos de bases de datos
De forma predeterminada, tu aplicación tiene todos los permisos necesarios para leer y escribir en las bases de datos de Firestore y del modo Datastore de tuGoogle Cloud proyecto.
Para gestionar estos permisos, cada aplicación de App Engine usa una cuenta de servicio predeterminada que le da acceso completo de lectura y escritura a las bases de datos de Firestore y del modo Datastore del mismo proyecto que la aplicación. Puedes cambiar los permisos de la cuenta de servicio predeterminada, pero es posible que tu aplicación pierda el acceso a menos que le asignes un rol de gestión de identidades y accesos con los permisos necesarios.
Para obtener información sobre cómo permitir que otros usuarios, aplicaciones o proyectos accedan a una base de datos, consulta Acceder a tu base de datos.
Usar el emulador del modo Datastore para hacer pruebas locales
La CLI de Google Cloud incluye un emulador local del entorno del modo de producción de Datastore. Puedes usar el emulador para desarrollar y probar tu aplicación de forma local. Además, el emulador puede ayudarte a generar índices para tu instancia del modo Datastore de producción y a eliminar los que no necesites.Si usas el servidor de desarrollo local de App Engine para probar tu aplicación, puedes asegurarte de que el servidor use el emulador del modo Datastore configurando la marca
--support_datastore_emulator=true
al iniciar el servidor.Si usas el emulador del modo Datastore, dev_appserver mostrará lo siguiente:
... Using Cloud Datastore Emulator.
Precios, cuotas y límites
El modo Datastore ofrece una cuota gratuita con límites diarios. Las cuentas de pago ofrecen almacenamiento, lectura y escritura ilimitados. Puedes consultar más información en la página Cuotas de Datastore.