Precios de Firestore

En este documento se detallan los precios de Firestore.

Si pagas en una moneda que no sea el dólar estadounidense, se aplicarán los precios que figuran para tu divisa en los SKU de Cloud Platform.

Resumen de precios

Cuando utilizas Firestore, se te cobra por lo siguiente:

  • El número de documentos que has leído, escrito y eliminado.
  • Número de entradas de índice leídas para satisfacer una consulta. Más información sobre las lecturas de índice
  • La cantidad de almacenamiento que utiliza tu base de datos, incluida la carga de metadatos e índices.
  • La cantidad de ancho de banda de red que usas.

El uso del almacenamiento y del ancho de banda se calcula en gibibytes (GiB), donde 1 GiB = 230 bytes. Todos los cargos se acumulan diariamente.

En las siguientes secciones se ofrecen detalles sobre cómo se te cobra por el uso de Firestore.

Cuota gratuita

Firestore ofrece cuotas gratuitas que te permiten empezar a utilizar tu base de datos de (default) sin coste alguno. Abajo se enumeran las cantidades de las cuotas gratuitas. Si necesitas una cuota mayor, debes habilitar la facturación de tu proyecto de Google Cloud.

Las cuotas se aplican por día y se reinician aproximadamente a las 00:00 (UTC-7 o UTC-8 según la época del año).

Solo la base de datos (default) cumple los requisitos de la cuota gratuita.

Nivel gratuito Cuota
Datos almacenados 1 GiB
Operaciones de lectura de documentos 50.000 al día
Operaciones de escritura de documentos 20.000 al día
Operaciones de eliminación de documentos 20.000 al día
Transferencia de datos salientes 10 GiB al mes

Las siguientes operaciones y funciones no incluyen el uso gratuito. Debes habilitar la facturación para usar estas funciones:

  • Uso de bases de datos con nombre (no predeterminadas)
  • Eliminaciones de TTL
  • Datos PITR
  • Crear copia de seguridad de los datos
  • Operaciones de restauración

Para obtener más información sobre cómo se facturan estas funciones, consulta la sección Precio del almacenamiento.

Precio por ubicación

En la siguiente tabla se indican los precios del almacenamiento y de las operaciones de lectura, escritura y eliminación correspondientes a cada ubicación de Firestore:

Si pagas en una moneda que no sea el dólar estadounidense, se aplicarán los precios que figuran para tu divisa en los SKU de Cloud Platform.

No hay cuota gratuita para las bases de datos con nombre

Para crear una base de datos con nombre (no predeterminada), debes habilitar la facturación.

Crear o eliminar las bases de datos no supone ningún coste adicional, pero dichas bases no cumplen los requisitos de la cuota gratuita. En su lugar, se te cobrará por el uso que se haga de esas bases de datos.

Operaciones de lectura, escritura y eliminación

Se te cobra por las entradas de documentos e índices que se leen para satisfacer una consulta. Se te cobrará por cada escritura y eliminación de documentos que realices.

Los costes de las operaciones de escritura y eliminación son bastante claros; en el caso de las del primer tipo, cada operación set o update cuenta como una única escritura.

Los cargos por las operaciones de lectura tienen algunos matices que debes tener en cuenta. y que se explican en profundidad en las secciones que aparecen más adelante.

Lecturas de entrada del índice

Se te cobrará una operación de lectura por cada lote de hasta 1000 entradas de índice leídas por una consulta, excepto en los siguientes casos:

  • En el caso de las consultas de búsqueda vectorial cercanas K-cercanos, se te cobrará una operación de lectura por cada lote de hasta 100 kNN entradas del índice de vectores leídas por la consulta.

    Por ejemplo, si la siguiente consulta de búsqueda vectorial con limit: 5 devuelve 5 documentos y lee 1550 kNN entradas de índice vectoriales, se te facturarán 5 operaciones de lectura para los documentos devueltos y 16 operaciones de lectura para las entradas del índice:

    // Requires single-field vector index
    const vectorQuery: VectorQuery = db.collection('cities').findNearest('embedding_field', FieldValue.vector([3.0, 1.0, 2.0]), {
      limit: 5,
      distanceMeasure: 'EUCLIDEAN'
    });
    
  • Las consultas que tienen hasta un campo de intervalo no se cobran por las entradas de índice.

    Por ejemplo, la siguiente consulta contiene un campo de igualdad (age) y un campo de intervalo (start_date), y no se cobra por la lectura de entradas de índice:

    db.collection("employees").whereEqualTo("age", 35)
                              .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))
    

    La siguiente consulta contiene dos campos de intervalo (age y start_date) y se cobra por lecturas de entradas de índice:

    db.collection("employees").whereGreaterThanOrEqualTo("age", 35)
                              .whereGreaterThanOrEqualTo("start_date", new Date(2020, 1, 1))
    

    Un campo que aparece en el orden por cláusula se considera un campo de intervalo cuando hay al menos otro campo de intervalo en la consulta. Por lo tanto, la siguiente consulta contiene dos campos de intervalo (age y start_date) y se cobra por las lecturas de entradas del índice:

    db.collection("employees").whereGreaterThanOrEqualTo("age", 35)
                              .orderBy("start_date")
    

    El campo __name__ siempre se considera un campo de intervalo, aunque solo se use en un filtro de igualdad. Por lo tanto, la siguiente consulta contiene dos campos de intervalo (age y __name__) y se cobra por lecturas de entradas de índice:

    db.collection("employees").whereIn("__name__", Arrays.asList("/employees/Alice", "/employees/Bob"))
                              .orderBy("age")
    

Consultas de agregación

En el caso de las consultas de agregación, como count(), sum() y avg(), se te cobrará por las entradas de índice leídas por la consulta, tal como se describe arriba. En el caso de las consultas de agregación que leen 0 entradas de índice, hay un cargo mínimo de una lectura de documento.

Por ejemplo, las operaciones count() que leen entre 0 y 1000 entradas de índice se facturan por una lectura de documento. Por una operación count() que lee 1500 entradas de índice, se te facturan 2 lecturas de documentos.

Para obtener más información sobre los índices utilizados y la lectura de las entradas de índice, utiliza Explicación de las consultas.

Procesar los resultados de las consultas

Firestore te permite procesar los resultados de las consultas y recibir actualizaciones en tiempo real cuando cambian.

Si lo haces, se te cobrará una operación de lectura cada vez que se añada o actualice un documento del conjunto de resultados en cuestión. Si un documento cambia y se retira del conjunto, también se considerará como una lectura; sin embargo, no se te cobrará ninguna operación de lectura si se elimina.

La facturación de los procesadores en los SDKs web y móviles también depende de si la persistencia sin conexión está habilitada o no:

  • Si la persistencia sin conexión está habilitada y el procesador está desconectado durante más de 30 minutos (por ejemplo, si el usuario se queda sin conexión), se te cobrarán los documentos y las entradas de índice que se lean como si hubieras emitido una nueva consulta.

  • Si la persistencia sin conexión está inhabilitada, se te cobrará por los documentos y las entradas de índice que se hayan leído como si hubieras emitido una nueva consulta cada vez que el procesador se desconecte y se vuelva a conectar.

Gestionar conjuntos de resultados de gran volumen

Firestore dispone de varias funciones para ayudarte a gestionar las consultas que devuelven una cantidad considerable de resultados:

  • Cursores, que te permiten reanudar consultas de larga duración.
  • Tokens de página, que te ayudan a paginar los resultados de las consultas.
  • Límites, que puedes utilizar para especificar el número de resultados que quieres extraer.
  • Desplazamientos, que te sirven para saltar un número fijo de documentos.

No te cobraremos nada por utilizar los cursores, tokens de página y límites. De hecho, estas funciones incluso pueden ayudarte a ahorrar dinero, ya que sirven para leer únicamente los documentos que necesitas.

Sin embargo, si envías una consulta que incluye un desplazamiento, se te cobrará una operación de lectura por cada documento que se salte. Por ejemplo, si tu consulta usa un desplazamiento con el valor 10 y devuelve 1 documento, se te cobrarán 11 operaciones de lectura. Como se aplica este coste adicional, te recomendamos que utilices los cursores en lugar de los desplazamientos siempre que sea posible.

Consultas que no implican operaciones de lectura de documentos

En el caso de las consultas en las que no se leen documentos (como las solicitudes para ver listas de IDs de colecciones), se te cobrará una única operación de lectura de documento. Si se necesita más de una solicitud para obtener el conjunto completo de resultados (por ejemplo, si usas la paginación), se te facturará por cada una de esas solicitudes.

Coste mínimo de las consultas

Hay un cargo mínimo de una lectura de documento por cada consulta realizada, incluso si no se obtienen resultados.

Reglas de seguridad de Firestore

Si las reglas de seguridad de Firestore de tus bibliotecas de cliente web y móviles usan exists(), get() o getAfter() para leer uno o más documentos de tu base de datos, se te cobrará de la siguiente manera por esas otras operaciones de lectura:

  • Se te facturarán las lecturas que sean necesarias para evaluar tus reglas de seguridad de Firestore.

    Por ejemplo, si tus reglas hacen referencia a tres documentos, pero Firestore solo necesita leer dos de ellos para evaluar las reglas, se te cobrarán dos operaciones de lectura adicionales por esos documentos.

    Solo tendrás que pagar una operación de lectura por cada documento que sea necesario, aunque tus reglas hagan referencia varias veces a un mismo documento.

  • El coste de la evaluación de las reglas solo se cobra una vez por solicitud.

    Por tanto, como para leer varios documentos se necesitan menos solicitudes, es posible que el coste sea menor que si realizaras operaciones de lectura de todos individualmente.

  • Cuando realizas operaciones de procesamiento de los resultados de consultas, se te facturará la evaluación de las reglas en todos los casos que se indican a continuación:

    • Cada vez que emitas una consulta
    • Cada vez que se actualicen los resultados de las consultas
    • Cada vez que el dispositivo de un usuario se desconecte y se vuelva a conectar
    • Cada vez que actualices las reglas
    • Cada vez que actualices los documentos que las reglas necesitan

Tamaño de almacenamiento de base de datos

Se te cobra por la cantidad de datos que almacenas en Firestore, lo que incluye la carga de almacenamiento. La cantidad de carga abarca los metadatos, los índices automáticos y los índices compuestos.

Todos los documentos almacenados en Firestore requieren los siguientes metadatos:

  • El ID del documento, incluido el ID de la colección y el nombre del documento.
  • El nombre y el valor de cada campo. Dado que Firestore no utiliza esquemas, es necesario almacenar el nombre de cada campo de un documento junto con el valor del campo.
  • Cualquier índice de campo único o compuesto que haga referencia al documento. Cada entrada de los índices contiene el ID de la colección, una cantidad de valores de campos según la definición del índice y el nombre del documento.

Los costes de almacenamiento se expresan en GiB al mes y se calculan diariamente. Firestore mide el tamaño de la base de datos a diario. Durante el periodo de un mes, se hace un promedio de estos puntos de muestra para calcular el tamaño de almacenamiento de la base de datos. Este valor medio se multiplica por el precio por unidad de almacenamiento (GiB al mes)

Descubre cómo se calcula el tamaño del almacenamiento de Firestore.

Datos PITR

Si habilitas PITR, se te cobrará por el almacenamiento de datos de PITR. Para la mayoría de los clientes, el coste total del almacenamiento de datos de PiTR es similar al coste de almacenamiento de la base de datos.

Los costes de almacenamiento de PITR se indican en GiB al mes y se calculan diariamente. Firestore mide el tamaño de la base de datos a diario. Durante el periodo de un mes, se hace un promedio de estos puntos de muestra para calcular el tamaño de almacenamiento de la base de datos. Este valor medio se multiplica por el precio por unidad de PITR (GiB al mes).

Por ejemplo, si el tamaño medio de la base de datos durante un mes es de 1 GiB y PITR está habilitado para todo el mes, el tamaño de los datos de PITR facturable también será de 1 GiB.

Facturación mínima: es posible que se te cobre el coste de almacenamiento de PITR hasta 1 día, aunque inhabilites PITR un día después de haber habilitado la función.

Operaciones de copia de seguridad de datos y restauración

Si habilitas las copias de seguridad, se te cobrará por el almacenamiento de las copias de seguridad de tu base de datos. El tamaño de almacenamiento de una copia de seguridad es igual al tamaño de almacenamiento de la base de datos en el que la hiciste.

Los costes de almacenamiento de las copias de seguridad se indican en GiB al mes. Durante el periodo de un mes, también se calcula el número de días durante los que se retiene cada copia de seguridad, calculado a lo largo del mes. El coste de cada copia de seguridad se calcula multiplicando el tamaño de almacenamiento de la copia de seguridad por la proporción del mes durante el que se conserva una copia de seguridad, multiplicada por el precio por unidad.

Cuando se realiza una operación de restauración, Firestore mide el tamaño de la copia de seguridad para dicha operación. El tamaño de la copia de seguridad se multiplica por el precio por unidad de las operaciones de restauración (GiB).

Explicación de la consulta

El uso de Descripción de la consulta de Firestore conlleva costes.

Cuando se explica una consulta con la opción predeterminada, no se realiza ninguna operación de lectura de índice. Independientemente de la complejidad de la consulta, solo se te cobrará una operación de lectura.

Cuando se explica una consulta con la opción de analizar, se realizan operaciones de índice y lectura, por lo que se te cobra por la consulta como de costumbre. No se aplica ningún cargo adicional por la actividad de explicar y analizar; solo se aplica el cargo habitual de la consulta que se ejecuta.

Ancho de banda de la red

Se te cobra por el ancho de banda de red que utilizan tus solicitudes de Firestore, tal y como se explica en las secciones que aparecen más adelante. El coste del ancho de banda de red de una solicitud de Firestore depende del tamaño de sus respuestas, de la ubicación de tu base de datos de este servicio y del destino de las respuestas.

Firestore calcula el tamaño de las respuestas según un formato de mensaje serializado. El coste general del protocolo, como el gasto por usar SSL, no se tiene en cuenta a la hora de calcular el uso del ancho de banda de red. Las solicitudes que rechazan tus reglas de seguridad de Firestore tampoco se incluyen en el uso del ancho de banda de red.

Si quieres saber cuánto ancho de banda de red has usado, puedes exportar tus datos de facturación a un archivo en la consola de Google Cloud.

Precios generales de red

Las solicitudes procedentes de Google Cloud Platform (por ejemplo, de una aplicación de Google Compute Engine) se cobran de la siguiente manera:

Tipo de tráfico Precio
Transferencia de datos entrante Gratis
Transferencia de datos dentro de una región Gratis
Transferencia de datos entre regiones de una misma ubicación multirregional Gratis
Transferencia de datos entre regiones de EE. UU. (por GiB) 0,01 USD (los primeros 10 GiB de cada mes son gratis)
Transferencia de datos entre regiones que no sean de EE. UU. Velocidades de transferencia de datos de Internet saliente de Google Cloud Platform

Si pagas en una moneda que no sea el dólar estadounidense, se aplicarán los precios que figuran para tu divisa en los SKU de Cloud Platform.

Velocidades de transferencia de datos de Internet

Se te cobrará por la transferencia de datos de Internet por lo siguiente:

  • Solicitudes de Google Cloud entre regiones que no sean de Estados Unidos
  • Solicitudes que no proceden de Google Cloud (por ejemplo, desde el dispositivo móvil de un usuario)

Si pagas en una moneda que no sea el dólar estadounidense, se aplicarán los precios que figuran para tu divisa en los SKU de Cloud Platform.

Monitorizar el uso

Para obtener más información sobre cómo monitorizar tu uso de Firestore, consulta la sección Monitorización del uso.

Gestionar los gastos

Para gestionar los gastos, configura presupuestos y alertas mensuales.

Presupuestos y alertas de Google Cloud

Google Cloud te permite fijar un presupuesto mensual para todos sus servicios. Gracias a ello, te resultará más sencillo controlar tus gastos generales de Google Cloud, como el coste del ancho de banda de red de Firestore. Una vez que hayas especificado un presupuesto, podrás definir alertas para recibir notificaciones por correo electrónico cuando los costes se acerquen al límite indicado.

Sigue estas instrucciones para fijar un presupuesto mensual y crear alertas en la consola de Google Cloud.

Ejemplo de precios

Para comprobar cómo se acumularían los costes de facturación de Firestore en una aplicación de muestra real, consulta el ejemplo de facturación de Firestore.

Siguientes pasos

Solicitar un presupuesto personalizado

Gracias al modelo de pago por uso de Google Cloud, solo pagas por los servicios que usas. Ponte en contacto con nuestro equipo de Ventas para solicitar un presupuesto personalizado para tu empresa.
Contactar con Ventas