Redis 6.0 DBMS-i väljalase

Valmistatud DBMS-i väljalase Redis 6.0, mis kuulub NoSQL süsteemide klassi. Redis pakub võtme-/väärtusandmete salvestamiseks memcached-laadseid funktsioone, mida täiustab struktureeritud andmevormingute, nagu loendid, räsid ja komplektid, tugi ning võimalus käitada serveripoolseid Lua töötleja skripte. Projekti kood varustatud BSD litsentsi alusel. Täiendavad moodulid, mis pakuvad ettevõtte kasutajatele täiustatud võimalusi, nagu RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom alates eelmisest aastast varustatud patenteeritud RSAL-litsentsi alusel. Projekt jätkab nende moodulite avatud versioonide arendamist AGPLv3 litsentsi alusel Hea VORM.

Erinevalt Memcachedist pakub Redis andmete püsivat salvestamist kettale ja tagab andmebaasi turvalisuse hädaseiskamise korral. Projekti lähtekoodi levitatakse BSD litsentsi all. Klienditeegid on saadaval enamiku populaarsete keelte jaoks, sealhulgas Perl, Python, PHP, Java, Ruby ja Tcl. Redis toetab tehinguid, mis võimaldavad täita käskude rühma ühe sammuga, tagades järjepidevuse ja järjepidevuse (teistest päringutest pärinevad käsud ei saa segada) antud käskude komplekti täitmisel ning probleemide korral lubades tagasi pöörata. muudatusi. Kõik andmed on täielikult RAM-i vahemällu salvestatud.

Andmete haldamiseks on ette nähtud sellised käsud nagu suurendamine/vähendamine, standardsed loendi- ja komplektitoimingud (liit, ristmik), klahvi ümbernimetamine, mitu valikut ja sortimisfunktsioone. Toetatud on kaks salvestusrežiimi: andmete perioodiline sünkroonimine kettale ja muudatuste logi säilitamine kettal. Teisel juhul on tagatud kõigi muudatuste täielik ohutus. Võimalik on korraldada ülem-alluv andmete replikatsiooni mitmele serverile, mis viiakse läbi mitteblokeerivas režiimis. Saadaval on ka "avalda/telli" sõnumside režiim, mille käigus luuakse kanal, mille sõnumeid jagatakse klientidele tellimise teel.

Võti täiustusedRedis 6.0-s lisatud:

  • Vaikimisi pakutakse uut RESP3-protokolli, kuid ühenduse seadistamine algab RESP2-režiimis ja klient lülitub uuele protokollile ainult siis, kui ühenduse loomisel kasutatakse uut käsku HELLO. RESP3 võimaldab teil keerulisi andmetüüpe otse tagastada, ilma et oleks vaja kliendi poolel üldisi massiive teisendada ja tagastustüüpe eraldades.
  • Juurdepääsu kontrolli loendi tugi (ACL), mis võimaldab teil täpselt määrata, milliseid toiminguid saab klient teha ja milliseid mitte. ACL-id võimaldavad kaitsta ka arenduse käigus tekkivate võimalike vigade eest, näiteks saab ainult BRPOPLPUSH toimingut sooritaval töötlejal keelata muude toimingute tegemise ja kui silumisel lisatud FLUSHALL-kutse kogemata tootmiskoodi ununeb, siis ei too probleeme. ACL-i rakendamine ei too kaasa täiendavaid üldkulusid ega mõjuta jõudlust praktiliselt. ACL-i jaoks on ette valmistatud ka liidese moodulid, mis võimaldavad luua oma autentimismeetodeid. Kõigi salvestatud ACL-i rikkumiste vaatamiseks antakse käsk “ACL LOG”. Ettenägematute seansivõtmete genereerimiseks on SHA256-põhise HMAC-i abil lisatud käsk "ACL GENPASS".
  • Toetama SSL / TLS kliendi ja serveri vahelise sidekanali krüpteerimiseks.
  • Toetama andmete vahemällu salvestamine kliendi poolel. Kliendipoolse vahemälu ja andmebaasi oleku ühitamiseks on saadaval kaks režiimi: 1. Jätta serverisse meelde kliendi poolt eelnevalt küsitud võtmed, et teavitada teda kliendi vahemälu kirje asjakohasuse kadumisest. 2. “Edastamise” mehhanism, mille puhul klient tellib teatud võtmeprefiksid ja server teavitab teda, kui nende eesliidete alla kuuluvad võtmed muutuvad. "Edastamise" režiimi eeliseks on see, et server ei raiska kliendi poolel vahemällu salvestatud väärtuste kaardi salvestamiseks lisamälu, kuid puuduseks on see, et edastatavate sõnumite arv suureneb.
  • Disque'i sõnumimaakler, mis võimaldab Redisega sõnumijärjekordi töödelda, on põhistruktuurist eemaldatud. eraldi moodul.
  • Lisatud Klastri puhverserver, Redise serverite klastri puhverserver, mis võimaldab kliendil korraldada tööd mitme Redise serveriga nii, nagu oleks tegemist ühe eksemplariga. Puhverserver saab suunata päringuid vajalike andmetega sõlmedesse, multipleksiühendusi, sõlme tõrgete tuvastamisel klastri ümber konfigureerida ja täita päringuid, mis hõlmavad mitut sõlme.
  • Moodulite kirjutamise API-d on oluliselt täiustatud, muutes Redise sisuliselt raamistikuks, mis võimaldab luua süsteeme lisamoodulite kujul.
  • Rakendatud on replikatsioonirežiim, milles RDB-failid kustutatakse kohe pärast nende kasutamist.
  • Täiustatud on PSYNC2 replikatsiooniprotokolli, mis on võimaldanud sagedamini teostada osalist uuesti sünkroonimist, suurendades võimalusi tuvastada replikale ja ülemseadmele ühiseid nihkeid.
  • RDB-failide laadimine on kiirendatud. Sõltuvalt faili sisust on kiirendus vahemikus 20 kuni 30%. INFO käsu täitmine on oluliselt kiirendatud, kui ühendatud kliente on palju.
  • Lisatud on uus käsk STRALGO koos keeruliste stringitöötlusalgoritmide rakendamisega. Praegu on saadaval ainult üks LCS (longest common subsequence) algoritm, mis võib olla kasulik RNA ja DNA järjestuste võrdlemisel.

Allikas: opennet.ru

Lisa kommentaar