Avalikustatud on andmebaasi Redis 7.4 vĂ€ljaanne, mis kuulub NoSQL sĂŒsteemide klassi. Redis pakub funktsioone andmete salvestamiseks vĂ”tme/vÀÀrtuse formaadis, laiendatud struktureeritud andmevormingute, nĂ€iteks loendite, hashide ja hulkade toetusega, samuti serveripoolsete Lua skriptide töötlemise vĂ”imalusega. Erinevalt mĂ€lu andmebaasidest nagu Memcached, salvestab Redis andmebaasi mitte ainult mĂ€llu, vaid ka kettale, mis tagab andmebaasi sĂ€ilimise juhtumite korral, kui sĂŒsteem ootamatult katkeb.
Redis 7.4 on kuulutatud esimeseks versiooniks, mis kĂ€ivitatakse uute litsentsimisnĂ”uete alusel â varasema BSD litsentsi asemel on kood nĂŒĂŒd saadaval proprietary litsentside RSALv2 (Redis Source Available License v2) ja SSPLv1 (Server Side Public License v1) all. Need, kes soovivad jĂ€tkata koodi kasutamist BSD litsentsi alusel, saavad kasutada projekte Valkey (fork, mida arendavad Amazon, Google, Oracle, Ericsson ja Snap), Redict (fork, mille autor on Sway kasutajaliidese ja keele Hare looja), Garnet (Microsofti andmebaas, mis on ĂŒhilduv Redisiga) vĂ”i KeyDB (Snapchat'i kĂ”rge jĂ”udlusega fork Redis 5-st).
SSPL ja RSAL litsentsid diskrimineerivad teatud kasutajgruppen, mistÔttu ei saa neid pidada avatud vÔi vabaks. Oma eesmÀrkidelt on mÔlemad litsentsid sarnased, erinedes aga selles, et SSPL litsents pÔhineb AGPLv3 kopileft litsentsil, samas kui RSAL litsents pÔhineb lubava BSD litsentsil. RSAL litsents vÔimaldab koodi kasutada, muuta, levitada ja integreerida rakendustesse, vÀlja arvatud juhul, kui need rakendused on kommerts vÔi neid kasutatakse haldavate tasuliste teenuste osutamiseks. SSPL litsents sisaldab tÀiendavat nÔuet, et sama litsentsi alusel tuleb vÀljastada mitte ainult rakenduse kood, vaid ka nende komponentide lÀhtekood, mis on seotud pilveteenuse osutamisega.
Redis andmebaas toetab tehingute tegemist, mis vĂ”imaldavad rĂŒhmade kĂ€ske ĂŒhes sammuga tĂ€ita, tagades ĂŒhtsuse ja jĂ€rjepidevuse (teised pĂ€ringud ei saa sekkuda) antud kĂ€skude komplekti tĂ€itmisel, ja probleemide korral vĂ”imaldavad muudatused tagasi vĂ”tta. KĂ”ik andmed salvestatakse tĂ€ielikult vahemĂ€lu mĂ€llu. Klientide teegid on saadaval enamikus populaarsetes keeltes, sealhulgas Perl, Python, PHP, Java, Ruby ja Tcl.
Andmete haldamiseks on saadaval sellised kĂ€sud nagu inkrement-/dekrement, tavalised toimingud loendite ja hulkadega (ĂŒhendamine, ristumine), vĂ”tmete ĂŒmbernimetamine, mitme valiku tegemine ja sorteerimisfunktsioonid. Toetatakse kahte salvestusreĆŸiimi: andmete perioodne sĂŒnkroonimine diskiga ja muudatuste logimise pidamine. Teise juhtumi korral tagatakse kĂ”igi muudatuste tĂ€ielik sĂ€ilitamine. On vĂ”imalik korraldada master-slave andmete replikatsiooni mitmesse serverite, mis toimub blokeerimata reĆŸiimis. Saadaval on ka sĂ”numite vahetamise reĆŸiim âpublikatsioon/annetusâ, kus luuakse kanal, mille teated levivad tellijatele.
Redis 7.4 funktsionaalsuse olulised muudatused:
- Lisatud on vĂ”imalus piirata ĂŒksikute vĂ€ljade eluea pikkust hash'ides ja struktuurides, mis salvestavad rĂŒhmitatud vĂ”tme-vÀÀrtuse kogu. Erinevalt vĂ”tme eluea mÀÀramisest vĂ”imaldab see muudatus mÀÀrata mitte ainult kĂ”igi seotud vĂ€ljade ĂŒldise eluea, vaid ka ĂŒksikute vĂ€ljade eluea individuaalsed vÀÀrtused, mida saab kasutada nĂ€iteks autentimistokenite lĂŒhema eluea tagamiseks vĂ”rreldes teiste seanssiga seotud andmetega.
- Pakutakse uusi andmetĂŒĂŒpe bfloat16 ja float16, optimeeritud masinĂ”ppe rakendustes kasutamiseks, vĂ”imaldades vĂ€hendada mĂ€lu kasutust vĂ”rreldes varem saadaval olnud andmetĂŒĂŒpidega float32 ja float64. Hash'ides kasutamisel vĂ”imaldavad uued andmetĂŒĂŒbid vĂ€hendada mĂ€lu kasutust vektorkandjate andmebaasides 47%, vĂ€hendada andmete vĂ€ljavĂ”tmise viivitusi 59% ja lĂŒhendada indeksite loomise aega 58% vĂ”rreldes float64 tĂŒĂŒbiga.
- Sekundaarsete indeksite kasutamine on lihtsustatud. Teabe taotlemisel sekundaarsetest indeksitest ei ole nĂŒĂŒd erimĂ€rkide, nagu «@» ja «.», ĂŒmberkoodimine enam vajalik, vaid andmeosade piiramise jaoks vĂ”ib kasutada ka kahetĂ€helisi jutumĂ€rke. Oluliselt on samuti paranenud tĂŒhjade ja puuduvate vĂ€ljade indekseerimine â indeksite loomise ja pĂ€ringute koostamise arvessevĂ”tmiseks, mis arvesse vĂ”tab vĂ€ljade olemasolu, on pakkuda uus mĂ€rksĂ”na INDEXMISSING ja funktsioon ismissing(). Uued operaatorid INTERSECT ja DISJOINT on lisatud georuumiliste andmete leidmise lihtsustamiseks. Indeksi mĂ€lutarbimise analĂŒĂŒsi vĂ”imalused on lisatud.
- Vale filtreerimise toetamine on lisatud, et eemaldada elemente lisatavates andmekogumites. NÀiteks andmesensorite perioodilisel andmete laadimisel andmebaasi on vÔimalik lisada filter, et ignoreerida vÀÀrtusi, mille ajavahe eelmisest vÀÀrtusest on vÀiksem teatavast lÀvivÀÀrtusest.
- JavaScripti keeles mÀÀratud triggereid ja funktsioone, mis pakuti vÀlja eelmisel vÀljaandel, ei toetata enam.
Allikas: opennet.ru
