Compartir vía


Preguntas más frecuentes sobre la caché integrada de Azure Cosmos DB

SE APLICA A: NoSQL

La caché integrada de Azure Cosmos DB es una caché en memoria integrada para Azure Cosmos DB. En este artículo se responden las preguntas más frecuentes sobre la caché integrada de Azure Cosmos DB.

Preguntas más frecuentes

¿Por qué la caché integrada requiere una puerta de enlace dedicada?

Si se ha conectado a Azure Cosmos DB mediante el modo de puerta de enlace, ha usado la puerta de enlace estándar. Aunque el back-end de Azure Cosmos DB (su rendimiento y almacenamiento aprovisionados) tiene capacidad dedicada por contenedor, la puerta de enlace estándar se comparte entre muchos clientes. Resulta práctico para muchos clientes compartir una puerta de enlace estándar, ya que los recursos de proceso que consume cada cliente individual son mínimos. Dado que la memoria caché integrada es específica de la cuenta de Azure Cosmos DB y requiere una CPU y memoria significativas, requiere nodos de puerta de enlace dedicada.

¿Qué es una puerta de enlace dedicada?

Una puerta de enlace dedicada es un proceso del lado servidor que actúa como front-end para los datos en la cuenta de Azure Cosmos DB. Cuando se conecta al punto de conexión de puerta de enlace dedicada mediante el modo de puerta de enlace, la aplicación envía una solicitud a la puerta de enlace dedicada, que luego enruta la solicitud a distintas particiones back-end. Se admite el uso del modo directo con la puerta de enlace dedicada, pero estas solicitudes no usarán la caché integrada.

¿El uso de la puerta de enlace dedicada ofrece otras ventajas de rendimiento con respecto al uso de la puerta de enlace estándar?

En general, las solicitudes enrutadas por la puerta de enlace dedicada tendrán una latencia ligeramente menor y más coherente que las solicitudes enrutadas por la puerta de enlace estándar. Incluso las solicitudes que no usan la memoria caché integrada seguirán teniendo una latencia ligeramente menor que la puerta de enlace estándar.

¿Qué tipo de latencia debo esperar de la caché integrada?

Una solicitud atendida por la caché integrada es rápida porque los datos en caché se almacenan en memoria en la puerta de enlace dedicada, en lugar de en el back-end.

Para las lecturas puntuales almacenadas en caché, debe esperar una latencia media de 2 a 4 ms. Para las consultas almacenadas en caché, la latencia depende de la consulta. La caché de consulta funciona almacenando en caché la respuesta del motor de consultas para una consulta determinada. A continuación, esta respuesta se envía de vuelta del lado cliente al SDK para su procesamiento. Para las consultas simples, se requiere un trabajo mínimo en el SDK y las latencias medias de 2 a 4 ms son típicas. Las consultas más complejas con GROUP BY o DISTINCT requieren más procesamiento en el SDK, por lo que la latencia puede ser mayor, incluso con la caché de consulta.

Si anteriormente se conectaba a Azure Cosmos DB con el modo directo y cambiaba a la conexión con la puerta de enlace dedicada, puede observar un ligero aumento de la latencia para algunas solicitudes. El uso del modo de puerta de enlace requiere que se envíe una solicitud a la puerta de enlace (en este caso, la puerta de enlace dedicada) y, a continuación, se enruta correctamente al back-end. El modo directo, como sugiere el nombre, permite al cliente comunicarse directamente con el back-end, quitando un salto adicional. No hay ningún Acuerdo de Nivel de Servicio de latencia para las solicitudes que usan la puerta de enlace dedicada.

Si la aplicación usó anteriormente el modo directo, las ventajas de latencia de la caché integrada serán significativas solo en los escenarios siguientes:

  • Latencia de lectura puntual para elementos grandes (>16 KB)
  • Consultas complejas o RU elevadas

Si la aplicación usaba anteriormente el modo de puerta de enlace con la puerta de enlace estándar, la caché integrada ofrecerá reducciones de latencia en casi todos los escenarios.

¿Se extiende el Acuerdo de Nivel de Servicio de disponibilidad de Azure Cosmos DB a la puerta de enlace dedicada y a la caché integrada?

En los escenarios que requieren alta disponibilidad y para cubrirlo el Acuerdo de Nivel de Servicio de disponibilidad de Azure Cosmos DB, debe aprovisionar al menos 3 nodos de puerta de enlace dedicados. Por ejemplo, si se necesita un nodo de puerta de enlace dedicada en producción, debe aprovisionar dos nodos de puerta de enlace dedicada adicionales para tener en cuenta los posibles tiempos de inactividad o interrupciones y mejoras. Si solo se aprovisiona un nodo de puerta de enlace dedicada, perderás temporalmente la disponibilidad en estos escenarios. Además, asegúrate de que la puerta de enlace dedicada tiene suficientes nodos para hacer frente a la carga de trabajo.

La memoria caché integrada solo está disponible para la API para NoSQL en este momento. ¿Tiene previsto publicarla también para otras API?

La expansión de la caché integrada más allá de la API para NoSQL está prevista en el plan de desarrollo a largo plazo, pero más allá del enfoque público inicial de la caché integrada.

¿Qué coherencia admite la caché integrada?

La caché integrada admite la coherencia final y de sesión. También puede configurar el valor opcional MaxIntegratedCacheStaleness, que establece un límite superior en los datos en caché.

Pasos siguientes