A Redis 7.4 adatbázis kiadása, amelyet proprietárius licencformákra alakítottak.

Megjelent a Redis 7.4 adatbázis-kezelő rendszer, amely a NoSQL rendszerek kategóriájába tartozik. A Redis funkciókat biztosít az adatok kulcs/érték formátumban való tárolására, kiterjesztve a strukturált adatformátumok támogatásával, mint például a listák, hashek és halmazok, valamint Lua nyelven írt feldolgozó szkriptek kiszolgálón történő futtatásának lehetőségével. A RAM alapú tárolórendszerekkel, mint a Memcached, ellentétben a Redis nemcsak a memóriában, hanem lemezen is tárolja az adatbázist, ami biztosítja az adatbázis megőrzését vészhelyzet esetén.

A Redis 7.4-t a licencelési feltételek új szabályai szerint tették közzé - a korábban használt BSD licenc helyett a kód most már RSALv2 (Redis Source Available License v2) és SSPLv1 (Server Side Public License v1) alatt érhető el. Azok, akik továbbra is a BSD licenc alatt szeretnék használni a kódot, igénybe vehetik a Valkey projektek (fork, amelyet az Amazon, Google, Oracle, Ericsson és Snap közreműködésével fejlesztenek), a Redict (a Sway felhasználói felület és a Hare nyelv alkotója által készített fork), a Garnet (a Microsoft Redis-kompatibilis DBMS-je) vagy a KeyDB (Snapchat 5-ös verziójának nagy teljesítményű forkja) lehetőségét.

Az SSPL és RSAL licencek diszkriminálóak bizonyos felhasználói kategóriákkal szemben, ami miatt nem tekinthetőek nyílt vagy szabad licenceknek. Céljaik szerint a két licenc hasonló, a különbségek pedig abban állnak, hogy az SSPL licenc az AGPLv3 szerzői jogi licenc alapján készült, míg az RSAL licenc a permisszív BSD licencre épül. Az RSAL licenc lehetővé teszi a kód használatát, módosítását, terjesztését és integrálását alkalmazásokba, kivéve, ha ezek az alkalmazások kereskedelmi célúak vagy fizetett szolgáltatások nyújtására használják őket. Az SSPL licenc emellett megköveteli, hogy nemcsak az alkalmazás magának a kódját, hanem minden komponenst, amely részt vesz a felhőszolgáltatás nyújtásában, ugyanazon licenc alatt biztosítsák.

A Redis támogatja a tranzakciókat, amelyek lehetővé teszik, hogy egy lépésben végrehajtsunk egy parancsgyűjteményt, garantálva az összeférhetőséget és a folyamatosságot (más kérdések parancsai nem tudnak beékelődni) a megadott parancsgyűjtemény végrehajtása során, és problémák esetén lehetővé teszi a módosítások visszavonását. Minden adat teljes mértékben a memóriában kerül tárolásra. Ügyfélkönyvtárak elérhetők a legnépszerűbb nyelvekhez, beleértve a Perl, Python, PHP, Java, Ruby és Tcl nyelveket is.

Az adatok kezelésére olyan parancsokat biztosítanak, mint az inkrementálás/dekrementálás, a listák és halmazok standard műveletei (egyesítés, metszet), a kulcsok átnevezése, többszörös kiválasztás és rendezési funkciók. Két tárolási mód támogatott: az adatok időszakos szinkronizálása a lemezre, valamint a változások naplózása a lemezen. A második esetben a módosítások teljes biztonsággal garantáltan megmaradnak. Lehetséges master-slave adatmásolás több szerverek, amely nem blokkoló módban történik. Elérhető a "publikálás/előfizetés" üzenetváltási mód is, amelyben egy csatorna jön létre, és az azon lévő üzenetek a feliratkozó ügyfelek számára terjednek.

A Redis 7.4 funkcionalitásában bekövetkezett kulcsfontosságú változások:

  • Bevezetésre került az egyes mezők élettartamának korlátozásának lehetősége a leképezett kulcs-érték párok csoportos gyűjteményeit tároló struktúrákban. A kulcs élettartamának megadásával ellentétben a javasolt módosítás nemcsak a vele kapcsolatos mezők közös élettartamát teszi lehetővé, hanem lehetőséget biztosít egyedi élettartamok megadására is, ami például a hitelesítési tokenek rövidebb élettartamának biztosítására használható más ügyféladatokhoz képest.
  • Új bfloat16 és float16 adattípusokat javasoltak, amelyeket gépi tanulási alkalmazásokban optimális felhasználásra terveztek, és csökkentik a memóriafogyasztást a korábban elérhető float32 és float64 típusokhoz képest. Ezeknek az új típusoknak a használata a leképezett kulcs-érték párokban 47%-kal csökkenti a memóriafogyasztást a vektoralapú adatbázisokban, 59%-kal csökkenti az adatok lekérdezésére fordított időt, és 58%-kal csökkenti az indexek létrehozásának idejét a float64 típushoz képest.
  • Megkönnyítették a másodlagos indexek használatát. Másodlagos indexekből való lekérdezés esetén már nem szükséges külön speciális karakterek, például „@” és „.” escape-elése, elegendő a dupla idézőjelek használata az adatok körülfogásához. A hiányzó és üres mezők indexelése is jelentősen javult — az indexek létrehozására és a mezők jelenlétét figyelembe vevő lekérdezések formálására új INDEXMISSING kulcsszót és ismissing() függvényt javasoltak. Új INTERSECT és DISJOINT operátorokat is bevezettek a földrajzi adatok keresésének könnyítésére. Lehetőségek kerültek bevezetésre az index memóriafogyasztásának elemzésére is.
  • Feltételek támogatása került bevezetésre az adatsorokba való beillesztésnél, például periodikus adatbetöltéskor az adatbázisba, lehetőség van szűrők hozzáadására, hogy figyelmen kívül hagyja azokat az értékeket, amelyek időbeli eltérése a korábbi értéktől kisebb egy adott küszöbértéknél.
  • A JavaScript nyelvű trigger-ek és funkciók támogatása, amelyeket a múltkori kiadás javasolt, megszűnt.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster