Avaldasime Redis 7.4 andmebaasi, mis kuulub NoSQL sĂŒsteemide klassi. Redis pakub funktsioone andmete salvestamiseks vĂ”tme/vÀÀrtuse formaadis, laiendatud struktureeritud andmeformaatide, nagu loendid, hash'id ja kogud, toetamisega, samuti vĂ”imalusega serveripoolseks skriptitöötluseks Lua keeles. Erinevalt mĂ€luandmebaasidest, nagu Memcached, salvestab Redis andmebaasi mitte ainult mĂ€llu, vaid ka kettale, mis tagab andmebaasi sĂ€ilimise ootamatute katkestuste korral.
Redis 7.4 kuulutati vĂ€lja esimesena versioonina, mis jagatakse uute litsentsimisnĂ”uete alusel â varasemalt kasutatud BSD litsentsi asemel on kood nĂŒĂŒd saadaval omaniku litsentside RSALv2 (Redis Source Available License v2) ja SSPLv1 (Server Side Public License v1) all. Need, kes soovivad jĂ€tkata BSD litsentsiga koodi kasutamist, saavad kasutada projekte Valkey (fork, mida arendab koostöös Amazon, Google, Oracle, Ericsson ja Snap), Redict (fork kasutajaliidese Sway autori ja keele Hare autorilt), Garnet (Microsofti andmebaas, mis on ĂŒhilduv Redis'iga) vĂ”i KeyDB (kĂ”rge jĂ”udlusega Redis 5 fork Snapchatist).
Litsentsid SSPL ja RSAL viivad teatud kasutajate rĂŒhmade diskrimineerimiseni, mistĂ”ttu ei saa neid pidada avatud vĂ”i vabaks. Oma eesmĂ€rkidelt sarnanevad mĂ”lemad litsentsid ĂŒksteisele, erinevused aga seisnevad selles, et SSPL litsents pĂ”hineb AGPLv3 copyleft litsentsil, samas kui RSAL litsents pĂ”hineb BSD lubaval litsentsil. RSAL litsents vĂ”imaldab koodi kasutada, muuta, levitada ja integreerida rakendustesse, vĂ€lja arvatud juhul, kui need rakendused on kommertsialiseeritud vĂ”i neid kasutatakse tasuliste hallatud teenuste pakkumiseks. SSPL litsents sisaldab lisaks ka nĂ”uet, et sama litsentsi alusel tuleb tarnida mitte ainult rakenduse kood, vaid ka kĂ”igi komponentide lĂ€htekood, mis on seotud pilveteenuse pakkumisega.
Redis andmebaas toetab tehinguid, mis vĂ”imaldavad ĂŒhes etapis tĂ€ita rĂŒhma kĂ€ske, tagades ĂŒhetaolisuse ja jĂ€rjestikuse tĂ€itmise (teised pĂ€ringud ei saa sekkuda) mÀÀratud kĂ€su kogumi tĂ€itmisel ning probleemide korral muudatuste tagasivĂ”tmise. KĂ”ik andmed vahemĂ€lustatakse tĂ€ielikult mĂ€llu. Klientraamatukogud on saadaval enamikele populaarsetele keeltele, sealhulgas Perl, Python, PHP, Java, Ruby ja Tcl.
Andmete haldamiseks on saadaval sellised kĂ€sud nagu inkrement/dekrement, standardoperatsioonid loendite ja hulkade (ĂŒhendamine, ristumine), vĂ”tmete ĂŒmbernimetamine, mitme valiku tegemine ja sorteerimisfunktsioonid. Toetatakse kahte salvestusreĆŸiimi: andmete perioodiline sĂŒnkroonimine kettale ja muutuste logi sĂ€ilitamine kettal. Teises reĆŸiimis tagatakse kĂ”igi muudatuste tĂ€ielik sĂ€ilimine. On vĂ”imalik korraldada master-slave andmete replikatsiooni mitmele serverid, mis toimub mitteblokeerivas reĆŸiimis. Samuti on saadaval sĂ”numite vahetamise reĆŸiim "publish/subscribe", mille korral luuakse kanal, mille sĂ”numid levivad klientidele tellimuse alusel.
Redis 7.4 funktsionaalsuse olulised muudatused:
- Lisatud on vĂ”imalus piirata ĂŒksikute vĂ€ljade eluea aega hajutatud andmebaaside struktuurides vĂ”tme-vÀÀrtuse kogumite jaoks. Aegumise aja mÀÀramine mÀÀrab mitte ainult ĂŒldise eluea, vaid ka individuaalsed eluea vÀÀrtused eraldi vĂ€ljade jaoks, mida saab nĂ€iteks kasutada autentimise tokenite lĂŒhema eluea tagamiseks vĂ”rreldes teiste seansi andmetega.
- Pakutud on uued andmetĂŒĂŒbid bfloat16 ja float16, mis on optimeeritud masinĂ”ppe rakendustes kasutamiseks ja vĂ€hendavad mĂ€lutarvet vĂ”rreldes varem saadaval olnud tĂŒĂŒpidega float32 ja float64. Haskellidel kasutades annavad uued tĂŒĂŒbid vĂ”imaluse vĂ€hendada mĂ€lutarvet vektorandmebaasides 47%, vĂ€hendada andmete vĂ€ljavĂ”tmise viivitusi 59% ja vĂ€hendada indeksite loomise aega 58% vĂ”rreldes tĂŒĂŒbiga float64.
- TeisejĂ€rgsete indeksite kasutamine on lihtsustatud. TeisejĂ€rgsete indeksite teabe pĂ€rimisel ei pea nĂŒĂŒd erimĂ€rke, nagu «@» ja «.», eraldi Ă€ra tundma, vaid andmete osade ĂŒmber vĂ”ib kasutada ka kahefooldseid jutumĂ€rke. Lisaks on oluliselt paranenud tĂŒhjade ja puuduva vĂ€li indeksimine â indeksite loomise ja otsingupĂ€ringute koostamise jaoks, mis arvestavad vĂ€li olemasolu, on tutvustatud uut mĂ€rksĂ”na INDEXMISSING ja funktsiooni ismissing(). Uued operaatorid INTERSECT ja DISJOINT on lisatud georuumiandmete otsimise lihtsustamiseks. Indeksi kaudu mĂ€lu tarbimise analĂŒĂŒsimise vĂ”imalused on lisatud.
- Lisatud on filterite tugi andmekogumite lisamiseetapi elementide filtreerimiseks. NÀiteks andmesensorite andmete perioodilisel laadimisel andmebaasi saab lisada filtri, et ignoreerida vÀÀrtusi, mille ajavahe eelneva vÀÀrtusega on vÀiksem kui teatud lÀvivÀÀrtus.
- JavaScripti keeles pakutud kÀivitite ja funktsioonide tugi on lÔpetatud.
Allikas: opennet.ru
