Elige entre el modo nativo y el modo Datastore

Cuando creas una base de datos de Firestore nueva, puedes configurar la instancia para que se ejecute en el modo Datastore, que hace que la base de datos sea retrocompatible con Datastore. En esta página podrás comprender la diferencia entre los dos modos de base 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 características nuevas de Firestore, debes usar Firestore en modo nativo.

Firestore en modo Datastore

Firestore en modo Datastore usa el comportamiento del sistema de Datastore, pero accede a la capa de almacenamiento de Firestore, lo que elimina las siguientes limitaciones de Datastore:

  • Coherencia eventual: Todas las consultas de Datastore se vuelven muy coherentes.
  • 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 proyectos nuevos 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 nuevos proyectos 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 automáticamente 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 automáticamente 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
  • Consultas con coherencia sólida en toda la base de datos
  • Hasta 500 documentos por transacción a través de cualquier cantidad de colecciones
  • Limitación: Sin consultas de proyección
  • Quita las limitaciones de coherencia anteriores de Datastore.
  • Consultas con coherencia sólida en toda la base de datos
  • Las transacciones pueden acceder a cualquier cantidad de grupos de entidad
Compatibilidad con la API de Datastore v1 No, se rechazan las solicitudes.
Compatibilidad con la API de Firestore v1 No, se rechazan las solicitudes.
Actualizaciones en tiempo real

Compatible con la capacidad de detectar actualizaciones en tiempo real para un documento o conjunto de documentos

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 conjunto de datos más nuevo.

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:
  • Java
  • Python
  • PHP
  • Go
  • Ruby
  • C#
  • Node.js
  • Android
  • iOS
  • Web
Bibliotecas cliente de Datastore:
  • Java
  • Python
  • PHP
  • Go
  • Ruby
  • C#
  • Node.js
Seguridad
  • Cloud Identity and Access Management (IAM) administra el acceso a la base de datos
  • Las reglas de seguridad de Firestore admiten la autenticación sin servidores y la autorización para las bibliotecas cliente para dispositivos móviles y la Web.
Cloud Identity and Access Management (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
  • EE.UU. (multirregión)
  • Europa (multirregión)
  • Montreal
  • Los Ángeles
  • Carolina del Sur
  • Virginia del Norte
  • São Paulo
  • Londres
  • Fráncfort
  • Tokio
  • Bombay
  • Sídney
  • EE.UU. (multirregión)
  • Europa (multirregión)
  • Montreal
  • Los Ángeles
  • Carolina del Sur
  • Virginia del Norte
  • São Paulo
  • Londres
  • Fráncfort
  • Tokio
  • Bombay
  • Sídney
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 estándar de App Engine

Compatible con todos los entornos de ejecución del entorno de App Engine Flexible

Compatible con todos los entornos de ejecución