Lansarea SGBD Redis 6.0

Pregătit Lansare DBMS Redis 6.0, aparținând clasei de sisteme NoSQL. Redis oferă funcții asemănătoare Memcached pentru stocarea datelor cheie/valoare, îmbunătățite prin suport pentru formate de date structurate, cum ar fi liste, hash-uri și seturi și capacitatea de a rula scripturi de gestionare Lua pe server. Cod proiect furnizat sub licență BSD. Module suplimentare care oferă capabilități avansate pentru utilizatorii întreprinderilor, cum ar fi RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom de anul trecut furnizate sub licența proprie RSAL. Dezvoltarea versiunilor deschise ale acestor module sub licența AGPLv3 este continuată de proiect Forma buna.

Spre deosebire de Memcached, Redis oferă stocare persistentă a datelor pe disc și garantează siguranța bazei de date în cazul unei închideri de urgență. Codul sursă al proiectului este distribuit sub licența BSD. Bibliotecile client sunt disponibile pentru cele mai populare limbi, inclusiv Perl, Python, PHP, Java, Ruby și Tcl. Redis acceptă tranzacții, care vă permit să executați un grup de comenzi într-un singur pas, asigurând consistența și consistența (comenzile de la alte solicitări nu pot interfera) în execuția unui anumit set de comenzi și, în caz de probleme, permițându-vă să reveniți schimbări. Toate datele sunt complet stocate în cache în RAM.

Pentru gestionarea datelor sunt furnizate comenzi precum creșterea/descreșterea, lista standard și operațiunile de setare (unire, intersecție), redenumirea tastelor, selecții multiple și funcții de sortare. Sunt acceptate două moduri de stocare: sincronizarea periodică a datelor pe disc și menținerea unui jurnal de modificări pe disc. În al doilea caz, siguranța completă a tuturor modificărilor este garantată. Este posibil să se organizeze replicarea datelor master-slave pe mai multe servere, efectuată într-un mod neblocant. Este disponibil și un mod de mesagerie „publicare/abonare”, în care este creat un canal, mesajele din care sunt distribuite clienților prin abonament.

Cheie îmbunătățiriadăugat în Redis 6.0:

  • Implicit, este propus noul protocol RESP3, dar setarea conexiunii începe în modul RESP2 și clientul trece la noul protocol numai dacă noua comandă HELLO este utilizată la negocierea conexiunii. RESP3 vă permite să returnați direct tipuri de date complexe fără a fi nevoie să convertiți matrice generice pe partea client și prin separarea tipurilor returnate.
  • Suport pentru lista de control acces (ACL), permițându-vă să determinați cu exactitate ce operațiuni pot fi efectuate de client și care nu. ACL-urile fac, de asemenea, posibilă protejarea împotriva posibilelor erori în timpul dezvoltării, de exemplu, unui handler care efectuează numai operațiunea BRPOPLPUSH i se poate interzice să execute alte operațiuni, iar dacă apelul FLUSHALL adăugat în timpul depanării este uitat accidental în codul de producție, acest lucru va nu duce la probleme. Implementarea unui ACL nu implică nicio suprasarcină suplimentară și nu are practic niciun impact asupra performanței. Au fost pregătite și module de interfață pentru ACL, făcând posibilă crearea propriilor metode de autentificare. Pentru a vizualiza toate încălcările ACL înregistrate, este furnizată comanda „ACL LOG”. Pentru a genera chei de sesiune imprevizibile, comanda „ACL GENPASS” a fost adăugată folosind HMAC bazat pe SHA256.
  • Sprijini SSL / TLS pentru a cripta canalul de comunicare dintre client și server.
  • Sprijini stocarea în cache a datelor din partea clientului. Pentru a reconcilia cache-ul client-side cu starea bazei de date sunt disponibile două moduri: 1. Memorarea pe server a cheilor pe care clientul le-a solicitat anterior pentru a-l informa despre pierderea de relevanță a intrării din cache-ul clientului. 2. Mecanismul de „difuzare”, în care clientul se abonează la anumite prefixe de cheie și serverul îl anunță dacă cheile care intră sub aceste prefixe se modifică. Avantajul modului „difuzare” este că serverul nu irosește memorie suplimentară pentru stocarea unei hărți de valori stocate în cache pe partea clientului, dar dezavantajul este că numărul de mesaje transmise crește.
  • Brokerul de mesaje Disque, care vă permite să utilizați Redis pentru a procesa cozile de mesaje, a fost eliminat din structura de bază în modul separat.
  • Adăugat Cluster Proxy, un proxy pentru un cluster de servere Redis, care permite unui client să organizeze lucrul cu mai multe servere Redis ca și cum ar fi o singură instanță. Proxy-ul poate direcționa cererile către noduri cu datele necesare, multiplexarea conexiunilor, reconfigura clusterul dacă sunt detectate defecțiuni ale nodurilor și poate executa cereri care se întind pe mai multe noduri.
  • API-ul pentru scrierea modulelor a fost îmbunătățit semnificativ, transformând în esență Redis într-un cadru care vă permite să creați sisteme sub formă de module suplimentare.
  • A fost implementat un mod de replicare în care fișierele RDB sunt șterse imediat după ce au fost utilizate.
  • Protocolul de replicare PSYNC2 a fost îmbunătățit, ceea ce a făcut posibilă efectuarea mai des a resincronizării parțiale, prin creșterea șanselor de identificare a offset-urilor comune replicii și masterului.
  • Încărcarea fișierelor RDB a fost accelerată. În funcție de conținutul fișierului, accelerația variază de la 20 la 30%. Execuția comenzii INFO a fost accelerată semnificativ atunci când există un număr mare de clienți conectați.
  • O nouă comandă STRALGO a fost adăugată cu implementarea algoritmilor complexi de procesare a șirurilor. În prezent, este disponibil un singur algoritm LCS (cea mai lungă subsecvență comună), care poate fi util atunci când se compară secvențele de ARN și ADN.

Sursa: opennet.ru

Adauga un comentariu