Publication de la base de données Redis 7.4, migrée vers des licences propriétaires

La sortie de la base de données Redis 7.4 est publiée, appartenant à la classe des systèmes NoSQL. Redis offre des fonctionnalités pour le stockage de données au format clé/valeur, avec un support étendu pour des formats de données structurés tels que des listes, des hachages et des ensembles, ainsi que la possibilité d'exécuter des scripts de traitement côté serveur en Lua. Contrairement aux systèmes de stockage en mémoire, tels que Memcached, Redis stocke la base de données non seulement en mémoire, mais aussi sur disque, garantissant ainsi la sécurité des données en cas d'arrêt imprévu.

Redis 7.4 est annoncée comme la première version à être proposée avec de nouvelles conditions de licence - au lieu de l'ancienne licence BSD, le code est maintenant disponible sous des licences propriétaires RSALv2 (Redis Source Available License v2) et SSPLv1 (Server Side Public License v1). Ceux qui souhaitent continuer à utiliser le code sous licence BSD peuvent recourir à des projets tels que Valkey (un fork développé avec la participation d'Amazon, Google, Oracle, Ericsson et Snap), Redict (un fork de l'auteur de l'interface utilisateur Sway et du langage Hare), Garnet (une base de données de Microsoft compatible avec Redis) ou KeyDB (un fork performant de Redis 5 par Snapchat).

Les licences SSPL et RSAL entraînent la discrimination de certaines catégories d'utilisateurs, ce qui ne permet pas de les considérer comme ouvertes ou libres. Dans leurs objectifs, les deux licences sont similaires, les différences étant que la licence SSPL est basée sur la licence copyleft AGPLv3, tandis que la licence RSAL est basée sur la licence permissive BSD. La licence RSAL permet d'utiliser, de modifier, de distribuer et d'intégrer le code dans des applications, sauf lorsque ces applications sont commerciales ou utilisées pour fournir des services payants gérés. La licence SSPL inclut en outre l'exigence de fournir sous la même licence non seulement le code de l'application elle-même, mais aussi le code source de tous les composants impliqués dans la fourniture du service cloud.

La base de données Redis prend en charge des transactions, permettant d'exécuter un groupe de commandes en une seule étape, garantissant la cohérence et la séquentialité (les commandes d'autres requêtes ne peuvent pas se glisser) de l'exécution d'un ensemble donné de commandes, et en cas de problème, permettant d'annuler les modifications. Toutes les données sont complètement mises en cache en mémoire vive. Des bibliothèques clients sont disponibles pour la plupart des langages populaires, y compris Perl, Python, PHP, Java, Ruby et Tcl.

Pour la gestion des données, des commandes telles que l'incrémentation/décrémentation, les opérations standard sur des listes et des ensembles (union, intersection), le renommage des clés, les échantillonnages multiples et les fonctions de tri sont fournies. Deux modes de stockage sont pris en charge : la synchronisation périodique des données sur le disque et la tenue d'un journal des modifications sur le disque. Dans le second cas, toutes les modifications sont entièrement conservées. Une organisation de réplication de données maître-esclave est également possible serveurs, réalisée en mode non-bloquant. Un mode de messagerie 'publication/abonnement' est également disponible, où un canal est créé, dont les messages sont distribués aux clients abonnés.

Les changements clés dans les fonctionnalités de Redis 7.4 :

  • Ajout de la possibilité de limiter la durée de vie de certains champs dans les hachages, structures de stockage de collections groupées d'enregistrements au format clé-valeur. Contrairement à l'attribution d'une durée de vie à la clé, le changement proposé permet d'attribuer non seulement une durée de vie globale à tous les champs liés, mais aussi des valeurs individuelles de durée de vie à des champs spécifiques, ce qui peut être utilisé, par exemple, pour assurer un cycle de vie plus court des jetons d'authentification, par rapport à d'autres données de session.
  • Nouveaux types de données bfloat16 et float16 proposés, optimisés pour une utilisation dans des applications d'apprentissage automatique et permettant de réduire la consommation de mémoire par rapport aux types précédemment disponibles float32 et float64. Lors de l'utilisation dans des hachages, ces nouveaux types permettent de réduire la consommation de mémoire dans les bases de données vectorielles de 47 %, de diminuer les délais d'extraction des données de 59 % et de réduire le temps de création des index de 58 % par rapport au type float64.
  • Utilisation simplifiée des index secondaires. Lors de la requête d'informations à partir d'index secondaires, il n'est plus nécessaire d'échapper certains caractères spéciaux, tels que « @ » et « . », mais il est possible d'utiliser des guillemets pour encadrer une portion de données. L'indexation des champs vides et absents a également été considérablement améliorée - pour la création d'index et la formation de requêtes prenant en compte la présence de champs, un nouveau mot-clé INDEXMISSING et une fonction ismissing() ont été proposés. De nouveaux opérateurs INTERSECT et DISJOINT ont été ajoutés pour simplifier la recherche de données géospatiales. Des capacités d'analyse de la consommation de mémoire de l'index ont été ajoutées.
  • Ajout de la prise en charge de filtres pour exclure des éléments dans les ensembles de données ajoutés, par exemple, lors du chargement périodique de données à partir de capteurs dans la base de données, un filtre peut être ajouté pour ignorer les valeurs dont l'écart de temps par rapport à la valeur précédente est inférieur à un certain seuil.
  • Prise en charge des déclencheurs et des fonctions en JavaScript, proposée dans la version précédente, a été interrompue.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster