Módulos

Los módulos de Redis enriquecen las estructuras de datos centrales de Redis con capacidad de búsqueda y modelos de datos modernos tales como JSON, gráficos, series temporales e inteligencia artificial (IA). Los módulos de Redis permiten a los desarrolladores crear nuevos servicios de aplicaciones sobre Redis mientras siguen disfrutando de la velocidad de menos de un milisegundo de Redis. 

Además, la inclusión de varios modelos de datos dentro de la capa de la base de datos elimina el gasto innecesario de varias bases de datos, mantiene una baja latencia, reduce la sobrecarga y elimina la tediosa gestión de la comunicación y la conexión entre la capa de la aplicación y varias bases de datos. 

Además, al desplegar sobre Redis Enterprise, los módulos disfrutan de la disponibilidad de cinco nueves de Redis con escalabilidad lineal, junto con capacidades mejoradas como despliegues Activo-Activo y Activo-Pasivo en despliegues multinube e híbridos. Y con RedisGears, los usuarios pueden controlar fácilmente (de forma totalmente programable) las operaciones en todo el clúster a través de fragmentos, nodos, modelos de datos y estructuras de datos.  

RediSearch

Normalmente, los motores de búsqueda indexan los datos con lentitud, por lo que los datos indexados recientemente tardan en aparecer en los resultados de búsqueda.

RediSearch es un motor de búsqueda en tiempo real que se ejecuta en su conjunto de datos Redis y te permite consultar los datos que acaban de indexarse. Puede utilizarse como índice secundario para conjuntos de datos alojados en otros almacenes de datos, como motor de búsqueda rápida de texto o de autocompletado, y como motor de búsqueda que impulsa otros módulos como RedisGraph y RedisTimeSeries.

Escrito en C, construido desde cero sobre modernas estructuras de datos y utilizando el eficiente protocolo Redis, RediSearch es el motor de búsqueda más rápido del mercado. Además, RediSearch cuenta con una gran cantidad de funciones, entre las que se incluyen la clasificación, las consultas booleanas, los geofiltros, los sinónimos, los filtros y rangos numéricos, la agregación, etc.

RedisJSON

Para almacenar un objeto JSON en Redis, hay que serializarlo en una String o dividirlo en campos Hash, lo que impone una sobrecarga de traducción en la aplicación y evita las actualizaciones in situ, así como operaciones tales como el incremento.

RedisJSON hace de JSON una estructura de datos nativa en Redis. Está diseñado para la manipulación rápida y eficiente en memoria de documentos JSON a gran velocidad y volumen. De este modo, puede almacenar los datos de tus documentos en un formato jerárquico, similar a un árbol, que puede modificarse y consultarse eficazmente.

RedisGears

RedisGears es un motor programable para Redis que se ejecuta dentro de Redis, más cerca de donde viven tus datos. RedisGears permite realizar operaciones en todo el clúster a través de fragmentos, nodos, estructuras de datos y modelos de datos a una velocidad inferior al milisegundo. Con Python (y pronto Java, Scala y otros lenguajes JVM) puedes programar RedisGears para 1) admitir casos prácticos de caché avanzados como write-behind/write-through; 2) controlar el procesamiento basado en eventos de forma fiable; 3) realizar análisis de datos en tiempo real en todo el clúster; y 4) orquestar el servicio de IA.

RedisAI

Las cargas de trabajo de aprendizaje automático e inferencia de IA tradicionalmente operan desde las capas de aplicación o de servicio especializado. En muchos casos, la inferencia de la IA necesita enriquecerse con datos de referencia que se originan en una base de datos. Como resultado, se requieren múltiples viajes de ida y vuelta entre la capa de servicio de la aplicación/IA y la base de datos, lo que aumenta significativamente la latencia de inferencia de extremo a extremo.

RedisAI implementa un motor de inferencia dentro de la capa de la base de datos. Esto permite la localización de datos entre el motor y los datos de destino, reduciendo drásticamente la latencia. Además, ofrece una capa común entre diferentes formatos y plataformas, incluidos PyTorch, TensorFlow/TensoRT y ONNXRuntime. RedisAI está totalmente integrado con herramientas de canalización de IA/ML de última generación como MLFlow y, próximamente, Kubeflow.

RedisGraph

Las consultas sobre datos altamente conectados en las bases de datos tradicionales son ineficientes porque se basan en enfoques subóptimos de procesamiento de grafos. La mayoría de las bases de datos gráficas mejoran este comportamiento, pero siguen requiriendo consultas a cada conexión individualmente.

RedisGraph se basa en un novedoso enfoque que traduce las consultas sobre grafos a operaciones matriciales, lo que permite evaluar las relaciones de forma muy paralela. RedisGraph es compatible con el estándar industrial Cypher como lenguaje de consulta e incorpora el motor SuiteSparse GraphBLAS de última generación para operaciones matriciales en matrices dispersas.

Este nuevo diseño permite que casos prácticos como el funcionamiento de gráficos sociales, la detección de fraudes y las recomendaciones en tiempo real se ejecuten hasta dos órdenes de magnitud más rápido que cualquier otra base de datos de gráficos.

RedisTimeSeries

Redis se ha utilizado durante años para almacenar datos de series temporales. Su arquitectura en memoria la convierte en una opción natural para esta carga de trabajo con muchas inserciones. Aunque las estructuras de datos integradas de Redis ofrecen varias opciones de series temporales, tienen una capacidad limitada para consultar y agregar los datos.

Con RedisTimeSeries, las capacidades como el ‘downsampling’ automático, las agregaciones, el etiquetado y la búsqueda, la compresión y las consultas mejoradas de múltiples rangos son compatibles de forma nativa en Redis. Los conectores incorporados a herramientas de supervisión populares como Prometheus y Grafana permiten la extracción de datos en formatos útiles para la visualización y la supervisión. RedisTimeSeries proporciona toda esta funcionalidad sin dejar de aprovechar la escalabilidad lineal de Redis Enterprise.

RedisBloom

Los filtros Bloom y Cuckoo, TopK y CountMinSketch se utilizan ampliamente para apoyar las consultas de pertenencia de datos, gracias a su eficiencia espacial y a la funcionalidad de pertenencia en tiempo constante. Dicho esto, las implementaciones rápidas y eficientes de estructuras de datos probabilísticas no son fáciles de desarrollar en la capa de aplicación.

RedisBloom disfruta de escala lineal, tiempo de conmutación por error de un dígito de segundo y durabilidad, con un aprovisionamiento sencillo y capacidades de supervisión integradas.