El otro lado de eso es cómo cambian esas cosas con el tiempo. ¿Existe un valor TTL más óptimo basado en fluctuaciones cíclicas basadas en el tiempo? Por ejemplo, en un mundo de comercio electrónico, tal vez haya un pico al mediodía UTC donde muchas personas se conectan en su hora de almuerzo. Entonces, ¿cómo cambiaría mi comportamiento de caché durante ese período, o debería cambiar? Y luego entramos en sistemas mucho más complejos donde tal vez haya 5,000 consultas SQL únicas que fluyen a través de la plataforma todos los días. Entonces, ¿por dónde empiezo? ¿Cuáles debo almacenar en caché? ¿Cuánto tiempo debo almacenar en caché esos datos? Y eso es algo realmente difícil de hacer para un humano.
Y ahí es donde entra en juego la inteligencia artificial y el aprendizaje automático. Lo que hace Polyscale es que, interroga y analiza cada consulta SQL individual que llega a través de la plataforma. Y ajustará el comportamiento de la caché en función de lo que está viendo, ya sabes, cuál es el comportamiento real de ese tráfico entrante. Y establece automáticamente cuánto tiempo deben vivir esos datos en la caché. Y lo que eso significa es que literalmente puedes activar Polyscale, como mencioné, actualizar tu archivo de configuración, comenzar a enviar tu tráfico de base de datos a través de él, y Polyscale comenzará a seleccionar selectivamente qué almacenar en caché y acelerar tus datos. Y lo hace a nivel global. Lo hace en cada punto de presencia. Así que eso es realmente, vemos eso como algo increíblemente útil.
Entonces, digamos que tengo un sistema Drupal o, ya sabes, algo con consultas SQL más complejas, WordPress o cualquier otra cosa, o una plataforma de comercio electrónico. Puedes activar esta cosa y comenzará a almacenar en caché selectivamente, ya sabes, tus datos. Ahora, la pregunta inmediata aquí es, bueno, ¿qué pasa con la invalidez? ¿Y qué pasa con mis derechos? Ya sabes, ¿qué pasa con mis inserciones, actualizaciones y eliminaciones? ¿Mis consultas de manipulación? ¿Qué sucede con esas? Entonces, Polyscale inspecciona en tiempo real cada consulta y determina si es una consulta de selección o mostrar. ¿Es una consulta de reconsulta? Y si no lo es, entonces lo envía a la base de datos de origen. Entonces, la transaccionalidad de tu base de datos nunca cambia. No estamos cambiando nada en ese comportamiento. Entonces, todas esas inserciones, actualizaciones, y eliminaciones se envían y tu consistencia se mantiene igual. Tu base de datos de origen sigue siendo la misma.
Y lo otro interesante de esto, si consideras, ya sabes, y lo veremos y lo demostraremos, y hay un lugar. Esto... Invalidez. Entonces, si Polyscale ve una de esas consultas de manipulación, una inserción, una actualización o una eliminación, automáticamente invalidará esos datos de la caché en tiempo real a nivel global. Entonces, si enviamos, ya sabes, actualizar tabla X, establecer nombre de usuario igual a foo, eliminará esos datos de la caché a nivel global automáticamente. Entonces, nuevamente, la próxima vez que se realice una lectura, se obtendrá desde el origen y se llenará la caché. Y siempre obtienes los datos más actualizados. Entonces, eso es una gran parte, vemos eso como una gran parte de la ingeniería que, los desarrolladores no tienen que construir. No tengo que preocuparme por ese aspecto de la invalidez. Y luego la inteligencia artificial también es muy inteligente en cuanto a, monitorea los cambios en la carga que provienen de una base de datos. Entonces, si vemos cambios en la base de datos, ajustamos el tiempo de vida en caché en consecuencia. Entonces, si hay cosas sucediendo, en la base de datos que no podemos ver, entonces somos bastante inteligentes en cómo la IA maneja eso también. El escenario clásico es, tomemos algo como una agencia de viajes, donde pueden estar recopilando datos de numerosas fuentes de datos diferentes. Entonces puede haber cosas sucediendo, en la base de datos que no podemos ver. Hablando también del futuro, también tendremos la capacidad de conectar, cambiar flujos de captura de datos en Polyscale, si eso es algo importante para tus semánticas de caché. Así que sí, automatización completa. Si no lo estás, si quieres, quiero decir, para ser claro, también puedes anular completamente la automatización. Puedes desactivarla globalmente y decir, hey, sé lo que quiero establecer para esto. Y puedo hacerlo yo mismo. Ya sabes, si quieres seguir ese camino, te recomendaremos lo que creemos o lo que la plataforma piensa que deberías establecer como valor de caché. Así que esa es una característica agradable en la que te ayudamos, pero puedes ir y sobrescribir estas cosas. No es una, ya sabes, no es una caja negra completa sobre la que no tienes control. Y luego, finalmente aquí abajo, una de las características que tendremos próximamente es lo que llamamos calentamiento predictivo. Entonces, este es un caso de uso clásico de personalización en el que inicio sesión en un sistema y quiero, ya sabes, cargar, nuevamente, mi proveedor de telefonía celular, mostrarme mi factura o mi uso del mes, o inicio sesión en, ya sabes, algo como iTunes o lo que sea y mostrarme mi vista personalizada. Entonces, podemos, ya sabes, acelerar esa carga en segundo plano. Entonces, estamos buscando agrupaciones de consultas que típicamente se ejecutan juntas y podemos ejecutar esas y asegurarnos de que la caché esté activa para ese usuario en particular, lo cual es realmente emocionante. Y luego la parte final, que es el meollo de esta charla, realmente es, ¿cómo escalamos? Sí, genial, me estás dando una caché para mi base de datos, pero ¿cómo se escala eso? Y como dije antes, tenemos puntos de presencia a nivel mundial y los colocamos lo más cerca posible de la capa de aplicación donde sea que estés escalando. Entonces, eso mueve el cálculo de la consulta y mueve los datos físicamente más cerca de la capa de aplicación. Otra característica que tendremos muy pronto, de hecho, es el agrupamiento de conexiones. Entonces, para poder, si consideras, por ejemplo, quiero ejecutar funciones en el borde, esas son de muy corta duración, como ya hemos hablado, y puede haber miles de ellas ejecutándose simultáneamente. Ese es exactamente el caso de uso para el agrupamiento de conexiones, donde, digamos que tengo una instancia de Postgres en ejecución, que se ejecuta en París, Francia, y ahora estoy usando Polyscale para servir eso a nivel mundial, también estoy usando mi proveedor de funciones favorito, y estamos iniciando muchas conexiones TCP.
Comments