Lanzamiento de la base de datos Redis 7.4, traducida a licencias propietarias

Se ha publicado la versión de la base de datos Redis 7.4, que pertenece a la categoría de sistemas NoSQL. Redis ofrece funciones para el almacenamiento de datos en formato clave/valor, con soporte ampliado para formatos de datos estructurados como listas, hashes y conjuntos, así como la posibilidad de ejecutar scripts en el lado del servidor escritos en Lua. A diferencia de los sistemas de almacenamiento en memoria, como Memcached, Redis almacena bases de datos no solo en memoria, sino también en disco, lo que garantiza la preservación de la base de datos en caso de un cierre inesperado.

Redis 7.4 se ha anunciado como la primera versión distribuida bajo nuevas condiciones de licencia: en lugar de la licencia BSD que se aplicaba anteriormente, el código ahora está disponible bajo licencias propietarias RSALv2 (Redis Source Available License v2) y SSPLv1 (Server Side Public License v1). Aquellos que deseen continuar utilizando el código bajo la licencia BSD pueden recurrir a los proyectos Valkey (un fork desarrollado con la participación de Amazon, Google, Oracle, Ericsson y Snap), Redict (un fork del autor de la interfaz de usuario Sway y el lenguaje Hare), Garnet (una base de datos de Microsoft compatible con Redis) o KeyDB (un fork de alto rendimiento de Redis 5 desarrollado por Snapchat).

Las licencias SSPL y RSAL conducen a la discriminación de ciertas categorías de usuarios, lo que impide considerarlas abiertas o libres. Ambas licencias son similares en sus objetivos, y las diferencias se reducen a que la licencia SSPL está basada en la licencia copyleft AGPLv3, mientras que la licencia RSAL se basa en la licencia permisiva BSD. La licencia RSAL permite utilizar, modificar, distribuir e integrar el código en aplicaciones, excepto en los casos en que estas aplicaciones sean comerciales o se utilicen para ofrecer servicios gestionados de pago. La licencia SSPL, además, incluye un requisito de entrega bajo la misma licencia no solo del código de la aplicación, sino también de los textos de origen de todos los componentes involucrados en la provisión del servicio en la nube.

La base de datos Redis admite transacciones, que permiten ejecutar un grupo de comandos en un solo paso, garantizando la coherencia y secuencialidad (los comandos de otras solicitudes no pueden interponerse) en la ejecución de un conjunto de comandos dado, y en caso de problemas, permite revertir cambios. Todos los datos se almacenan completamente en la memoria RAM. Se encuentran disponibles bibliotecas de cliente para la mayoría de los lenguajes populares, incluidos Perl, Python, PHP, Java, Ruby y Tcl.

Para la gestión de datos, se proporcionan comandos como incremento/decremento, operaciones estándar sobre listas y conjuntos (unión, intersección), renombramiento de claves, múltiples selecciones y funciones de ordenación. Se admiten dos modos de almacenamiento: la sincronización periódica de datos en disco y el mantenimiento en el disco de un registro de cambios. En el segundo caso, se garantiza la completa preservación de todos los cambios. Es posible organizar la replicación de datos master-slave en varios servidores, llevada a cabo en modo no bloqueante. También está disponible el modo de mensajería de "publicación/suscripción", en el que se crea un canal cuyas mensajes se distribuyen a los clientes por suscripción.

Cambios clave en la funcionalidad de Redis 7.4:

  • Se ha añadido la posibilidad de limitar la vida útil de campos individuales en hashes y estructuras para almacenar colecciones agrupadas de registros en formato clave-valor. A diferencia de asignar un tiempo de vida a la clave, el cambio propuesto permite establecer no solo un tiempo de vida total para todos los campos relacionados, sino también valores individuales de tiempo de vida para campos específicos, lo que puede ser utilizado, por ejemplo, para garantizar ciclos de vida más cortos para los tokens de autenticación en comparación con otros datos de sesión.
  • Se han propuesto nuevos tipos de datos bfloat16 y float16, optimizados para su uso en aplicaciones de aprendizaje automático, que permiten reducir el consumo de memoria comparado con los tipos previamente disponibles float32 y float64. Al utilizarse en hashes, los nuevos tipos permiten reducir el consumo de memoria en bases de datos vectoriales en un 47%, disminuir la latencia de extracción de datos en un 59% y reducir el tiempo de creación de índices en un 58% en comparación con el tipo float64.
  • Se ha simplificado el uso de índices secundarios. Al consultar información de índices secundarios, ya no es necesario escapar caracteres especiales como «@» y «.», pudiendo utilizar comillas dobles para delimitar porciones de datos. Además, se ha mejorado significativamente la indexación de campos vacíos y ausentes; para la creación de índices y la formación de consultas que tengan en cuenta la presencia de campos, se han introducido una nueva palabra clave INDEXMISSING y la función ismissing(). Se han añadido nuevos operadores INTERSECT y DISJOINT para facilitar la búsqueda de datos geoespaciales. También se han agregado capacidades para analizar el consumo de memoria del índice.
  • Se ha añadido soporte para filtros para eliminar elementos en conjuntos de datos agregados, por ejemplo, al cargar periódicamente datos desde sensores a una base de datos, se puede agregar un filtro para ignorar valores cuya diferencia de tiempo con el valor anterior sea menor que un umbral específico.
  • Se ha descontinuado el soporte para triggers y funciones en JavaScript propuestas en la entrega anterior.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster