sql >> Base de Datos >  >> RDS >> Mysql

PolyScale.ai:escalado de MySQL y PostgreSQL con almacenamiento en caché global

Publicación de invitado de Ben Hagan de PolyScale.ai

Las aplicaciones basadas en datos abarcan una gran variedad de complejidades, desde microservicios simples hasta sistemas basados ​​en eventos en tiempo real bajo una carga significativa. Sin embargo, como puede atestiguar cualquier equipo de desarrollo y/o DevOps encargado de mejorar el rendimiento, hacer que las aplicaciones basadas en datos sean rápidas a nivel mundial "no es trivial".

Las arquitecturas de aplicaciones modernas, como JAMstack, imponen la separación de preocupaciones al trasladar los requisitos de datos y persistencia a la API. La separación limpia del contenido estático, la lógica empresarial y la persistencia de datos permite escalar y administrar cada uno de forma independiente.

Muchas empresas también se centran en desacoplar sus aplicaciones monolíticas para utilizar microservicios y, a menudo, se implementan en entornos sin servidor. Este cambio hacia un mayor desacoplamiento para un mejor aislamiento ambiental también puede proporcionar una mejor agilidad regional con respecto a dónde se implementa la lógica comercial y cómo se escala. Las aplicaciones ahora se pueden implementar globalmente en una sola acción de CI/CD.

Sin embargo, el nivel de datos plantea una mayor complejidad. Existen desafíos prácticos como la coherencia transaccional, la alta disponibilidad y el rendimiento de las consultas bajo carga. Hay limitaciones, como adherirse a la PII y los requisitos de cumplimiento. Y existen límites insuperables como los que las leyes de la física imponen a la latencia.

Almacenamiento en caché de aplicaciones

Muchos equipos de desarrollo recurren al almacenamiento en caché para resolver estos problemas en la capa de la aplicación, respaldados por capas de persistencia como Redis o sistemas propios. El concepto es simple:almacenar los datos solicitados por el cliente durante un período de tiempo y si lo volvemos a ver, lo tenemos listo para atender la próxima solicitud sin recurrir a la base de datos de origen. Diseñar una buena estrategia de almacenamiento en caché conlleva su propio conjunto de desafíos:qué datos almacenar en caché, cómo almacenarlos en caché y cuándo. Y quizás lo más importante, qué, cómo y cuándo desalojar datos del caché. La estrategia de almacenamiento en caché debe estar bien definida, comprendida y empleada para cada nuevo conjunto de características que se agregue a la aplicación, entre los desarrolladores y los posibles equipos departamentales. El tiempo de desarrollo y la complejidad es el costo.

Réplicas de lectura de base de datos

Alternativamente, muchas empresas resuelven los desafíos de latencia y escalabilidad con réplicas de lectura de bases de datos. Las réplicas de lectura son instancias de solo lectura de la base de datos principal y se mantienen sincronizadas automáticamente (asincrónicamente) a medida que se realizan actualizaciones en la base de datos principal. Diseñar una estrategia sólida de réplica de lectura es una tarea abrumadora llena de sus propios costos y complejidades sutiles y no tan sutiles.

Gran parte de esa complejidad se puede controlar con ScaleGrid. Las réplicas de lectura totalmente administradas se pueden implementar con solo hacer clic en un botón desde ScaleGrid (con soporte HA) en todas las nubes y regiones principales, con el beneficio clave de que los datos se mantienen sincronizados con la base de datos principal automáticamente.

Sin embargo, las réplicas de lectura no pueden escapar de la necesidad de ejecutar varios servidores de bases de datos, quizás varios, y su costo asociado.

Un enfoque diferente:PolyScale.ai Edge Cache

PolyScale es una caché perimetral de base de datos que adopta un enfoque diferente. El caché de PolyScale proporciona dos beneficios principales:latencia de consulta mejorada y carga de trabajo de base de datos reducida. Vamos a desglosarlo un poco:

  • Latencia regional se resuelve como un CDN; PolyScale proporciona una red perimetral global de puntos de presencia (PoP) y almacena las respuestas de las consultas de la base de datos cerca del cliente de origen, lo que acelera significativamente las respuestas.

  • Rendimiento de consultas de lectura se ha mejorado drásticamente ya que PolyScale atenderá cualquier solicitud de base de datos almacenada en caché en <10 ms, sin importar la complejidad de la consulta. Además, dado que las solicitudes de lectura se atienden desde PolyScale, esta carga nunca afecta la base de datos de origen.

Implementación

PolyScale se puede implementar sin escribir código ni implementar servidores en unos minutos. Simplemente actualice la cadena de conexión del cliente de la base de datos (ya sea una aplicación web, un microservicio o una herramienta de BI como Tableau) con el nombre de host de PolyScale. El tráfico de la base de datos pasará a través de la red perimetral y estará listo para el almacenamiento en caché.

Al ser compatible con MySQL y Postgres, PolyScale es completamente transparente para los clientes de bases de datos, por lo tanto, nada cambia con su arquitectura actual. Sin migraciones, sin cambios en la transaccionalidad y sin cambios en su lenguaje de consulta actual. Realmente plug and play.

¿Cómo funciona?

Los proxies de red global de PolyScale y almacenan en caché los protocolos de conexión de la base de datos nativos, por lo que es transparente para cualquier cliente de base de datos. Las consultas se inspeccionan y se leen (SQL SELECT ) se pueden almacenar en caché geográficamente cerca del origen solicitante para un rendimiento acelerado. Todo el resto del tráfico (INSERT , UPDATE y DELETE ) pasa sin problemas a la base de datos de origen.

La IA de PolyScale está en camino hacia la automatización total. En lugar de configurar el caché según sea necesario, la plataforma medirá el flujo de tráfico y ajustará continuamente las propiedades del almacenamiento en caché para brindar un rendimiento óptimo. Puede leer más sobre el modelo de almacenamiento en caché PolyScale AI aquí.

Conclusiones

PolyScale.ai proporciona un enfoque moderno, plug and play para el rendimiento y la escalabilidad en el nivel de datos. La plataforma PolyScale está en el camino hacia la automatización completa donde, una vez conectada, administrará de manera inteligente el almacenamiento en caché de los datos para un rendimiento óptimo.

Dado que PolyScale es compatible por cable con su base de datos actual, no es necesario realizar cambios para escalar las lecturas globalmente en minutos. ¡Pruébalo!