Elige entre Cloud Firestore y Cloud Datastore

Cloud Firestore es la siguiente versión importante de Cloud Datastore y representa una renovación de marca de este producto. Cloud Firestore es una base de datos NoSQL de documentos que toma lo mejor de Cloud Datastore y Firebase Realtime Database para brindar ajuste de escala automático y alto rendimiento, y facilitar el desarrollo de las aplicaciones. En esta página, se compara Cloud Firestore con Cloud Datastore y se ofrece orientación para elegir uno de ellos.

Estas son algunas de las características nuevas de Cloud 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

Aunque Cloud Firestore es compatible con versiones anteriores de Cloud Datastore, 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. Cloud Firestore te dará la opción de crear una instancia de base de datos en modo Datastore.

Cloud Firestore en modo Datastore

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

  • Coherencia eventual: Todas las consultas de Cloud Datastore se vuelven muy coherentes.
  • 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 Cloud Firestore que no son compatibles con Cloud Datastore:

  • El proyecto aceptará las solicitudes a la API de Cloud Datastore y rechazará las solicitudes a la API de Cloud Firestore.
  • El proyecto usará los índices de Cloud Datastore en lugar de los índices de Cloud Firestore.
  • Puedes usar las bibliotecas cliente de Cloud Datastore con este proyecto, pero no las bibliotecas cliente de Cloud Firestore.
  • Las capacidades en tiempo real de Cloud Firestore no estarán disponibles.
  • En GCP Console, la base de datos usará el lector de Cloud Datastore.

Actualización automática a Cloud Firestore en modo Datastore

Cuando Cloud Firestore esté disponible para el publico general, actualizaremos gradualmente las bases de datos existentes de Cloud Datastore a Cloud Firestore en el modo Datastore.

Elige una base de datos

Cuando crees una instancia nueva de Cloud Datastore, tendrás la opción de crear una base de datos de Cloud Datastore o una de Cloud Firestore. Además, una base de datos de Cloud Firestore puede ejecutarse en modo nativo o en modo Datastore. Esto te da acceso a estas tres opciones:

Cloud Datastore
Crea una base de datos de Cloud Datastore con las características y limitaciones existentes.
Cloud Firestore en modo Datastore
Permite que tu proyecto acceda a la capa de almacenamiento mejorada de Cloud Firestore manteniendo el comportamiento de sistema de Cloud Datastore.
Cloud Firestore en modo nativo
Te permite acceder a todas las características de Cloud Firestore, lo que incluye actualizaciones en tiempo real y bibliotecas cliente para dispositivos móviles y web.

¿Qué base de datos es adecuada para tu proyecto?

  • Si tu aplicación requiere un Acuerdo de Nivel de Servicio (ANS), elige Cloud Datastore.

    Cloud Datastore es un producto maduro respaldado por un ANS. Cloud Firestore en modo nativo y Cloud Firestore en modo Datastore no están respaldados por un ANS durante la etapa Beta.

  • Si no tienes inconvenientes en usar un producto en etapa Beta, usa Cloud Firestore en modo Datastore para los proyectos de servidor nuevos.

    Cloud Firestore en modo Datastore te permite usar las arquitecturas de servidor establecidas de Cloud Datastore sin las limitaciones fundamentales de Cloud Datastore.

  • Usa Cloud Firestore en modo nativo con las apps nuevas para dispositivos móviles y la Web si no tienes inconveniente en utilizar un producto en etapa Beta.

    Cloud Firestore ofrece bibliotecas cliente para dispositivos móviles y la Web con características en tiempo real y sin conexión.

Comparación de características

La siguiente tabla compara el comportamiento de sistema de las tres opciones de base de datos:

Cloud Datastore Cloud Firestore
Modo Datastore
Cloud Firestore
Modo nativo
Modelo de datos Entidades organizadas en categorías y grupos de entidad. Entidades organizadas en categorías y grupos de entidad. Base de datos de documentos organizadas en documentos y colecciones.
Capa de almacenamiento La capa de almacenamiento solo tiene coherencia sólida en ciertos casos; en los demás, tiene coherencia eventual. Nueva capa de almacenamiento con coherencia sólida permanente. Nueva capa de almacenamiento con coherencia sólida permanente.
Consultas y transacciones
  • Cloud Datastore solo tiene coherencia sólida dentro de los grupos de entidad y coherencia eventual de un grupo de entidad a otro.
  • Las consultas con coherencia eventual a veces muestran resultados obsoletos.
  • Las transacciones se limitan a 25 grupos de entidad.
  • Quita las limitaciones de coherencia de Cloud Datastore
  • Consultas con coherencia sólida en toda la base de datos
  • Las transacciones pueden acceder a cualquier cantidad de grupos de entidad
  • 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: no hay consultas de grupo de colección ni consultas de proyección.
Compatible con la API de v1 de Cloud Datastore No, se rechazan las solicitudes
Compatible con la API de v1beta1 de Cloud Firestore No, se rechazan las solicitudes No, se rechazan las solicitudes
Actualizaciones en tiempo real No compatible No compatible

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

Nota: No disponible en las bibliotecas cliente de servidor de Go, PHP, Python o Ruby.

Persistencia de datos sin conexión No compatible No compatible Las bibliotecas cliente para dispositivos móviles y web son compatibles con la persistencia de datos sin conexión.
Bibliotecas cliente Bibliotecas cliente de Cloud Datastore:
  • Java
  • Python
  • PHP
  • Go
  • Ruby
  • C#
  • Node.js
Bibliotecas cliente de Cloud Datastore:
  • Java
  • Python
  • PHP
  • Go
  • Ruby
  • C#
  • Node.js
Bibliotecas cliente de Cloud Firestore:
  • Java
  • Python
  • PHP
  • Go
  • Ruby
  • C#
  • Node.js
  • Android
  • iOS
  • En la Web
Seguridad Cloud Identity and Access Management (IAM) administra el acceso a la base de datos Cloud Identity and Access Management (IAM) administra el acceso a la base de datos
  • Cloud Identity and Access Management (IAM) administra el acceso a la base de datos
  • Cloud Firestore Security Rules es compatible con la autenticación sin servidores y la autorización para las bibliotecas cliente para dispositivos móviles y la Web
Rendimiento Característica madura que puede escalar a millones de operaciones de escritura Todavía no está completamente optimizado; puede presentar una latencia más alta durante la etapa Beta. Todavía no está completamente optimizado; puede presentar una latencia más alta durante la etapa Beta.
ANS ANS de Cloud Datastore Sin ANS durante la etapa Beta. Obtén una vista previa del ANS de Cloud Firestore. Sin ANS durante la etapa Beta. Obtén una vista previa del ANS de Cloud Firestore.
Ubicaciones
  • EE.UU. (multirregional)
  • UE (multirregional)
  • Montreal
  • Los Ángeles
  • Carolina del Sur
  • Virginia del Norte
  • São Paulo
  • Londres
  • Fráncfort
  • Tokio
  • Bombay
  • Sídney
  • EE.UU. (multirregional)
  • Carolina del Sur
  • Fráncfort
  • EE.UU. (multirregional)
  • Carolina del Sur
  • Fráncfort
Precios Cloud Firestore (en cualquier modo) y Cloud Datastore tienen la misma estructura de precios
Consola Lector de Datastore de GCP Console Lector de Datastore de GCP Console Firebase Console
Espacios de nombres Compatible con espacios de nombres Compatible con espacios de nombres No compatible
Integración con la biblioteca cliente de App Engine Compatible con todos los entornos de ejecución Compatible con todos los entornos de ejecución

No compatible con los entornos de ejecución de Python 2.7 y PHP 5.5 del entorno de App Engine Standard

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

¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Cloud Datastore