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 usar tu base de datos de (default) sin coste. 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 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.

No se te cobra nada por crear o eliminar las bases de datos con nombre, pero dichas bases no cumplen los requisitos de la cuota gratuita. En su lugar, que se cobra por el uso que se hace 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. Eres 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 costes de las operaciones de lectura tienen algo de y 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ído por una consulta, excepto en lo siguiente:

  • Por las consultas de búsqueda por vectores cercanas a K, se te cobrará una. operación de lectura para cada lote de hasta 100 entradas de índice vectorial kNN leído por la consulta.

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

    // 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 tengan hasta un campo de intervalo no se cobran por las entradas de índice leer.

    Por ejemplo, la siguiente consulta contiene un campo de igualdad (age) y uno campo de intervalo (start_date) y no se te cobrará por las entradas de índice que se lean:

    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 es se cobran las lecturas de entradas del í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 consulta siguiente contiene dos campos de intervalo (age y start_date), y se cobran las lecturas de entradas de índice:

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

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

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

Consultas de agregación

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

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

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

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 SDK para móviles y web 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), cobrado por las entradas de documentos e índices, como si se hubiera emitido un consulta.

  • Si la persistencia sin conexión está inhabilitada, se te cobrará por los documentos y se leen como si se hubiera emitido una consulta nueva cada vez que el procesador se desconecta y se vuelve 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. A lo largo de un mes, para calcular el tamaño de almacenamiento de la base de datos, se hace un promedio de estos puntos de muestra. 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 PITR. datos. Para la mayoría de los clientes, el coste total del almacenamiento de datos de PiTR es de es similar al coste de almacenamiento de la base de datos.

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

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

Facturación mínima: es posible que se te cobre hasta 1 día del coste de almacenamiento de PITR, aunque inhabilitar PITR un día después de la habilitació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 espacio de almacenamiento de una copia de seguridad es igual al espacio de almacenamiento de la base de datos cuando hiciste la copia de seguridad.

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

Cuando realizas una operación de restauración, Firestore mide los de la copia de seguridad para la operación de restauración. El tamaño de la copia de seguridad es de multiplicado 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 ejecuta ninguna operación de lectura de índice realizar. 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 puede indexar y leer se realizan operaciones, por lo que se te cobrará por la consulta como de costumbre. No hay cargo adicional por la actividad de explicación y análisis, solo el cargo habitual para la consulta que se va a ejecutar.

Ancho de banda de 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.

Para saber qué cantidad de red ancho de banda utilizado, puedes usar la consola de Google Cloud para exportar tus datos de facturación a un archivo.

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 aprender a monitorizar tu uso de Firestore, consulta Monitorizar el 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 definir 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

Solicita 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