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
ystart_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
ystart_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?
- Lee la documentación de Firestore.
- Comienza a usar Firestore.
- Prueba la calculadora de precios.
- Obtén información sobre las soluciones y los casos de uso de Firestore.