Cuotas y límites
En esta página se identifican los límites y las cuotas de las solicitudes de Firestore.
Cuota gratuita
Firestore ofrece cuotas gratuitas que te permiten dar tus primeros pasos sin coste alguno. Si necesitas una cuota mayor, deberás habilitar la facturación de tu Google Cloud proyecto.
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).
En la siguiente tabla se resumen las cantidades de las cuotas gratuitas:
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 uso gratuito. Para usar estas funciones, debes habilitar la facturación:
- Eliminaciones de TTL
- Datos de PITR
- Crear una copia de seguridad de los datos
- Operaciones de restauración
- Operaciones de clonación
Para obtener más información sobre cómo se facturan estas funciones, consulta los precios de almacenamiento.
Límites estándar
En las siguientes tablas se muestran los límites que se aplican a 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 Puedes ponerte en contacto con el equipo de Asistencia para solicitar que se aumente este límite. |
Número máximo de bases de datos con claves de encriptado gestionadas por el cliente (CMEK) por proyecto |
0 De forma predeterminada, la cuota es 0 porque esta función está detrás de una lista de permitidos. Puede solicitar un aumento de la cuota rellenando el formulario de solicitud de acceso a CMEK. |
Colecciones, documentos y campos
Límite | Detalles |
---|---|
Restricciones en los ID de las colecciones |
|
Profundidad máxima de las subcolecciones | 100 |
Restricciones en los ID de los documentos |
|
Tamaño máximo del nombre de documento | 6 KiB |
Tamaño máximo de documento | 1 MiB (1.048.576 bytes) |
Restricciones en los nombres de campo |
|
Tamaño máximo del nombre de campo | 1500 bytes |
Restricciones en las rutas del campo |
` ). Por ejemplo, foo.`x&y` hace referencia al campo x&y anidado en el campo foo . Para crear un nombre de campo con el carácter de acento grave, usa el carácter de barra invertida (\ ). Para mayor comodidad, puedes evitar los nombres de campo entre comillas transfiriendo la ruta de campo como un objeto FieldPath (por ejemplo, consulta FieldPath de JavaScript).
|
Tamaño máximo de una ruta de campo | 1500 bytes |
Tamaño máximo de un valor de campo | 1 MiB - 89 bytes (1.048.487 bytes) |
Profundidad máxima de los campos en un mapa o matriz | 20 Los campos de mapa y de matriz añaden 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 debe consultar las prácticas recomendadas para diseñar a gran escala.
Límite | Detalles |
---|---|
Tamaño máximo de solicitud a la API | 10 MiB |
Límite de tiempo para una transacción | 270 segundos, con un tiempo de caducidad por inactividad de 60 segundos |
Número máximo de transformaciones de campo que se pueden realizar en un solo documento con una operación Commit o en una transacción |
500 |
Índices
Los siguientes límites se aplican a índices de campo único e índices compuestos:
En esta página se identifican los límites y las cuotas de las solicitudes de Firestore.
Límite | Detalles |
---|---|
Número máximo de índices compuestos en una base de datos |
|
Número máximo de configuraciones de campo único en una base de datos |
Una configuración de nivel de campo puede contener varias configuraciones para el mismo campo. Por ejemplo, una exención de indexación de un solo campo y una política de TTL en el mismo campo cuentan como una configuración de campo para alcanzar el límite. |
Número máximo de entradas de índices para cada documento |
40.000 El número de entradas de índices es la suma de los siguientes elementos en un documento:
Para ver cómo convierte Firestore un documento y un conjunto de índices en entradas de índice, consulta este número de entradas de índice de ejemplo. |
Número máximo de campos en un índice compuesto | 100 |
Tamaño máximo de una entrada de índice |
7,5 KiB Para comprobar cómo se calcula el tamaño de entrada de índice en Firestore, consulta la sección sobre el tamaño de entrada de índice. |
Suma máxima de los tamaños de las entradas de índice de un documento |
8 MiB El tamaño total es la suma de los siguientes elementos en un documento: |
Tamaño máximo del valor de un campo indexado |
1500 bytes Si el valor del campo supera los 1500 bytes, aparece cortado, y las consultas relacionadas con valores de campo cortados pueden devolver resultados incoherentes |
Tiempo de vida (TTL)
Límite | Detalles |
---|---|
Número máximo de configuraciones de campo único en una base de datos |
Una configuración de nivel de campo puede contener varias configuraciones para el mismo campo. Por ejemplo, una exención de indexación de un solo campo y una política de TTL en el mismo campo cuentan como una configuración de campo para alcanzar el límite. |
Exportación e importación
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 por minuto que se permite en un proyecto | 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 |
Si se supera cualquiera de los límites, se obtiene un error de permiso denegado. Algunas llamadas de acceso al documento pueden permanecer en caché, pero las llamadas en caché no se tienen en cuenta para los límites. |
Número máximo de niveles de anidamiento de declaraciones match |
10 |
Longitud máxima de ruta (en segmentos de ruta) permitida en un conjunto de declaraciones match anidadas |
100 |
Número máximo de variables de captura de ruta permitido en un conjunto de declaraciones match anidadas |
20 |
Profundidad máxima de la llamada de funciones | 20 |
Número máximo de argumentos de función | 7 |
Número máximo de vinculaciones de variable let por función |
10 |
Número máximo de llamadas de funciones cíclicas o periódicas | 0 (no permitidas) |
Número máximo de expresiones evaluadas por solicitud | 1000 |
Tamaño máximo de un conjunto de reglas | Hay dos límites de tamaño para los conjuntos de reglas:
|
Monitorizar el uso
Puedes consultar tu uso de Firestore en las páginas Cuotas de la API de Cloud Firestore y Cuotas de App Engine.