¿Qué es el almacenamiento en caché?

En Conduit, una memoria caché es una capa de almacenamiento de datos que almacena un subconjunto de datos, de naturaleza transitoria, para que las solicitudes futuras de esos datos se proporcionen lo más rápido posible accediendo a la ubicación de almacenamiento principal de los datos. Además de la caché de datos, Conduit también mantiene los resultados de las consultas para reutilizar de forma eficiente los resultados recuperados anteriormente. 


¿Por qué usar el almacenamiento en caché?

A menudo, a los administradores de bases de datos les preocupa proporcionar acceso sin restricciones a sus fuentes de datos. Hay buenas razones para esta preocupación: 

  • Rendimiento de las bases de datos: Las bases de datos pueden diseñarse para optimizarse con fines distintos de ser leídas o consultadas constantemente por los usuarios. Si ese es el caso, leer con frecuencia la base de datos puede ralentizar muy pronto el rendimiento de los otros requisitos de esa configuración de base de datos (es decir, las bases de datos transaccionales deben diseñarse cuidadosamente para actualizarse rápidamente desde muchos orígenes distintos), hasta el punto de que la base de datos deja de funcionar si el equipo de administración de base de datos (DBA) no optimiza las transacciones con algún TCL. 
  • Protección de bases de datos: Tener muchos usuarios enviando consultas ad hoc simultáneamente a una base de datos podrían hacer que esta se bloquease. Descargar la información de la base de datos a una memoria caché temporal (puedes definir exactamente cómo de temporal) proporciona protección contra ese escenario. 
  • Protección de datos: Incluso con la mejor de las intenciones, un usuario podría cambiar accidentalmente los datos en la propia base de datos de una manera que sea irrecuperable. Los usuarios conectados a los orígenes de datos de Conduit tienen acceso de solo lectura a los datos, por lo que no hay forma de que se le proporcione por error al usuario un permiso incorrecto y luego sobrescriba o edite accidentalmente una base de datos. 


También hay escenarios en los que el almacenamiento en caché tal vez no es la mejor opción: 

  • La frescura de los datos es la principal preocupación y la latencia no es un problema (los datos no son muy voluminosos, las consultas son simples, etc.). 
  • Pocos usuarios necesitan acceso a los datos y el acceso es una prioridad baja en comparación con otros orígenes de datos más críticos. 

Opciones de almacenamiento en caché dentro de Conduit

Conduit ofrece la opción de aprovechar el almacenamiento en caché para los orígenes de datos de cualquiera de sus conectores. 

Almacenamiento en caché de consultas 

  • Cuando se haya habilitado, Conduit almacenará los resultados de consultas para todas las consultas de los conjuntos de datos de un conector, de esta forma cuando se haga exactamente la misma consulta de nuevo, se devolverán los resultados de la consulta almacenados en memoria, mejorando así el tiempo de respuesta. 
  • Se recomienda habilitar cuando se esperen consultas costosas, que requieren muchos recursos, y/o cuando no se espera que los datos subyacentes cambien con frecuencia. 
  • El conjunto de resultados que supere una página de registros recuperados ‑ para Power BI es 10 000 ‑ no se almacenará en caché para evitar quedarse sin memoria (OOM). 
  • De forma predeterminada la expiración del almacenamiento en caché es de 30 minutos, pero se puede personalizar para el conjunto de datos de cada conector, según sea necesario. 
     

Almacenamiento en caché del conector 

  • Cuando se haya habilitado, Conduit creará un almacén parquet temporal y seguro, con todos los conjuntos de datos del conector para acceder a ellos en el futuro de forma rápida. 
  • Se recomienda habilitarlo para conjuntos de datos grandes o cuando se esperen consultas costosas.   
  • Los conjuntos de datos seleccionados para el conector se almacenarán en caché dentro del almacén parquet. Todas las consultas de este conector se ejecutarán en el almacén parquet. 
  • De forma predeterminada la expiración de almacenamiento en caché es de 30 minutos, pero puede  personalizar para el conjunto de datos de cada conector, según sea necesario. 
  • Cuando se almacenan en caché los datos del conector, los resultados de la consulta se almacenarán en la caché de memoria, si se trata de resultados de tamaño pequeño o mediano, para así mejorar aún más el rendimiento. La caché de consultas caducará con la caché de datos. 
  • La lista de archivos de parquet existentes y sus tiempos de caducidad esperados se puede acceder en la página de "Performance" (Rendimiento)>Almacén de Parquet (Parquet Store). 
  • El motor de SQL de Conduit se usará para ejecutar todas las consultas cuando esté seleccionado Almacenamiento en caché del conector. 

Cómo aprovechar el almacenamiento en caché en Conduit

Para cada conector, Conduit permite almacenar en caché los conjuntos de datos incluidos en ese conector. En el paso '"Virtualization" (Virtualización)' del "Connector Wizard" (Asistente para conectores), verá las opciones '"Enable Query Caching" (Habilitar almacenamiento en caché de consultas)’  y '"Enable Connector Caching" (Habilitar almacenamiento en caché de conector)’.  


Seleccionar ‘"Enable Query Caching"’ indica que Conduit almacenará los resultados de consultas para todas las consultas de los conjuntos de datos de un conector, de esta forma cuando se haga exactamente la misma consulta de nuevo, se devolverán los resultados de la consulta almacenados en memoria. 

Seleccionar '"Enable Connector Caching"' le indica a Conduit que todos los datos relacionados con este conector deben almacenarse en el almacén parquet y que todas las consultas posteriores enviadas a ese conector deben leerse desde la memoria caché, en lugar de leerlos directamente desde el origen de datos. El almacenamiento en caché de consultas incluye   la habilitación del almacenamiento en caché de conector.  


En el paso '"Advanced" (Opciones avanzadas)' del Asistente para conectores, cada tabla dentro del conector proporciona la opción de modificar la directiva de expiración de almacenamiento en caché . La directiva de expiración del almacenamiento en caché determina durante cuánto tiempo debe mantenerse la memoria caché antes de restablecerse. Esto permite un control preciso sobre la frescura de los datos. 

La segunda opción de almacenamiento en caché de la pestaña  '"Advanced"' es para '"Cache now" (Almacenar en caché ahora)'. Cuando se selecciona esta casilla, Conduit iniciará el almacenamiento en caché del origen de datos al guardarlos el conector para evitar esperar por la memoria caché de la consulta inicial.  

Por último, la tercera opción de almacenamiento en caché es la ‘"Auto refresh" (Actualización automática)’. Cuando esta opción está habilitada, Conduit volverá a crear automáticamente la caché de datos en el almacén de format parquet una vez que caduque la caché de datos existente. 

 

¡Terminado! Conduit hace que la opción de aprovechar el almacenamiento en caché sea tan simple como esto. Unos pocos clics proporcionan un control detallado sobre cómo se accede a tus datos y cómo se actualizan a través de tu conector de Conduit. 

Supervisión de la caché de Conduit

Haga clic en la pestaña "Performance" (Rendimiento) de la barra de navegación en la parte superior de la página. A continuación, haga clic en el enlace del "Parquet Store" (Almacén parquet) en el menú del cuadro desplegable . Esto le lleva a la pantalla de supervisión de la caché de datos. 

Aquí podrá revisar: 

  • Nombre de la tabla (o de los archivos de formato plano en el almacenamiento en la nube) que se almacene(n) en formato parquet. 
  • Cuándo está configurada la caché de datos para expirar. 
  • Cuánto espacio ocupa cada caché en el disco. 
  • Número de archivos de formato parquet que constituyen la caché de datos. 

La página del "Parquet Store" (Almacén parquet) también proporciona una opción para borrar una caché de datos existente, si lo desea. 


Al actualizar el conector con '"Caché now"' marcado, tenga en cuenta que Conduit volverá a crear inmediatamente la caché de datos solo si hubo cambios en la selección del origen de datos en la pestaña "Publish" (Publicar). Para todos los demás casos, la memoria caché existente se almacenará de acuerdo con la directiva de expiración del conector establecida en el momento de creación de la memoria caché.

Si desea que la memoria caché esté de acuerdo con todos los ajustes de configuración actuales del conector, se recomienda borrar primero la memoria caché existente y, a continuación, volver a guardar el conector con  '"Caché now"' marcada. 


El proceso de  caché en curso solo se puede cancelar  borrándolo en la página "Parquet Store". Si desea cancelar la creación de caché e iniciar de nuevo el almacenamiento en caché, borre la caché en curso en la página "Parquet Store" y, a continuación, vuelva a guardar el conector con '"Caché now"' marcada.