Uitgave van de database Redis 7.4, overgezet naar proprietary licenties.

De release van de database Redis 7.4, die tot de NoSQL-systemen behoort, is gepubliceerd. Redis biedt functies voor het opslaan van gegevens in de sleutel/waarde-indeling, uitgebreid met ondersteuning voor gestructureerde gegevensformaten zoals lijsten, hashes en verzamelingen, evenals de mogelijkheid om server-side scripts in de programmeertaal Lua uit te voeren. In tegenstelling tot opslag systemen in het RAM, zoals Memcached, slaat Redis de database niet alleen in het geheugen op, maar ook op de schijf, wat de veiligheid van de database garandeert in geval van een noodstop.

Redis 7.4 wordt aangekondigd als de eerste versie die wordt verspreid onder nieuwe licentievoorwaarden - in plaats van de eerder toegepaste BSD-licentie is de code nu beschikbaar onder de eigen licenties RSALv2 (Redis Source Available License v2) en SSPLv1 (Server Side Public License v1). Degenen die het gebruik van de code onder de BSD-licentie willen voortzetten, kunnen gebruikmaken van de projecten Valkey (fork ontwikkeld met de deelname van Amazon, Google, Oracle, Ericsson en Snap), Redict (fork van de auteur van de gebruikersshell Sway en de programmeertaal Hare), Garnet (database van Microsoft die compatibel is met Redis) of KeyDB (hoogpresterende fork van Redis 5 door Snapchat).

De SSPL- en RSAL-licenties leiden tot discriminatie van bepaalde categorieƫn gebruikers, waardoor ze niet als open of vrij kunnen worden beschouwd. Wat betreft hun doelen lijken beide licenties op elkaar, en de verschillen zijn dat de SSPL-licentie is gebaseerd op de copyleft-licentie AGPLv3, terwijl de RSAL-licentie is gebaseerd op de permissieve BSD-licentie. De RSAL-licentie staat het gebruik, de wijziging, de distributie en de integratie van de code in toepassingen toe, behalve in gevallen waarin deze toepassingen commercieel zijn of worden gebruikt voor het aanbieden van beheerde betaalde diensten. De SSPL-licentie bevat bovendien de vereiste dat niet alleen de code van de toepassing zelf, maar ook de broncodes van alle componenten die betrokken zijn bij het aanbieden van de cloudservice onder dezelfde licentie moeten worden geleverd.

De Redis-database ondersteunt transacties, waarmee een groep commando's in ƩƩn stap kan worden uitgevoerd, waardoor de consistentie en volgorde gegarandeerd zijn (commando's van andere verzoeken kunnen zich niet tussen de uitvoering van de gegeven set commando's invoegen) en in geval van problemen kunnen worden teruggedraaid. Alle gegevens worden volledig in het RAM-geheugen gecached. Clientbibliotheken zijn beschikbaar voor de meeste populaire talen, waaronder Perl, Python, PHP, Java, Ruby en Tcl.

Voor het beheer van gegevens zijn er commando's zoals incrementeer/decrementeer, standaardoperaties op lijsten en verzamelingen (samenvoegen, kruising), sleutelherbenaming, meerdere selecties en sorteervarianten. Er worden twee opslagmodi ondersteund: periodieke synchronisatie van gegevens naar de schijf en het bijhouden van een logboek van wijzigingen op de schijf. In het tweede geval wordt volledige integriteit van alle wijzigingen gegarandeerd. Het is mogelijk om master-slave replicatie van gegevens te organiseren over meerdere servers, uitgevoerd in een niet-blokkerende modus. Ook is er een berichtuitwisseling modus beschikbaar met "publiceren/abonneren", waarbij een kanaal wordt gecreƫerd waarvan berichten naar abonnees worden verspreid.

Belangrijke wijzigingen in de functionaliteit van Redis 7.4:

  • De mogelijkheid is toegevoegd om de levensduur van afzonderlijke velden in hashes te beperken, structuren voor het opslaan van gegroepeerde collecties van records in een sleutel-waardeformaat. In tegenstelling tot het toewijzen van levensduur aan de sleutel, maakt de voorgestelde wijziging het mogelijk om niet alleen een algemene levensduur voor alle gerelateerde velden in te stellen, maar ook individuele levensduurlwaarden voor afzonderlijke velden, wat kan worden gebruikt om een kortere levenscyclus voor authenticatietokens te waarborgen in vergelijking met andere sessiegegevens.
  • Nieuwe datatypes bfloat16 en float16 zijn voorgesteld, geoptimaliseerd voor gebruik in machine learning-toepassingen en waarmee het geheugenverbruik kan worden verminderd in vergelijking met eerder beschikbare types float32 en float64. Bij gebruik in hashes bieden de nieuwe types de mogelijkheid om het geheugenverbruik in vector-databases met 47% te verminderen, de latentie voor gegevensafhaling met 59% te verlagen en de tijd voor het maken van indexen met 58% te verkorten in vergelijking met het type float64.
  • Het gebruik van secundaire indexen is vereenvoudigd. Bij het opvragen van informatie uit secundaire indexen is het nu niet nodig om afzonderlijke speciale symbolen, zoals '@' en '.', te escapen, maar kunnen dubbele aanhalingstekens worden gebruikt om een reeks gegevens af te bakenen. Ook is de indexering van lege en afwezig zijnde velden aanzienlijk verbeterd - voor het creĆ«ren van indexen en het opstellen van verzoeken die rekening houden met de aanwezigheid van velden, zijn nieuwe sleutelwoorden INDEXMISSING en de functie ismissing() voorgesteld. Nieuwe operatoren INTERSECT en DISJOINT zijn toegevoegd om het zoeken naar geospatiale gegevens te vergemakkelijken. Er zijn mogelijkheden toegevoegd voor het analyseren van het geheugenverbruik van de index.
  • Ondersteuning voor filters is toegevoegd om elementen uit toegevoegde datasets uit te sluiten, bijvoorbeeld wanneer periodiek gegevens van sensoren in de database worden geladen, kan een filter worden toegevoegd om waarden te negeren waarvan het tijdsverschil met de vorige waarde kleiner is dan een bepaalde drempel.
  • De ondersteuning voor triggers en functies in JavaScript, voorgesteld in de vorige release, is beĆ«indigd.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster