Revisión de las cargas de trabajo que aprovechan la caché

Completado

Las consultas consumen unidades de solicitud (RU/s) al realizarse. En algunos casos, las consultas pueden ser complejas y tener un alto coste de RU. En escenarios con cargas de trabajo de lectura intensa, es posible darse cuenta de que la aplicación realiza las mismas consultas con filtros idénticos muchas veces. Normalmente, se multiplicaría el coste de RU normalizado de cada consulta por el número de veces que se realizan. Con una carga de trabajo grande con mucha actividad de lectura, se pueden agregar costes de alto nivel rápidamente.

Como desarrollador, puede ser tentador escribir un cliente de caché personalizado en el código, pero debe tener en cuenta varias cosas:

  • En primer lugar, debe enrutar todas las solicitudes a través de la caché personalizada. Sería responsable de escalar horizontalmente el proceso de caché a niveles que puedan adaptarse a la escala de Azure Cosmos DB.
  • Será necesario controlar la invalidación de caché al actualizar o eliminar elementos
  • También será necesario aumentar la complejidad de las operaciones que crean uno o varios elementos nuevos

Por todas estas razones, una caché en memoria integrada en Azure Cosmos DB es una solución viable. Como desarrollador, se obtienen las ventajas del almacenamiento en caché sin las complejidades de implementar la caché uno mismo.

Para algunas cargas de trabajo de Azure Cosmos DB, una caché integrada ofrece una gran ventaja. Estas cargas de trabajo incluyen, pero no se limitan a lo siguiente:

  • Cargas de trabajo con muchas más consultas que operaciones de escritura
  • Cargas de trabajo que leen elementos individuales grandes varias veces
  • Cargas de trabajo que ejecutan consultas varias veces con una gran cantidad de RU/s
  • Cargas de trabajo que tienen claves de partición activas para consultas y operaciones de lectura

Las cargas de trabajo que realizan de forma coherente las mismas operaciones de consulta son ideales para usarse con la caché integrada. Al usar la caché integrada, solo se consumirán unidades de solicitud en la primera operación o consulta. Las solicitudes posteriores, siempre y cuando el elemento no esté obsoleto, no consumen unidades de solicitud cuando los datos se recuperan de la caché.