Cuando creas una base de datos de Firestore nueva, puedes configurar la instancia de base de datos para que se ejecute en modo Datastore, que hace que la base de datos sea retrocompatible con Datastore. En esta página encontrarás ayuda para comprender la diferencia entre los dos modos de bases de datos de Firestore: modo nativo y modo Datastore.
Firestore en modo nativo
Firestore es la próxima versión importante de Datastore y el desarrollo de la marca del producto. Firestore es una base de datos NoSQL de documentos que toma lo mejor de Datastore y Firebase Realtime Database, para brindar ajuste de escala automático y alto rendimiento, y facilitar el desarrollo de las aplicaciones.
Estas son algunas de las características nuevas de Firestore:
- Una nueva capa de almacenamiento de coherencia sólida
- Un modelo de recopilación y datos de documentos
- Actualizaciones en tiempo real
- Bibliotecas cliente para dispositivos móviles y la Web
Firestore es compatible con versiones anteriores de Datastore, pero el nuevo modelo de datos, las actualizaciones en tiempo real y las características de bibliotecas cliente para dispositivos móviles y web no lo son. Para acceder a todas las nuevas características de Firestore, debes usar Firestore en modo nativo.
Firestore en modo Datastore
Firestore en modo Datastore usa el comportamiento de sistema de Datastore, pero accede a la capa de almacenamiento de Firestore, lo que quita las siguientes limitaciones de Datastore:
- Coherencia eventual: Todas las consultas de Datastore cuentan con coherencia sólida.
- Las consultas en las transacciones ya no deben ser consultas principales.
- Las transacciones ya no están limitadas a 25 grupos de entidades.
- Las operaciones de escritura en un grupo de entidad ya no están limitadas a 1 por segundo.
El modo Datastore inhabilita las características de Firestore que no son compatibles con Datastore:
- El proyecto aceptará las solicitudes a la API de Datastore y rechazará las solicitudes a la API de Firestore.
- El proyecto usará los índices de Datastore en lugar de los índices de Firestore.
- Puedes usar las bibliotecas cliente de Datastore con este proyecto, pero no las de Firestore.
- Las capacidades en tiempo real de Firestore no estarán disponibles.
- En Cloud Console, la base de datos usará el visualizador de Datastore.
Actualización automática al modo Datastore
Las bases de datos existentes de Datastore se actualizarán de manera automática a Firestore en modo Datastore. Los nuevos proyectos que requieren una base de datos de Datastore deberían usar Firestore en modo Datastore.
Precios y ubicaciones
Las bases de datos en modo nativo y modo Datastore utilizan la misma estructura de precios y están disponibles en las mismas ubicaciones. Los precios y las ubicaciones se describen en detalle en las siguientes páginas:
Firestore en modo nativo
Firestore en modo Datastore
Elige un modo de base de datos
Cuando creas una base de datos de Firestore nueva, debes seleccionar un modo de base de datos. No puedes usar el modo nativo y el modo Datastore en el mismo proyecto. Cuando elijas un modo de base de datos, te recomendamos lo siguiente:
Usa Firestore en modo Datastore para proyectos nuevos de servidor.
Firestore en modo Datastore te permite usar las arquitecturas de servidor establecidas de Datastore sin las limitaciones fundamentales de Datastore. El modo Datastore puede escalar de forma automática a millones de escrituras por segundo.
Usa Firestore en modo nativo para aplicaciones web y móviles nuevas.
Firestore ofrece bibliotecas cliente para dispositivos móviles y la Web con características en tiempo real y sin conexión. El modo nativo puede escalar de forma automática a millones de clientes simultáneos.
Comparación de características
En la siguiente tabla se compara el comportamiento del sistema de los modos de la base de datos:
Firestore modo nativo |
Firestore modo Datastore |
|
---|---|---|
Modelo de datos | Base de datos de documentos organizadas en documentos y colecciones | Entidades organizadas en categorías y grupos de entidad |
Capa de almacenamiento | Nueva capa de almacenamiento con coherencia sólida permanente | Nueva capa de almacenamiento con coherencia sólida permanente. |
Consultas y transacciones |
|
|
Compatibilidad con la API de Datastore v1 | No, se rechazan las solicitudes | Sí |
Compatibilidad con la API de Firestore v1 | Sí | No, se rechazan las solicitudes. |
Actualizaciones en tiempo real |
Mientras detecta un documento o conjunto de documentos, a tus clientes se les notifica sobre cualquier cambio en los datos y se les envía el nuevo conjunto de datos. |
No compatible |
Persistencia de datos sin conexión | Las bibliotecas cliente para dispositivos móviles y web son compatibles con la persistencia de datos sin conexión. | No compatible |
Bibliotecas cliente | Bibliotecas cliente de Firestore:
|
Bibliotecas cliente de Datastore:
|
Seguridad |
|
IAM administra el acceso a la base de datos |
Rendimiento | Escala automáticamente a millones de clientes simultáneos. Tiene una cantidad máxima de escrituras por segundo de 10,000. | Escala automáticamente a millones de escrituras por segundo. |
ANS | ANS de Firestore. | ANS de Firestore. |
Ubicaciones |
|
|
Precios | Misma estructura de precios | |
Consola | Visualizador de Firebase console y Cloud Console Firestore | Visualizador de Cloud Console Datastore |
Espacios de nombres | No compatible | Compatible con espacios de nombres |
Integración con la biblioteca cliente de App Engine | No compatible con los entornos de ejecución de Python 2.7 y PHP 5.5 del entorno estándar de App Engine Compatible con los entornos de ejecución de Python 3.7, PHP 7.2, Java 8, Go, y Node.js del entorno de App Engine Standard Compatible con todos los entornos de ejecución del entorno de App Engine Flexible |
Compatible con todos los entornos de ejecución |