Precios de Firestore

En este documento se explican en detalle los precios de Firestore.

Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en los SKU de Cloud Platform.

Descripción general de los precios

Cuando usas Firestore, se te cobra por lo siguiente:

  • La cantidad de documentos que lees, escribes y borras.
  • La cantidad de entradas de índice leídas para satisfacer una consulta. Consulta más detalles sobre las lecturas de índices.
  • La cantidad de almacenamiento que usa tu base de datos, incluida la sobrecarga de funcionamiento de metadatos y de índices.
  • La cantidad de ancho de banda de red que usas.

El uso de almacenamiento y de ancho de banda se calcula en gigabytes (GiB), con la equivalencia de 1 GiB =  230 bytes. Todos los cargos se aplican por día.

Las siguientes secciones muestran detalles sobre los cargos por el uso de Firestore.

Cuota gratuita

Firestore ofrece una cuota gratuita que te permite comenzar a usar tu base de datos de (default) sin costo. Las cantidades de la cuota gratuita se muestran a continuación. Si necesitas aumentar la cuota, debes habilitar la facturación para tu proyecto de Google Cloud.

Las cuotas se aplican cada día y se restablecen a la medianoche, hora del Pacífico.

Solo la base de datos de (default) califica para la cuota gratuita.

Nivel gratuito Cuota
Datos almacenados 1 GiB
Operaciones de lectura de documentos 50,000 por día
Operaciones de escritura de documentos 20,000 por día
Operaciones de eliminación de documentos 20,000 por día
Transferencia de datos saliente 10 GiB por 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 de PITR
  • Crear copias de seguridad de los datos
  • Operaciones de restablecimiento

Para obtener más información sobre cómo se facturan estas funciones, consulta Precios de almacenamiento.

Precios por ubicación

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

Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en Cloud Platform SKUs.

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 aplican costos adicionales por crear o borrar las bases de datos con nombre, pero esas bases de datos no califican para la cuota gratuita. En cambio, se te cobrará por el uso incurrido en esas bases de datos nombradas.

Operaciones de lectura, escritura y eliminación

Se te cobra por las entradas de índice y los documentos que se leen para satisfacer una consulta. Se te cobra por cada operación de escritura y eliminación de documento que ejecutes.

Los cargos por operaciones de lectura y eliminación son directos. En el caso de las de escritura, cada operación set o update cuenta como una sola.

Los cargos por operaciones de lectura tienen algunos matices que debes tener en cuenta. En las siguientes secciones, se explican estos matices en detalle.

Lecturas de entradas de índice

Se te cobra una operación de lectura por cada lote de hasta 1,000 entradas de índice que se leen por una consulta, excepto en lo siguiente:

  • Para las consultas de búsqueda de vector de vecino más cercano, se te cobra una de operación de lectura para cada lote de hasta 100 entradas de índice vectorial kNN que lee la consulta.

    Por ejemplo, si la siguiente búsqueda vectorial con limit: 5 devuelve 5 documentos y lee 1,550 entradas de índice vectorial de kNN, se te facturan 5 operaciones de lectura por los documentos mostrados y 16 operaciones de lectura para las entradas de í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'
    });
    
  • No se cobran las lecturas de las entradas de índice a las consultas que tienen hasta un campo de rango.

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

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

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

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

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

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

    El campo __name__ siempre se considera un campo de rango, incluso si solo usa un filtro de igualdad. Por lo tanto, la siguiente consulta contiene dos campos de rangos (age y __name__) y se cobra por las lecturas de entradas de índice:

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

Consultas de agregación

Para las consultas de agregación como count(), sum() y avg(), se te cobra por las entradas de índice que lee la consulta como se describió anteriormente. Para las consultas de agregación que se lean 0 entradas de índice, hay un cargo mínimo de una lectura de documento.

Por ejemplo, las operaciones count() que coinciden entre 0 y 1,000 entradas de índice se facturan por una lectura de documento. Para una operación count() que coincida con 1,500 entradas de índice, se te facturan 2 lecturas de documento.

Para obtener más información sobre los índices usados y las entradas de índice leídas, usa Explicación de las consultas.

Escucha los resultados de consulta

Firestore te permite escuchar los resultados de una consulta y obtener actualizaciones en tiempo real cuando estos resultados cambian.

Cuando escuchas para recibir los resultados de una consulta, se te cobra por una operación de lectura cada vez que se agrega o se actualiza un documento del conjunto de resultados. También se te cobra por una operación de lectura cuando un documento se quita del conjunto de resultados debido a que el documento cambió (por el contrario, no se te cobra por una operación de lectura cuando se borra un documento).

La facturación de los objetos de escucha en los SDK web y para dispositivos 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 objeto de escucha se desconecta durante más de 30 minutos (por ejemplo, si el usuario se encuentra sin conexión), se te cobrará por documentos y entradas de índice que se leen como si hubieses emitido una consulta nueva.

  • Si se inhabilita la persistencia sin conexión, se te cobrarán los documentos y las entradas de índice leídas como si hubieses enviado una consulta totalmente nueva cada vez que el objeto de escucha se desconecta y se reconecta.

Administrar conjuntos de datos de gran tamaño

Firestore tiene varias características para ayudarte a administrar consultas que muestran una gran cantidad de resultados:

  • Cursores, que te permiten reanudar una consulta que se ejecuta por mucho tiempo
  • Tokens de página, que te permiten paginar los resultados de la consulta
  • Límites, que especifican cuántos resultados se recuperarán
  • Desfases, que te permiten omitir una cantidad fija de documentos

No existen costos adicionales por usar cursores, tokens de página ni límites. De hecho, estas características pueden ayudarte a ahorrar dinero, puesto que solo se leen los documentos que realmente necesitas.

Sin embargo, cuando envías una consulta que incluye un desfase, se te cobra una operación de lectura por cada documento omitido. Por ejemplo, si tu consulta usa un desfase de 10 y muestra 1 documento como resultado, se te cobra por 11 operaciones de lectura. Debido a este costo adicional, debes usar cursores en lugar de desfases siempre que puedas.

Consultas distintas de las operaciones de lectura de documentos

En el caso de consultas distintas de las operaciones de lectura de documentos, como una solicitud de una lista de ID de colección, se te cobra por una operación de lectura de documento. Si necesitas más de una solicitud para recuperar el conjunto completo de resultados (por ejemplo, si usas la paginación), se te cobrará una vez por cada solicitud.

Cargo mínimo por consulta

Existe un cargo mínimo de una lectura de documento por cada consulta que ejecutas, incluso si no muestra resultados.

Reglas de seguridad de Firestore

En el caso de las bibliotecas cliente web y para dispositivos móviles, si tus reglas de seguridad de Firestore usan exists(), get() o getAfter() para leer uno o más documentos de tu base de datos, se te cobra por las operaciones de lectura adicionales, como se indica a continuación:

  • Se te cobra por las operaciones que son necesarias para evaluar tus reglas de seguridad de Firestore.

    Por ejemplo, si tus reglas hacen referencia a tres documentos, pero Firestore solo tiene que leer dos de esos documentos para evaluar tus reglas, se te cobrará por dos operaciones de lectura adicionales por los documentos dependientes.

    Solo se te cobra una operación de lectura por documento dependiente, incluso si tus reglas hacen referencia a ese documento más de una vez.

  • Se te cobra por la evaluación de reglas solo una vez por solicitud.

    Como resultado de esto, puede ser más económico leer varios documentos que leerlos uno a la vez, ya que para leer varios documentos se necesitan menos solicitudes.

  • Cuando escuchas los resultados de una consulta, se te cobra por la evaluación de reglas en todos los casos siguientes:

    • Cuando emites la consulta
    • Cada vez que se actualizan los resultados de la consulta
    • Cada vez que el dispositivo del usuario se encuentra sin conexión y vuelve a estar en línea
    • Cada vez que actualizas las reglas
    • Cada vez que actualizas los documentos dependientes en tus reglas

Tamaño de almacenamiento de la base de datos

Se te cobra por la cantidad de datos que almacenas en Firestore, incluidos los gastos generales de almacenamiento. La cantidad de sobrecarga incluye índices automáticos y compuestos, además de metadatos.

Cada documento almacenado en Firestore requiere los siguientes metadatos:

  • El ID de documento, incluidos el ID de colección y el nombre del documento
  • El nombre y valor de cada campo. Dado que Firestore no tiene esquema, el nombre de cada campo en un documento se debe almacenar con el valor del campo
  • Todos los índices compuestos y de un solo campo que hagan referencia al documento. Cada entrada de índice contiene el ID de colección; una cantidad de valores de campo, según la definición del índice; y el nombre del documento.

Los costos de almacenamiento se muestran en GiB/mes y se calculan a diario. Firestore mide el tamaño de la base de datos a diario. En un período de un mes, se promedian estos puntos de muestra para calcular el tamaño de almacenamiento de la base de datos. Este valor promedio se multiplica por el precio unitario del almacenamiento (GiB al mes).

Obtén información sobre cómo se calcula el almacenamiento de Firestore en Cálculos del tamaño de almacenamiento.

Datos de PITR

Si habilitas la PITR, se te cobra por el almacenamiento de datos de la PITR. La mayoría de los clientes descubrirán que el costo general del almacenamiento de datos de PITR es similar al costo de almacenamiento de la base de datos.

Los costos de almacenamiento de PITR se expresan en GiB/mes y se calculan a diario. Firestore mide el tamaño de la base de datos a diario. En un período de un mes, se promedian estos puntos de muestra para calcular el tamaño de almacenamiento de la base de datos. Este valor promedio se multiplica por el precio unitario de la PITR (GiB al mes).

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

Facturación mínima: Es posible que se te cobre hasta 1 día de costo de almacenamiento de la PITR, incluso si la inhabilitas en el plazo de un día después de la habilitación.

Operaciones de restablecimiento y copia de seguridad de datos

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 cuando realizaste la copia.

Los costos de almacenamiento de las copias de seguridad se expresan en GiB/mes. En el período de un mes, también se calcula la cantidad de días de retención de cada copia de seguridad, que se promedia a lo largo del mes. El costo de cada copia de seguridad se calcula con el tamaño de almacenamiento de la copia de seguridad multiplicado por la proporción del mes en que se retiene la copia de seguridad, multiplicada por el precio unitario.

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

Explicación de consultas

El uso de la Explicación de consultas de Firestore genera costos.

Cuando se explica una consulta con la opción predeterminada, no se realizan operaciones de lectura de índices. Sin importar la complejidad de la consulta, se cobra una operación de lectura.

Cuando se explica una consulta con la opción de analizar, se realizan las operaciones de índice y lectura, por lo que se te cobra por la consulta como de costumbre. No hay un cargo adicional por la actividad de explicar y analizar, solo el cargo habitual para la consulta que se está ejecutando.

Ancho de banda de red

Se te cobra por el ancho de banda de red que usan tus solicitudes de Firestore, como se muestra en las siguientes secciones. El costo del ancho de banda de red de una solicitud de Firestore depende de la ubicación de la base de datos de Firestore y del tamaño y el destino de la respuesta.

Firestore calcula el tamaño de la respuesta en función de un mensaje serializado. Los gastos operativos de protocolo, como los de SSL, no se suman al uso del ancho de banda de red. Las solicitudes rechazadas por tus reglas de seguridad de Firestore no cuentan para el uso del ancho de banda de red.

Para saber cuánta red ancho de banda que usaste, puedes usar la consola de Google Cloud para exportar tus datos de facturación a un archivo.

Precios generales de red

En el caso de las solicitudes que se originan dentro de Google Cloud Platform (por ejemplo, desde una aplicación que se ejecuta en Google Compute Engine), se te cobra de la siguiente forma:

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 la misma multirregión Gratis
Transferencia de datos entre regiones dentro de EE.UU. (por GiB) $0.01 (los primeros 10 GiB por mes son gratuitos)
Transferencia de datos entre regiones, sin incluir el tráfico entre regiones de EE.UU. Tarifas de transferencia de datos salientes por Internet de Google Cloud Platform

Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en Cloud Platform SKUs.

Velocidades de transferencia de datos de Internet

Se te cobrarán los siguientes cargos por la transferencia de datos de Internet:

  • Solicitudes de Google Cloud entre regiones, sin incluir el tráfico entre las regiones de EE.UU.
  • Solicitudes desde fuera de Google Cloud (por ejemplo, desde el dispositivo móvil de un usuario)

Si pagas en una moneda distinta del dólar estadounidense, se aplican los precios que aparecen en tu moneda en Cloud Platform SKUs.

Supervisa el uso

Para aprender a supervisar el uso de Firestore, consulta Supervisa el uso.

Administra los gastos

Para administrar tus gastos, establece presupuestos mensuales y alertas.

Presupuestos y alertas de Google Cloud

Google Cloud te permite configurar un presupuesto mensual para todos sus servicios. Úsalo a fin de supervisar tus costos generales en Google Cloud, incluidos los de ancho de banda de red para Firestore. Luego de establecerlo, puedes configurar alertas a fin de recibir notificaciones por correo electrónico a medida que el costo se acerca al presupuesto.

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

Ejemplo de precios

Para ver cómo se acumulan los costos de facturación de Firestore en una app real de muestra, consulta el ejemplo de facturación de Firestore.

¿Qué sigue?

Solicita una cotización personalizada

Con los precios de pago por uso de Google Cloud, solo pagas por los servicios que usas. Comunícate con nuestro equipo de Ventas y obtén una cotización personalizada para tu organización.
Comunicarse con Ventas