EP02: PACELC en los sistemas de bases de datos (+ Cache en Spring con Caffeine)
En este episodio hablamos sobre como PACELC extiende el teorema CAP para ayudarnos a entender el funcionamiento de los sistemas de persistencia distribuidos que agregan particiones.
El objetivo principal de implementar un sistema con un enfoque de arquitectura basado en microservicios es agregar la posibilidad de escalar cuando las capacidades del negocio lo requieran. Uno de los problemas radica en que para escalar desde el punto de vista del software no solo basta con escalar las aplicaciones en sí, se requiere además escalar los sistemas de persistencia (bases de datos).
Para lograr mecanismos de persistencia escalables se requiere de la adopción de tecnologías de almacenamiento de datos que así lo permitan. La elección incorrecta de un sistema de base de datos en etapas tempranas del desarrollo puede traer consigo verdaderos dolores de cabeza en el futuro.
Para elegir la base de datos deben tenerse en cuenta 3 factores principales: disponibilidad, consistencia y tolerancia a particiones que pueden tener lugar en la red de datos. Un sistema de consistencia escalable necesita ser distribuido con todo el reto que esto lleva consigo. La conjetura de Brewer convertida en teorema CAP fue extendida con el teorema PACELC por Daniel J. Abadi al incluir consideraciones de latencia y consistencia durante condiciones normales de operación.
En este artículo en nuestro blog SACAViX te damos toda la explicación.
¿ Te gusta el contenido que publicamos ?
Si es así considera ayudarme compartiendo este contenido en tus redes sociales y considera unirte como miembro en Youtube o Patreon.
Cache en Spring Boot con Caffeine
Caffeine es una de las implementaciones de cache más populares en el mundo Java, e es una biblioteca de caché de alto rendimiento, popular por su baja latencia y alta capacidad de manejo. Ofrece configuración flexible, incluyendo tamaño máximo, políticas de expiración y estrategias de manejo de memoria.
Soporta carga asíncrona de datos, expiración basada en tiempo desde el último acceso o escritura, y proporciona métricas detalladas para monitoreo del rendimiento. Caffeine es ideal para aplicaciones que requieren acceso rápido y eficiente a datos en memoria.
En nuestro canal de Youtube publicamos un interesante vídeo esta semana con un ejemplo práctico de como integrar esta librería con Spring Boot, te invito a que le des una mirada y sumes esta tecnología a tu caja de herramientas como desarrollador.
Espero que te diviertas aprendiendo con este episodio de la newsletter e invita a tus amigos para que sumen y aprendan también.