Para satisfacer la creciente necesidad de opciones de almacenamiento de datos más efectivas en medio del rápido desarrollo de aplicaciones y servicios web interactivos, un equipo de investigadores de Microsoft lanzó Garnet, un sistema de almacenamiento de caché de código abierto. Aunque los sistemas tradicionales de almacenamiento en caché son eficaces, con frecuencia no pueden mantenerse al día con las necesidades cambiantes de las aplicaciones contemporáneas. Esto llevó a la creación de Garnet, que, a diferencia de sus predecesores, ofrece una amplia gama de funcionalidades y API para satisfacer los diversos requisitos de las aplicaciones modernas.
Garnet puede manejar tipos de datos simples como hash y conjuntos ordenados, así como otros más complicados como cadenas sin formato. Ofrece un rendimiento y adaptabilidad inigualables. Su arquitectura ha sido diseñada específicamente para aprovechar al máximo las capacidades de hardware más nuevas, garantizando el máximo rendimiento en diversas plataformas y sistemas operativos.
Los componentes clave de Garnet son su rendimiento y escalabilidad excepcionales, necesarios para respaldar servicios y aplicaciones a gran escala. Con una optimización cuidadosa y el uso de tecnologías de última generación como el marco .NET, Garnet produce mejores resultados al tiempo que preserva la extensibilidad y la compatibilidad entre plataformas. Esto garantiza que los desarrolladores puedan utilizar fácilmente el potencial innovador de Garnet para impulsar proyectos e incorporarlo a su trabajo.
Se han realizado pruebas exhaustivas sobre el rendimiento de Garnet, lo que demuestra su superioridad sobre los populares sistemas de almacenamiento de caché de código abierto como Redis, KeyDB y Dragonfly. Garnet venció a sus competidores en varios parámetros, incluidos el rendimiento y la latencia, lo que demuestra su superioridad en aplicaciones prácticas.
Las creativas capas de red y almacenamiento de la arquitectura de Garnet, creadas para maximizar la eficiencia y el rendimiento, son sus características principales. Al utilizar protocolos de red rápidos y conectables y una arquitectura de memoria compartida, Garnet reduce los gastos generales y aumenta el rendimiento para proporcionar un rendimiento inigualable.
El equipo ha compartido que el modo de clúster de Garnet presenta un nuevo enfoque para la implementación del almacén de caché, lo que simplifica a los usuarios la configuración y el mantenimiento de implementaciones replicadas y fragmentadas. Garnet facilita el escalado de la instalación mediante el uso de técnicas dinámicas de migración de claves y comandos comunes del clúster Redis, lo que garantiza un funcionamiento fluido en una variedad de contextos.
Las características principales de Garnet son las siguientes:
- Alto rendimiento: el diseño creativo de Garnet le permite funcionar excepcionalmente bien. Garantiza escalabilidad de memoria compartida compatible con caché mediante el uso de la capa de almacenamiento escalable por subprocesos, Tsavorite. Garnet optimiza la utilización de recursos y aumenta el rendimiento con soporte para modo de clúster, fragmentación, replicación y almacenamiento por niveles. El alto rendimiento de extremo a extremo ha sido posible gracias a su arquitectura de red de conexión rápida, que reduce las latencias incluso en el percentil 99. Esto reduce los gastos operativos de los servicios a gran escala y al mismo tiempo mejora la experiencia del usuario.
- Rica y extensible: Garnet proporciona a los desarrolladores una plataforma rica y versátil. Garnet admite muchos requisitos de aplicaciones diferentes y admite un gran porcentaje de la superficie API de Redis, incluidas estructuras de datos sofisticadas como conjuntos ordenados y HyperLogLog. Los desarrolladores pueden modificar y mejorar la funcionalidad de acuerdo con casos de uso particulares debido a su extensibilidad escalable y capacidades de procedimiento almacenado transaccional.
- Moderno y seguro: Garnet, escrito en el moderno .NET C#, garantiza eficacia e interoperabilidad en una variedad de sistemas operativos, incluidos Windows y Linux. Mantener un rendimiento óptimo se logra minimizando los gastos generales de recolección de basura. Más allá de la API principal, Garnet permite a los desarrolladores mejorar sus capacidades con una fácil integración con nuevos tipos de datos .NET. Garnet también prioriza la seguridad al brindar soporte TLS efectivo, garantizando la integridad de los datos y el secreto en los canales de comunicación.
Revisar la Proyecto y GitHub. Todo el crédito por esta investigación va a los investigadores de este proyecto. Además, no olvides seguirnos en Gorjeo. Únete a nuestro Canal de telegramas, Canal de discordiay LinkedIn Grarriba.
Si te gusta nuestro trabajo, te encantará nuestro Boletin informativo..
No olvides unirte a nuestro SubReddit de 39k+ ML
Tanya Malhotra es estudiante de último año de la Universidad de Estudios de Petróleo y Energía, Dehradun, y cursa BTech en Ingeniería Informática con especialización en Inteligencia Artificial y Aprendizaje Automático.
Es una entusiasta de la Ciencia de Datos con buen pensamiento analítico y crítico, junto con un ardiente interés en adquirir nuevas habilidades, liderar grupos y gestionar el trabajo de manera organizada.