Modo nativo: Cuotas y límites

En esta página, se describen las cuotas de solicitudes y los límites de la edición Enterprise para Cloud Firestore en modo nativo.

Uso del nivel gratuito

Cloud Firestore en modo nativo ofrece un nivel gratuito que te permite comenzar a usar el producto sin costo. Las cantidades del nivel gratuito se indican en la siguiente tabla.

Los importes del nivel gratuito se aplican a diario y se restablecen a la medianoche, hora del Pacífico.

Este nivel se aplica a solo una base de datos de Cloud Firestore por proyecto. La primera base de datos que se cree en un proyecto sin una base de datos de nivel gratuito obtendrá el nivel gratuito. Si se borra la base de datos con el nivel gratuito aplicado, la próxima base de datos que se cree recibirá el nivel gratuito.

Nivel gratuito Quota
Datos almacenados 1 GiB
Unidades de lectura 50,000 por día
Unidades de actualización en tiempo real 50,000 por día
Unidades de escritura 40,000 por día
Transferencia de datos saliente 10 GiB por mes

Límites estándar

En las siguientes tablas, se muestran los límites que se aplican a Cloud Firestore en modo nativo. 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.

Cantidad máxima de bases de datos con claves de encriptación administradas por el cliente (CMEK) por proyecto

0

De forma predeterminada, la cuota es 0 porque esta función se encuentra detrás de una lista de entidades permitidas. Para solicitar un aumento de la cuota, completa el formulario de solicitud de acceso a la CMEK.

Colecciones, documentos y campos

Límite Detalles
Restricciones del ID de colección
  • Debe estar compuesto por caracteres UTF-8 válidos.
  • No puede superar los 1,500 bytes.
  • No puede contener una barra diagonal (/).
  • No puede componerse solo de un punto (.) ni de puntos dobles (..).
  • No puede coincidir con la expresión regular __.*__.
Profundidad máxima de subcolecciones 100
Restricciones del ID de documento
  • Debe estar compuesto por caracteres UTF-8 válidos.
  • No puede superar los 1,500 bytes.
  • No puede contener una barra diagonal (/).
  • No puede componerse solo de un punto (.) ni de puntos dobles (..).
  • No puede coincidir con la expresión regular __.*__.
  • Si importas entidades de Datastore a una base de datos de Firestore, los ID numéricos de las entidades se exponen como __id[0-9]+__.
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
  • Debe estar compuesto por caracteres UTF-8 válidos.
  • No puede coincidir con la expresión regular __.*__.
Tamaño máximo del nombre de un campo 1,500 bytes
Restricciones de la ruta de un campo
  • Se deben separar los nombres de los campos con un solo punto (.).
  • Se puede pasar como una string delimitada por puntos (.) de segmentos en la que cada uno es un nombre de campo simple o un nombre de campo entre comillas (definido a continuación).
Un campo de nombre simple es uno en el que todas estas afirmaciones son verdaderas:
  • Solo contiene los caracteres a-z, A-Z, 0-9 y guion bajo (_).
  • No comienza con 0-9.
El nombre de un campo entre comillas comienza y termina con el carácter de acento grave (`). 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:


{
  nested_map: {         #depth 1
    nested_array: [     #depth 2
      {
        foo: "bar"      #depth 3
      }
    ]
  }
}
      

Escrituras y transacciones

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

Límite Detalles
Cantidad máxima de índices compuestos que se permiten para una base de datos

Cantidad máxima de entradas de índice permitidas en cada documento

40,000

Cantidad máxima de campos en un índice 100
Tamaño máximo de una entrada de índice

7.5 KiB

Suma máxima de los tamaños de las entradas en un índice de un documento

8 MiB

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
  • El límite es de 10 para las solicitudes de un solo documento o las solicitudes de consulta.
  • El límite es de 20 para las lecturas de varios documentos, transacciones y escrituras en lotes. El límite anterior de 10 también se aplica a cada operación.

    Por ejemplo, imagina que creas una solicitud de escritura en lotes con 3 operaciones de escritura y que tus reglas de seguridad usan 2 llamadas de acceso a documentos para validar cada escritura. En este caso, cada escritura utiliza 2 de sus 10 llamadas de acceso, y la solicitud de escritura en lotes utiliza 6 de sus 20 llamadas de acceso.

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:
  • 256 KB en el tamaño del texto origen del conjunto de reglas publicado desde la consola de Firebase o la CLI con firebase deploy.
  • 250 KB en el tamaño del conjunto de reglas compilado que se genera cuando Firebase procesa la fuente y la activa en el backend