Usa Cloud Firestore en modo Datastore

Firestore es una base de datos de documentos NoSQL creada a fin de proporcionar ajuste de escala automático, alto rendimiento y facilidad para el desarrollo de aplicaciones. Es la versión más reciente de Datastore y presenta varias mejoras con respecto a Datastore.

Debido a que Firestore en modo Datastore está optimizado para los casos de uso del servidor y para App Engine, recomendamos usar Firestore en modo Datastore para las bases de datos que las apps de App Engine usarán en gran medida. Firestore en modo nativo es más útil para casos de uso de notificaciones móviles y en tiempo real. Para obtener más información sobre los modos de Firestore, consulta Elige entre el modo nativo y el modo Datastore.

Usa el modo Datastore con App Engine

Para usar el modo Datastore con App Engine, haz lo siguiente:

  1. Si aún no lo hiciste, crea una base de datos y elige Firestore en modo Datastore.

    Puedes usar las bases de datos de Datastore existentes con las apps de App Engine. Estas bases de datos existentes se actualizarán de forma automática a Firestore en modo Datastore.

  2. Las nuevas apps de Python 3 deben usar la biblioteca cliente del modo Datastore para interactuar con ese modo:

    1. En la app, agrega google-cloud-datastore al archivo requirements.txt de la app para declarar Datastore como una dependencia. Obtén más información sobre cómo especificar dependencias.

    2. Usa la biblioteca cliente de Google Cloud para leer y escribir entidades y consultar datos.

Si planeas actualizar tu app de Python 2 a Python 3, tienes algunas opciones:

  • Si tu app de Python 2 usa App Engine NDB para interactuar con Datastore, te recomendamos migrar a Cloud NDB, en lugar de la biblioteca cliente del modo Datastore, puesto que la primera, proporciona una experiencia del usuario mucho más similar.

  • También puedes optar por transferir tu app de Python 2 que usa App Engine NDB a Python 3 primero y, luego, migrar a Cloud NDB. Si deseas obtener información sobre cómo acceder a App Engine NDB en Python 3, consulta la página Accede a los servicios en paquetes de App Engine para Python 3.

Si deseas obtener recursos adicionales, además de un ejemplo de migración de una app de webapp de Python 2 mediante App Engine NDB a una app de Flask de Python 3 equivalente con App Engine NDB habilitada, consulta los servicios en paquetes de Python 3.

Configura índices

El modo Datastore usa índices para cada consulta que realiza la aplicación. Los índices se actualizan siempre que se modifica una entidad, de modo que se puedan mostrar resultados con rapidez cuando la app realiza una consulta.

El modo Datastore crea de forma automática índices de una sola propiedad para usarlos con tipos de consultas simples. Para consultas complejas que incluyen varias propiedades, deberás configurar índices compuestos en el archivo index.yaml de la app.

El servidor de desarrollo de App Engine actualizará el archivo index.yaml con los índices compuestos que se necesitan para ejecutar las pruebas. De forma similar, el emulador del modo Datastore puede generar índices cuando ejecutas pruebas.

También puedes agregar los índices al archivo index.yaml de la app de forma manual si no ejecutas pruebas locales o si tus pruebas no incluyen consultas complejas.

Configura permisos de bases de datos

De forma predeterminada, la app tiene todos los permisos necesarios para leer y escribir en las bases de datos de Firestore y el modo Datastore en tu proyecto de Google Cloud.

Para administrar estos permisos, cada app de App Engine usa una cuenta de servicio predeterminada que otorga acceso completo de lectura y escritura al modo Datastore y a las bases de datos de Firestore en el mismo proyecto que la app. Puedes cambiar los permisos de la cuenta de servicio predeterminada, pero es posible que la app pierda acceso, a menos que asignes una función de IAM con los permisos necesarios.

Si deseas obtener información sobre cómo permitir que otros usuarios, aplicaciones o proyectos accedan a una base de datos, consulta Accede a tu base de datos.

Usa el emulador del modo Datastore para realizar pruebas locales

Google Cloud CLI incluye un emulador local del entorno de producción para el modo Datastore. Puedes usar el emulador para desarrollar y probar tus aplicaciones de forma local. Además, el emulador puede ayudarte a generar índices para las instancias de producción de modo Datastore y a borrar los que no necesites.

Si usas el servidor de desarrollo local de App Engine para probar la app, puedes asegurarte de que el servidor usará el emulador del modo Datastore mediante la configuración de la marca --support_datastore_emulator=true cuando se inicie 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 pagadas ofrecen almacenamiento y operaciones de lectura y escritura ilimitados. Para obtener más información, consulta la página Cuotas de Datastore.