Utilice esta guía para comprender los límites de Cloud Firestore y consulte Precios de Cloud Firestore para obtener una explicación completa y detallada de los costos de Cloud Firestore, incluidos los aspectos a tener en cuenta.
Controle su uso
Para monitorear su uso de Cloud Firestore, abra la pestaña Uso de Cloud Firestore en Firebase console. Utilice el panel para medir su uso en diferentes períodos de tiempo.
Uso detallado en la consola de Google Cloud
Cuando creas un proyecto de Firebase, también estás creando un proyecto de Google Cloud. Las páginas Cuotas de API de Cloud Firestore y Cuotas de App Engine en la consola de Google Cloud rastrean el uso de Cloud Firestore y la información de cuotas.
Cuota libre
Cloud Firestore ofrece una cuota gratuita que le permite comenzar con su base de datos (default)
sin costo alguno. Los montos de las cuotas gratuitas se enumeran a continuación. Si necesitas más cuota, debes habilitar la facturación para tu proyecto de Google Cloud .
Las cuotas se aplican diariamente y se restablecen alrededor de la medianoche, hora del Pacífico.
Sólo la base de datos (default)
califica para la cuota gratuita.
Nivel gratuito | Cuota |
---|---|
Datos almacenados | 1 GB |
Lecturas de documentos | 50.000 por día |
El documento escribe | 20.000 por día |
Eliminaciones de documentos | 20.000 por día |
Transferencia de datos salientes | 10 GiB por mes |
Las siguientes operaciones y funciones no incluyen el uso gratuito. Debe habilitar la facturación para utilizar estas funciones:
- Uso de bases de datos con nombre (no predeterminadas)
- Eliminaciones TTL
- datos PITR
- Los datos de copia de seguridad
- Restaurar operaciones
Para obtener más información sobre cómo se facturan estas funciones, consulte Precios de almacenamiento .
Límites estándar
Las siguientes tablas muestran los límites que se aplican a Cloud Firestore. Estos son límites estrictos a menos que se indique lo contrario.
Bases de datos
Límite | Detalles |
---|---|
Número máximo de bases de datos por proyecto | 100 Puede ponerse en contacto con el soporte para solicitar un aumento a este límite. |
Colecciones, documentos y campos.
Límite | Detalles |
---|---|
Restricciones en los ID de colección |
|
Profundidad máxima de subcolecciones | 100 |
Restricciones en los ID de documentos |
|
Tamaño máximo para un nombre de documento | 6 KiB |
Tamaño máximo para un documento | 1 MB (1.048.576 bytes) |
Restricciones en los nombres de los campos | Deben ser caracteres UTF-8 válidos. |
Tamaño máximo de un nombre de campo | 1.500 bytes |
Restricciones en los caminos de campo |
` ). Por ejemplo, foo.`x&y` se refiere al campo x&y anidado debajo del campo foo . Para construir un nombre de campo con el carácter de comilla invertida, escape el carácter de comilla invertida con el carácter de barra invertida ( \ ). Para mayor comodidad, puede evitar los nombres de campos entre comillas pasando la ruta del campo como un objeto FieldPath ( por ejemplo, consulte JavaScript FieldPath ). |
Tamaño máximo de una ruta de campo | 1.500 bytes |
Tamaño máximo de un valor de campo | 1 MiB - 89 bytes (1.048.487 bytes) |
Profundidad máxima de campos en un mapa o matriz | 20 |
Escrituras y transacciones
Además de estos límites, también debería consultar las mejores prácticas para diseñar a escala .
Límite | Detalles |
---|---|
Tamaño máximo de solicitud de API | 10 MB |
Límite de tiempo para una transacción | 270 segundos, con un tiempo de vencimiento inactivo de 60 segundos |
Índices
Los siguientes límites se aplican a los índices de un solo campo y a los índices compuestos :
Límite | Detalles |
---|---|
Número máximo de índices compuestos para una base de datos |
|
Número máximo de configuraciones de un solo campo para una base de datos |
Una configuración a nivel de campo puede contener múltiples configuraciones para el mismo campo. Por ejemplo, una exención de indexación de un solo campo y una política TTL en el mismo campo cuentan como una configuración de campo para el límite. |
Número máximo de entradas de índice para cada documento | 40.000 El número de entradas de índice es la suma de lo siguiente para un documento:
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 . |
Número máximo de campos en un índice compuesto | 100 |
Tamaño máximo de una entrada de índice | 7,5 KiB Para ver cómo Cloud Firestore calcula el tamaño de la entrada del índice, consulta Tamaño de la entrada del índice . |
Suma máxima de los tamaños de las entradas de índice de un documento | 8 MB El tamaño total es la suma de lo siguiente para un documento: |
Tamaño máximo de un valor de campo indexado | 1500 bytes Los valores de campo de más de 1500 bytes se truncan. Las consultas que involucran valores de campo truncados pueden arrojar resultados inconsistentes. |
Tiempo de vida (TTL)
Límite | Detalles |
---|---|
Número máximo de configuraciones de un solo campo para una base de datos |
Una configuración a nivel de campo puede contener múltiples configuraciones para el mismo campo. Por ejemplo, una exención de indexación de un solo campo y una política TTL en el mismo campo cuentan como una configuración de campo para el límite. |
Exportar importar
Los siguientes límites se aplican a las operaciones de importación y exportación gestionadas :
Límite | Detalles |
---|---|
Número total máximo de solicitudes de exportación e importación para un proyecto permitidas por minuto | 20 |
Número máximo de exportaciones e importaciones simultáneas | 50 |
Número máximo de filtros de ID de colección para solicitudes de exportación e importación | 100 |
Reglas de seguridad
Límite | Detalles |
---|---|
Número máximo de llamadas exists() , get() y getAfter() por solicitud |
Exceder cualquiera de los límites da como resultado un error de permiso denegado. Algunas llamadas de acceso a documentos pueden almacenarse en caché y las llamadas en caché no cuentan para los límites. |
Profundidad máxima de declaración match anidada | 10 |
Longitud máxima de ruta, en segmentos de ruta, permitida dentro de un conjunto de declaraciones match anidadas | 100 |
Número máximo de variables de captura de ruta permitidas dentro de un conjunto de declaraciones match anidadas | 20 |
Profundidad máxima de llamada de función | 20 |
Número máximo de argumentos de función | 7 |
Número máximo de enlaces de variables let por función | 10 |
Número máximo de llamadas a funciones recursivas o cíclicas | 0 (no permitido) |
Número máximo de expresiones evaluadas por solicitud | 1.000 |
Tamaño máximo de un conjunto de reglas | Los conjuntos de reglas deben obedecer dos límites de tamaño:
|
Gestionar el gasto
Para ayudar a evitar cargos inesperados en su factura, establezca alertas y presupuestos mensuales.
Establecer un presupuesto mensual
Para realizar un seguimiento de los costos de Cloud Firestore, cree un presupuesto mensual en la consola de Google Cloud. Los presupuestos no limitarán su uso, pero puede configurar alertas para que le notifiquen cuando se acerque o supere sus costos planificados para el mes.
Para establecer un presupuesto, vaya a la sección Facturación en la consola de Google Cloud y cree un presupuesto para su cuenta de Facturación de Cloud. Puede utilizar la configuración de alerta predeterminada o modificar las alertas para enviar notificaciones en diferentes porcentajes de su presupuesto mensual.
Obtenga más información sobre cómo configurar presupuestos y alertas de presupuesto .