Lanzamiento de la base de datos Redis 6.0

Preparado lanzamiento de la base de datos Redis 6.0, que pertenece a la categoría de sistemas NoSQL. Redis ofrece funciones similares a Memcached para el almacenamiento de datos en formato clave/valor, ampliadas con el soporte de formatos de datos estructurados, como listas, hashes y conjuntos, así como la posibilidad de ejecutar scripts en el lado del servidor en el lenguaje Lua. El código del proyecto se entrega bajo la licencia BSD. Módulos adicionales que ofrecen capacidades extendidas para usuarios empresariales, como RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, desde el año pasado se suministran bajo la licencia propietaria RSAL. El desarrollo de variantes de datos abiertas de estos módulos bajo la licencia AGPLv3 continúa el proyecto GoodFORM.

A diferencia de Memcached, Redis proporciona almacenamiento persistente de datos en disco y garantiza la seguridad de la base de datos en caso de un cierre inesperado. Los códigos fuente del proyecto se distribuyen bajo la licencia BSD. Las bibliotecas cliente están disponibles para la mayoría de los lenguajes de programación populares, incluidos Perl, Python, PHP, Java, Ruby y Tcl. Redis admite transacciones que permiten ejecutar un grupo de comandos en un solo paso, garantizando coherencia y secuencialidad (los comandos de otras solicitudes no pueden interrumpir) en la ejecución de un conjunto de comandos dado, y en caso de problemas permite revertir los cambios. Todos los datos se almacenan completamente en la memoria.

Para gestionar los 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 clasificación. Se admiten dos modos de almacenamiento: sincronización periódica de datos en disco y mantenimiento de un registro de cambios en disco. En el segundo caso, se garantiza la total seguridad de todos los cambios. También es posible organizar la replicación de datos maestro-esclavo en varios servidores, llevada a cabo en modo no bloqueante. También está disponible un modo de mensajería de 'publicación/suscripción', en el que se crea un canal del cual los mensajes se distribuyen a los clientes por suscripción.

Mejoras clave mejoras, añadidos en Redis 6.0:

  • Por defecto, se ofrece un nuevo protocolo RESP3, pero el establecimiento de la conexión comienza en modo RESP2 y el cliente solo cambia al nuevo protocolo si se utiliza el nuevo comando HELLO en el proceso de negociación de la conexión. RESP3 permite devolver directamente tipos de datos complejos sin necesidad de convertir arreglos generales del lado del cliente y separando los tipos devueltos.
  • Soporte para listas de control de acceso (ACL), que permiten definir con precisión qué operaciones puede realizar el cliente y cuáles no. Las ACL también permiten protegerse de posibles errores durante el desarrollo, por ejemplo, a un controlador que solo ejecuta la operación BRPOPLPUSH se le puede prohibir realizar otras operaciones, y en caso de que en el código de trabajo se olvide accidentalmente la llamada FLUSHALL añadida durante la depuración, esto no causará problemas. La implementación de ACL no conlleva gastos adicionales y prácticamente no afecta al rendimiento. También se han preparado módulos de interfaz para las ACL, que permiten crear sus propios métodos de autenticación. Para ver todas las violaciones de ACL registradas, existe el comando 'ACL LOG'. Para generar claves de sesión impredecibles, se ha añadido el comando 'ACL GENPASS', que utiliza HMAC basado en SHA256.
  • Soporte SSL/TLS para cifrar el canal de comunicación entre el cliente y el servidor.
  • Soporte caché de datos en el lado del cliente. Para la conciliación de la caché del lado del cliente con el estado de la base de datos, están disponibles dos modos: 1. Recordar en el servidor las claves que el cliente ha solicitado anteriormente, para informarle sobre la pérdida de validez de una entrada en la caché del cliente. 2. Un mecanismo de 'broadcasting', en el cual el cliente se suscribe a ciertos prefijos de claves y el servidor le notifica si hay cambios en las claves que caen bajo esos prefijos. La ventaja del modo 'broadcasting' es que no se desperdicia memoria adicional en el servidor para almacenar un mapa de valores en caché del lado del cliente, y la desventaja es el aumento en el número de mensajes transmitidos.
  • El corredor de mensajes Disque, que permite utilizar Redis para procesar colas de mensajes, se ha trasladado a un módulo separado.
  • Se añadió Cluster Proxy, proxy para un clúster de servidores Redis, que permite organizar el trabajo del cliente con varios servidores Redis como si fuera una sola instancia. El proxy puede enrutar solicitudes a los nodos con los datos necesarios, multiplexar conexiones, reconfigurar el clúster en caso de detectar fallos en los nodos, y ejecutar solicitudes que abarcan varios nodos.
  • Se ha mejorado significativamente la API para la escritura de módulos, transformando esencialmente Redis en un marco que permite crear sistemas en forma de módulos de extensión.
  • Se ha implementado un modo de replicación en el que los archivos RDB se eliminan inmediatamente después de ser utilizados.
  • Se ha mejorado el protocolo de replicación PSYNC2, lo que permite realizar una resincronización parcial con más frecuencia, aumentando las posibilidades de detectar un desfase común entre la réplica y el maestro.
  • Se ha acelerado la carga de archivos RDB. Dependiendo del contenido del archivo, la aceleración varía entre el 20 y el 30%. La ejecución del comando INFO también se ha acelerado significativamente con un gran número de clientes conectados.
  • Se ha añadido un nuevo comando STRALGO que implementa complejos algoritmos de procesamiento de cadenas. Actualmente, solo está disponible un algoritmo, LCS (longest common subsequence), que puede ser útil para comparar secuencias de ARN y ADN.

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