Redis 6.0 DBMS izlaišana

Sagatavots DBVS izlaidums Redis 6.0, kas pieder NoSQL sistēmu klasei. Redis nodrošina Memcached līdzīgas funkcijas atslēgu/vērtību datu glabāšanai, ko papildina atbalsts strukturētiem datu formātiem, piemēram, sarakstiem, jaucējkodiem un kopām, kā arī iespēja palaist servera puses Lua apstrādātāja skriptus. Projekta kods piegādāts saskaņā ar BSD licenci. Papildu moduļi, kas piedāvā uzlabotas iespējas uzņēmumu lietotājiem, piemēram, RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom kopš pagājušā gada piegādāts saskaņā ar patentētu RSAL licenci. Projekts turpina šo moduļu atvērto versiju izstrādi saskaņā ar AGPLv3 licenci Laba FORMA.

Atšķirībā no Memcached, Redis nodrošina pastāvīgu datu uzglabāšanu diskā un garantē datu bāzes drošību avārijas izslēgšanas gadījumā. Projekta pirmkods tiek izplatīts saskaņā ar BSD licenci. Klientu bibliotēkas ir pieejamas populārākajām valodām, tostarp Perl, Python, PHP, Java, Ruby un Tcl. Redis atbalsta transakcijas, kas ļauj vienā solī izpildīt komandu grupu, nodrošinot konsekvenci un konsekvenci (citu pieprasījumu komandas nevar traucēt) noteiktas komandu kopas izpildē, un problēmu gadījumā ļaujot atvilkt izmaiņas. Visi dati ir pilnībā saglabāti kešatmiņā RAM.

Datu pārvaldībai tiek nodrošinātas tādas komandas kā palielināšana/samazināšana, standarta saraksta un kopu darbības (savienojums, krustojums), taustiņu pārdēvēšana, vairākas atlases un kārtošanas funkcijas. Tiek atbalstīti divi uzglabāšanas režīmi: periodiska datu sinhronizācija ar disku un izmaiņu žurnāla uzturēšana diskā. Otrajā gadījumā tiek garantēta visu izmaiņu pilnīga drošība. Ir iespējams organizēt galveno-slavu datu replikāciju uz vairākiem serveriem, kas tiek veikta nebloķējošā režīmā. Ir pieejams arī ziņojumapmaiņas režīms “publicēt/abonēt”, kurā tiek izveidots kanāls, no kura ziņojumi tiek izplatīti klientiem abonējot.

Atslēga uzlabojumipievienots Redis 6.0:

  • Pēc noklusējuma tiek piedāvāts jaunais RESP3 protokols, bet savienojuma iestatīšana sākas RESP2 režīmā un klients pārslēdzas uz jauno protokolu tikai tad, ja savienojuma sarunās tiek izmantota jaunā komanda HELLO. RESP3 ļauj tieši atgriezt sarežģītus datu tipus, nekonvertējot vispārīgos masīvus klienta pusē un atdalot atgriešanas veidus.
  • Piekļuves kontroles saraksta atbalsts (ACL), ļaujot precīzi noteikt, kuras darbības klients drīkst veikt un kuras nevar. ACL ļauj arī aizsargāties pret iespējamām kļūdām izstrādes laikā, piemēram, apstrādātājam, kurš veic tikai BRPOPLPUSH darbību, var aizliegt izpildīt citas darbības, un, ja atkļūdošanas laikā pievienotais FLUSHALL izsaukums nejauši tiek aizmirsts ražošanas kodā, tas neradītu problēmas. ACL ieviešana nerada papildu izmaksas un praktiski neietekmē veiktspēju. ACL ir sagatavoti arī interfeisa moduļi, kas ļauj izveidot savas autentifikācijas metodes. Lai skatītu visus reģistrētos ACL pārkāpumus, tiek nodrošināta komanda “ACL LOG”. Lai ģenerētu neparedzamas sesijas atslēgas, ir pievienota komanda "ACL GENPASS", izmantojot uz SHA256 balstītu HMAC.
  • atbalsts SSL / TLS lai šifrētu sakaru kanālu starp klientu un serveri.
  • atbalsts datu saglabāšana kešatmiņā klienta pusē. Lai saskaņotu klienta puses kešatmiņu ar datu bāzes stāvokli, ir pieejami divi režīmi: 1. Atcerēties serverī atslēgas, kuras klients iepriekš pieprasīja, lai informētu to par ieraksta aktualitātes zudumu klienta kešatmiņā. 2. “Apraides” mehānisms, kurā klients abonē noteiktus atslēgu prefiksus un serveris to paziņo, ja mainās atslēgas, uz kurām attiecas šie prefiksi. “Apraides” režīma priekšrocība ir tāda, ka serveris netērē papildu atmiņu, saglabājot klienta pusē kešatmiņā saglabāto vērtību karti, bet trūkums ir tas, ka palielinās pārsūtīto ziņojumu skaits.
  • Disque ziņojumu starpnieks, kas ļauj izmantot Redis, lai apstrādātu ziņojumu rindas, ir noņemts no pamatstruktūras atsevišķs modulis.
  • Pievienots Klastera starpniekserveris, Redis serveru klastera starpniekserveris, kas ļauj klientam organizēt darbu ar vairākiem Redis serveriem tā, it kā tie būtu viens gadījums. Starpniekserveris var novirzīt pieprasījumus uz mezgliem ar nepieciešamajiem datiem, multipleksiem savienojumiem, pārkonfigurēt klasteri, ja tiek konstatētas mezglu kļūmes, un izpildīt pieprasījumus, kas aptver vairākus mezglus.
  • Moduļu rakstīšanas API ir ievērojami uzlabota, būtībā pārvēršot Redis par ietvaru, kas ļauj izveidot sistēmas pievienojummoduļu veidā.
  • Ir ieviests replikācijas režīms, kurā RDB faili tiek nekavējoties izdzēsti pēc to izmantošanas.
  • Ir uzlabots PSYNC2 replikācijas protokols, kas ļāvis biežāk veikt daļēju atkārtotu sinhronizāciju, palielinot iespējas identificēt replikai un galvenajam kopējam nobīdēm.
  • RDB failu ielāde ir paātrināta. Atkarībā no faila satura paātrinājums svārstās no 20 līdz 30%. Komandas INFO izpilde ir ievērojami paātrināta, ja ir liels savienoto klientu skaits.
  • Ar sarežģītu virkņu apstrādes algoritmu ieviešanu ir pievienota jauna komanda STRALGO. Pašlaik ir pieejams tikai viens LCS (garākā kopējā apakšsekvences) algoritms, kas var būt noderīgs, salīdzinot RNS un DNS sekvences.

Avots: opennet.ru

Pievieno komentāru