Usa esta guía para comprender los límites de Cloud Firestore y consulta Precios de Cloud Firestore si quieres obtener una explicación completa y detallada de los costos de Cloud Firestore, incluidos otros costos que hay que tener en cuenta.
Supervisa el uso
Para supervisar el uso de Cloud Firestore, abre la pestaña Uso de Cloud Firestore en la consola de Firebase. Usa el panel para regular el uso en diferentes períodos de tiempo.
Uso detallado en la consola de Google Cloud
Cuando creas un proyecto de Firebase, también creas un proyecto de Google Cloud. Las páginas Cuotas de la API de Cloud Firestore y Cuotas de App Engine de la consola de Google Cloud hacen un seguimiento de la información del uso y las cuotas de Cloud Firestore.
Cuota gratuita
Cloud Firestore ofrece cuotas gratuitas que te permiten 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.
Límites estándar
En las siguientes tablas, se muestran los límites que se aplican a Cloud Firestore. Son estrictos, a menos que se indique lo contrario.
Bases de datos
Límite | Detalles |
---|---|
Cantidad máxima de bases de datos por proyecto |
100 Puedes comunicarte con el equipo de asistencia para solicitar un aumento de este límite. |
Colecciones, documentos y campos
Límite | Detalles |
---|---|
Restricciones del ID de colección |
|
Profundidad máxima de subcolecciones | 100 |
Restricciones del ID de documento |
|
Tamaño máximo del nombre de un documento | 6 KiB |
Tamaño máximo de un documento | 1 MiB (1,048,576 bytes) |
Restricciones del nombre de un campo |
|
Tamaño máximo del nombre de un campo | 1,500 bytes |
Restricciones de la ruta de un campo |
` ). Por ejemplo, foo.`x&y` se refiere al campo x&y anidado en el campo foo . Para crear un nombre de campo con el carácter de acento grave, utiliza el carácter de barra inversa (\ ). Para mayor comodidad, puedes evitar los nombres de campo entrecomillados pasando la ruta del campo como un objeto FieldPath (por ejemplo, consulta JavaScript FieldPath).
|
Tamaño máximo de la ruta de un campo | 1,500 bytes |
Tamaño máximo del valor de un campo | 1 MiB - 89 bytes (1,048,487 bytes) |
Profundidad máxima de los campos en un mapa o arreglo | 20 Los campos de mapa y array agregan un nivel a la profundidad general de un objeto. Por ejemplo, el siguiente objeto tiene una profundidad total de tres niveles:
|
Escrituras y transacciones
Además de estos límites, también deberías consultar las prácticas recomendadas con el fin de diseñar para el escalamiento.
Límite | Detalles |
---|---|
Tamaño máximo de la solicitud a la API | 10 MiB |
Límite de tiempo de una transacción | 270 segundos, con un tiempo de vencimiento por inactividad de 60 segundos |
Cantidad máxima de transformaciones de campo que se pueden realizar en un único documento en una operación Commit o en una transacción |
500 |
Índices
Los siguientes límites se aplican a los índices de un único campo y a los compuestos:
Límite | Detalles |
---|---|
Cantidad máxima de índices compuestos que se permiten para una base de datos |
|
Cantidad máxima de parámetros de configuración de campo único para una base de datos |
Una configuración a nivel de campo puede contener varios parámetros de configuración para el mismo campo. Por ejemplo, una exención de la indexación de campo único y una política de TTL en el mismo campo se registran como un solo parámetro de configuración para el límite. |
Cantidad máxima de entradas de índice permitidas en cada documento |
40,000 La cantidad de entradas de índice en cada documento es la suma de los siguientes elementos:
Para ver cómo Cloud Firestore convierte un documento y un conjunto de índices en entradas de índice, consulta este ejemplo de recuento de entradas de índice. |
Cantidad máxima de campos en un índice compuesto | 100 |
Tamaño máximo de una entrada de índice |
7.5 KiB Para saber cómo Cloud Firestore calcula el tamaño de las entradas en el índice, consulta Tamaño de una entrada del índice. |
Suma máxima de los tamaños de las entradas en un índice de un documento |
8 MiB El tamaño total corresponde a la suma de los siguientes elementos de un documento: |
Tamaño máximo del valor de un campo indexado |
1,500 bytes Se reducirán los valores de campo que superen los 1,500 bytes. Es posible que las consultas que tengan valores de campo reducidos muestren resultados incoherentes. |
Tiempo de actividad (TTL)
Límite | Detalles |
---|---|
Cantidad máxima de parámetros de configuración de campo único para una base de datos |
Una configuración a nivel de campo puede contener varios parámetros de configuración para el mismo campo. Por ejemplo, una exención de la indexación de campo único y una política de TTL en el mismo campo se registran como un solo parámetro de configuración para el límite. |
Operaciones de importación y exportación
Se aplican los siguientes límites a las operaciones administradas de importación y exportación:
Límite | Detalles |
---|---|
Cantidad máxima de solicitudes de importación y exportación que se permiten por minuto en un proyecto | 20 |
Cantidad máxima de importaciones y exportaciones simultáneas | 50 |
Cantidad máxima de filtros de ID de colecciones para solicitudes de importación y exportación | 100 |
Reglas de seguridad
Límite | Detalles |
---|---|
Cantidad máxima de llamadas exists() , get() y getAfter() por solicitud |
Si se excede alguno de esos límites, se obtiene un error de permiso denegado. Algunas llamadas de acceso a documentos se pueden almacenar en caché, y estas llamadas no cuentan para los límites. |
Profundidad máxima de las declaraciones match anidadas |
10 |
Longitud máxima de la ruta de acceso, en segmentos de ruta, permitida en un conjunto de declaraciones match anidadas: |
100 |
Cantidad máxima de variables de captura de rutas de acceso permitida en un conjunto de instrucciones match anidadas |
20 |
Profundidad máxima de las llamadas a funciones | 20 |
Cantidad máxima de argumentos de funciones | 7 |
Cantidad máxima de vinculaciones a variables let por función |
10 |
Cantidad máxima de llamadas recurrentes o cíclicas a una función | 0 (no permitidas) |
Cantidad máxima de expresiones evaluadas por solicitud | 1,000 |
Tamaño máximo de un conjunto de reglas | Los conjuntos de reglas deben cumplir con dos límites de tamaño:
|
Administra los gastos
Para evitar cargos inesperados en tu factura, configura presupuestos mensuales y alertas.
Configura un presupuesto mensual
Para realizar un seguimiento de tus costos de Cloud Firestore, crea un presupuesto mensual en la consola de Google Cloud. Los presupuestos no limitarán tu uso, pero puedes establecer alertas a fin de recibir notificaciones cuando te acerques a los costos planificados para el mes o cuando los excedas.
Para configurar un presupuesto, ve a la sección Facturación en la consola de Google Cloud y crea un presupuesto para la cuenta de Cloud Billing. Puedes usar la configuración de alertas predeterminada o modificar las alertas para que envíen notificaciones cuando se alcancen diferentes porcentajes del presupuesto mensual.
Obtén más información para configurar presupuestos y alertas de presupuesto.