Valkey 9.0 andmebaasi vĂ€ljaanne toimus, mis eelmisel aastal eraldus Redis andmebaasist. Fork loodi pĂ€rast Redis 7.4 ĂŒleminekut omandiĂ”iguslikule litsentsile. Redis 8.0 vĂ€ljaandes tagastati kood vaba litsentsi AGPLv3 alla, kuid see ei mĂ”jutanud Valkey projekti arendust. Valkey areneb neutraalses keskkonnas Linux Foundationi toetusel, kus osalevad arendajad sellistest ettevĂ”tetest nagu Amazon, Google, Oracle, Ericsson ja Snap. Projekti kood on kirjutatud C keeles ja jagatakse BSD litsentsi alusel. Töötlust toetatakse Linuxis, macOS-is, OpenBSD-s, NetBSD-s ja FreeBSD-s.
Valkey ja Redis andmebaasid pakuvad funktsioone andmete salvestamiseks vĂ”tme/vÀÀrtuse formaadis, laiendatud struktureeritud andmeformaatide, nĂ€iteks loendite, hash'ide ja hulkade toega, samuti vĂ”imalusega sooritada operatsioone serveri kĂŒljes. serverid Lua-keeles skriptide töötlemine. Andmebaas salvestatakse mĂ€llu ja sĂŒnkroniseeritakse kettaversiooniga vĂ”i peegeldatakse ketas muutuste logisse, mis tagab andmete sĂ€ilimise juhuks, kui programm ootamatult sulgub. Toetatakse tehingute, avaldamise/jaotamise reĆŸiimi, inkrementaalsete/dekrementaalsete kĂ€skluste, samuti listide ja hulkade operatsioone (liitmine, ristumine), vĂ”tmete ĂŒmbernimetamist, master-slave replikatsiooni, mitmikvalikuid ja sorteerimisfunktsioone.
Uues versioonis:
- Andmete ĂŒleviimiseks klastris kasutatakse aatomilisi slotimigratsiooni tehnikaid, kus andmed liiguvad mitte ĂŒksikute vĂ”tmete tasemel (ĂŒks vĂ”tme korraga), vaid aatomilise 16384 baitise andmesalvestuse sloti liikumise tasemel. Ălekanne toimub AOF formaati kasutades, mis vĂ”imaldab saata ĂŒksikuid kogu elemente, mitte kĂ”iki andmeid, mis vĂ”tmega seotud. Selline lĂ€henemine suurendab tootlikkust oluliselt, vĂ”imaldab vĂ€ltida edasiviimist ja kĂ”rvaldab viivitused, mis tekivad kliendi juurdepÀÀsul edasi kantavale vĂ”tmele.
- Lisatud vĂ”imalus mÀÀrata erinevate vĂ€ljade eluaeg erinevatele rohkem kui ĂŒhe vĂ”tmega seotud hash'idele (varem oli eluaeg seotud vĂ”tmega ja hĂ”lmas kĂ”iki vĂ€lju korraga). Andmete eluea haldamiseks on lisatud uued kĂ€sud: HEXPIRE, HEXPIREAT, HEXPIRETIME, HGETEX, HPERSIST, HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HPTTL, HSETEX ja HTTL.
- Pakutakse vĂ”imalust kasutada klasterreĆŸiimis nummerdatud andmebaase, kus vĂ”tme ruum jagatakse mitmeks erinevaks andmebaasiks (vaikimisi 16).
- Suurte klastrite töö efektiivsust on parandatud â demonstreeritud on 2000 sĂ”lmest koosnev klaster, mis suudab toime tulla miljardi pĂ€ringuga sekundis.
- Lisatud optimeerimine, mis vÔimaldab teatud olukordades suurendada lÀbilaskevÔimet 40% vÔrra, jÀrkjÀrgulise kÀsu eelkoormamise abil mÀlu.
- Lisatud optimeerimine, mis vÔimaldab teatud olukordades suurendada lÀbilaskevÔimet 20% vÔrra, vÀltides suurete pÀringute töötlemisel andmete kopeerimist mÀlus (zero copy).
- Lisatud toeks Multipath TCP tehnoloogia, et vÔimaldada pakettide edastamist samaaegselt mitmete marsruutide kaudu, mis on seotud erinevate IP-aadressidega. Multipath TCP kasutamine vÔimaldab mÔnes olukorras vÀhendada latentsust kuni 25%.
- BITCOUNT ja HyperLogLog on saanud optimeerimised, mis kasutavad SIMD protsessorite kÀske, vÔimaldades mÔnes olukorras suurendada lÀbilaskevÔimet kuni 200%.
- Georuumilistes indeksites on lisatud tugi asukohapĂ€ringutele, mis pĂ”hinevad polĂŒgooni koordinaatidel.
- Lisatud kÀsk «DELIFEQ» vÔtme eemaldamiseks, kui sellega seotud vÀÀrtus vastab mÀÀratud tingimusele.
- KÀsus «CLIENT LIST» on rakendatud filtreerimise vÔimalus, mis eemaldab elemente nime, lippude, aktiivsuse, andmebaasi, IP-aadressi ja volituste alusel.
- Toetatakse taas 25 kÀsu, mis olid varem vÀlja kuulutatud aegunuks.
Allikas: opennet.ru
