Saltar al contenido

Facturación de Firestore por leer un documento con subcolecciones

Te sugerimos que pruebes esta resolución en un ambiente controlado antes de enviarlo a producción, saludos.

Solución:

La respuesta aquí de Torewin es mayormente correcta, pero le falta un detalle importante. Dice:

si recupera un documento; en cualquier lugar, cuenta como una lectura

esto no es del todo true. Las lecturas de documentos en caché no se facturan como lecturas. Esta es una característica importante de los SDK de cliente de Firestore que ayuda a reducir los costos de facturación. Si obtiene un solo documento utilizando la “fuente” predeterminada (las opciones de fuente son “caché”, “servidor” o “predeterminado”), primero se consultará la memoria caché y, si es nueva, obtendrá el documento sin facturación.

lo mismo es true para los resultados de la consulta. Si un documento proviene del caché, no hay facturación por esa lectura. Sin embargo, cada consulta tiene un costo mínimo de lectura de 1 documento.

No estoy seguro de lo que Torewin quiere decir con esto en los comentarios: “Recomiendan que haga varias lecturas en lugar de 1 grande porque ahorrará dinero de esa manera”. Todas las lecturas tienen el mismo “tamaño” en términos de facturación, considerando solo el costo de la lectura en sí. El tamaño del documento solo importa para el costo del uso de salida de Internet, para el cual existe documentación sobre precios.

Vale la pena señalar que los documentos no pueden “contener” otros documentos. Los documentos están contenidos en colecciones o subcolecciones. Esta colección solo tiene un “camino” que describe dónde viven. Una subcolección puede existir sin un documento “principal”. Cuando un documento no existe, pero se organiza una colección debajo de él, el ID del documento se muestra en cursiva en la consola. Cuando elimina un documento mediante la API del cliente, no se elimina ninguna de sus subcolecciones. Se dice que las eliminaciones son “superficiales” a este respecto.

Si te refieres a es 1 lectura para acceder a un Document (en este caso, su ID de usuario generado) de FireStore?

Me imagino que la respuesta sería sí.

Cualquier consulta o lectura de Firestore solo extrae la referencia a la que está mapeando. Por ejemplo, si toma el tercer documento en su Usuario -> ID de usuario -> Tercer documento, solo se devolverá el tercer documento. Ninguno de los otros documentos en esa colección o cualquiera de las colecciones además del ID de usuario.

¿Eso responde a tu pregunta o estás preguntando algo completamente diferente?

Para referencia: https://firebase.google.com/docs/firestore/pricing#operations

Editar: se cobrará cada documento individual que se extraiga de la consulta. Por ejemplo, si extrae la colección principal (con 6 documentos), se le cobrará por los 6 documentos. La idea es tomar solo los documentos que necesita o usar un cursor que le permita reanudar una consulta de larga duración. Por ejemplo, si solo desea que el documento correspondiente use datos en una fecha específica (si sus datos están configurados de esa manera), solo recuperaría ese documento específico y no recuperaría todos los documentos de la colección para los otros días. .

Una forma simple de pensarlo es: si recupera un documento; en cualquier lugar, cuenta como una lectura.

Comentarios y puntuaciones

Puedes añadir valor a nuestro contenido cooperando tu veteranía en las explicaciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *