Udgivelsen af databasesystemet Redis 7.4, der er overgået til proprietære licenser.

Udgivelsen af databasen Redis 7.4, som tilhører klassen af NoSQL-systemer, er nu offentliggjort. Redis tilbyder funktioner til datalagring i nøgle/værdi-format, udvidet med støtte til strukturerede dataformater såsom lister, hashes og sæt, samt muligheden for at udføre server-side behandlingsscripts skrevet i Lua. I modsætning til systemer til lagring i hukommelsen, såsom Memcached, gemmer Redis databasen ikke kun i hukommelsen, men også på disk, hvilket sikrer, at databasen bevares ved et pludseligt nedbrud.

Redis 7.4 er blevet annonceret som den første version, der distribueres med nye licensbetingelser — i stedet for den tidligere anvendte BSD-licens er koden nu tilgængelig under proprietære licenser RSALv2 (Redis Source Available License v2) og SSPLv1 (Server Side Public License v1). De, der ønsker at fortsætte med at bruge koden under BSD-licensen, kan benytte sig af projekterne Valkey (et fork udviklet med deltagelse af Amazon, Google, Oracle, Ericsson og Snap), Redict (et fork fra skaberen af brugergrænsefladen Sway og sproget Hare), Garnet (en database fra Microsoft, der er kompatibel med Redis) eller KeyDB (et højtydende fork af Redis 5 fra Snapchat).

Licenserne SSPL og RSAL fører til diskrimination af bestemte brugergrupper, hvilket forhindrer deres betragtning som åbne eller frie. Begge licenser har lignende mål, mens forskellene primært består i, at SSPL er baseret på copyleft-licensen AGPLv3, mens RSAL er baseret på den permissive BSD-licens. RSAL-licensen tillader brug, ændring, distribution og integration af koden i applikationer, medmindre disse applikationer er kommercielle eller bruges til at levere administrerede betalte tjenester. SSPL-licensen indeholder desuden krav om levering under samme licens, ikke kun for koden af selve applikationen, men også for kildekoden af alle komponenter involveret i levering af en cloud-service.

Redis-databasen understøtter transaktioner, der gør det muligt at udføre en gruppe kommandoer i ét trin og garanterer konsistens og sekvensering (andre forespørgsler kan ikke blande sig) i udførelsen af det angivne kommando-sæt, og i tilfælde af problemer tillades det at rulle ændringer tilbage. Alle data caches i fuldt omfang i RAM. Klientbiblioteker er tilgængelige for de mest populære sprog, herunder Perl, Python, PHP, Java, Ruby og Tcl.

Til datahåndtering gives der kommandoer som inkrement/dekrement, standardoperationer på lister og sæt (forening, intersection), omdøbning af nøgler, multipel sampling og sorterede funktioner. To lagringsmetoder understøttes: periodisk synkronisering af data på disk og føring af en ændringslog på disken. I det andet tilfælde sikres det, at alle ændringer bliver bevaret fuldt ud. Det er muligt at organisere master-slave datarapportering til flere servere, der sker i en ikke-blokerende tilstand. En publicerings-abonnements-mulighed er også tilgængelig, hvor en kanal oprettes, og beskeder fra denne kanal distribueres til abonnenter.

Nøgleændringer i funktionaliteten af Redis 7.4:

  • Muligheden for at begrænse levetiden for individuelle felter i hashes, strukturer til opbevaring af grupperede samlinger af poster i nøgle-værdi format er blevet tilføjet. I modsætning til at angive en levetid for nøglen gør den foreslåede ændring det muligt at angive ikke kun en samlet levetid for alle relaterede felter, men også individuelle levetider for bestemte felter, hvilket kan bruges, for eksempel, til at sikre en kortere livscyklus for autentificeringstokener sammenlignet med andre sessionsdata.
  • Nye datatyper bfloat16 og float16 er foreslået, optimeret til brug i maskinlæringsapplikationer og som reducerer hukommelsesforbruget sammenlignet med tidligere tilgængelige typer float32 og float64. Brugt i hashes giver de nye typer mulighed for at reducere hukommelsesforbruget i vektor-BD'er med 47%, mindske datadumpningsforsinkelsen med 59% og forkorte tidsforbruget til at oprette indekser med 58% sammenlignet med float64.
  • Brugen af sekundære indekser er blevet forenklet. Ved forespørgsel på information fra sekundære indekser er det nu muligt ikke at escape individuelle specielle tegn såsom «@» og «.», men i stedet bruge dobbelt anførselstegn til indramning af datastykker. Indeksering af tomme og manglende felter er også blevet betydeligt forbedret — for oprettelse af indekser og dannelse af forespørgsler, der tager højde for tilstedeværelsen af felter, er det foreslået et nyt nøgleord INDEXMISSING og funktionen ismissing(). Nye operatorer INTERSECT og DISJOINT er blevet tilføjet til at forenkle søgningen af geospatial data. Muligheder for at analysere hukommelsesforbruget ved indeks er også blevet tilføjet.
  • Understøttelse af filtre til filtrering af elementer i tilføjede datasæt er blevet tilføjet, f.eks. ved periodisk indlæsning af data fra sensorer til BD, kan der tilføjes et filter for at ignorere værdier, hvis tidsforskel til den forrige værdi er mindre end en bestemt tærskelværdi.
  • Understøttelsen af triggere og funktioner på JavaScript-sprog, som blev foreslået i den forrige udgivelse, er ophørt.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster