Redis 6.0 DBMS:n julkaisu

Valmis DBMS-julkaisu Redis 6.0, joka kuuluu NoSQL-järjestelmien luokkaan. Redis tarjoaa Memcached-tyyppisiä toimintoja avain-/arvotietojen tallentamiseen, ja niitä on tehostettu tukemalla strukturoituja tietomuotoja, kuten luetteloita, tiivistettä ja joukkoja, sekä kyky suorittaa palvelinpuolen Lua-käsittelijäkomentosarjoja. Projektin koodi toimitetaan BSD-lisenssillä. Lisämoduulit, jotka tarjoavat edistyneitä ominaisuuksia yrityskäyttäjille, kuten RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom viime vuodesta lähtien toimitetaan omalla RSAL-lisenssillä. Projekti jatkaa näiden moduulien avoimien versioiden kehittämistä AGPLv3-lisenssillä Hyvä muoto.

Toisin kuin Memcached, Redis tarjoaa jatkuvan tietojen tallennuksen levylle ja takaa tietokannan turvallisuuden hätäpysäytystilanteessa. Projektin lähdekoodia jaetaan BSD-lisenssillä. Asiakaskirjastot ovat saatavilla suosituimmille kielille, mukaan lukien Perl, Python, PHP, Java, Ruby ja Tcl. Redis tukee tapahtumia, joiden avulla voit suorittaa joukon komentoja yhdessä vaiheessa, mikä varmistaa johdonmukaisuuden ja johdonmukaisuuden (muiden pyyntöjen komennot eivät voi häiritä) tietyn komentosarjan suorittamisessa, ja ongelmatilanteissa mahdollistaa palautumisen muutoksia. Kaikki tiedot ovat täysin välimuistissa RAM-muistissa.

Tietojen hallintaa varten tarjotaan komennot, kuten lisäys/vähennys, vakioluettelo- ja joukkooperaatiot (liitos, leikkaus), avainten uudelleennimeäminen, useat valinnat ja lajittelutoiminnot. Kahta tallennustilaa tuetaan: säännöllinen tietojen synkronointi levylle ja muutoslokin ylläpito levyllä. Toisessa tapauksessa kaikkien muutosten täydellinen turvallisuus taataan. On mahdollista järjestää isäntä-orja-tietojen replikointi useille palvelimille, jotka suoritetaan estotilassa. Saatavilla on myös "julkaisu/tilaa" -viestintätila, jossa luodaan kanava, jonka viestit jaetaan asiakkaille tilaamalla.

Avain parannuksialisätty Redis 6.0:ssa:

  • Oletusarvoisesti ehdotetaan uutta RESP3-protokollaa, mutta yhteyden muodostaminen alkaa RESP2-tilassa ja asiakas vaihtaa uuteen protokollaan vain, jos yhteyttä neuvotettaessa käytetään uutta HELLO-komentoa. RESP3 antaa sinun palauttaa monimutkaisia ​​tietotyyppejä suoraan ilman, että sinun tarvitsee muuntaa yleisiä taulukoita asiakaspuolella ja erottamalla palautustyypit.
  • Kulunvalvontaluettelon tuki (ACL), jonka avulla voit määrittää tarkasti, mitkä toiminnot asiakas voi suorittaa ja mitä ei. ACL-luettelot mahdollistavat myös suojautumisen mahdollisilta virheiltä kehityksen aikana, esimerkiksi vain BRPOPLPUSH-toiminnon suorittavaa käsittelijää voidaan estää suorittamasta muita toimintoja ja jos virheenkorjauksen aikana lisätty FLUSHALL-kutsu unohtuu vahingossa tuotantokoodiin, tämä ei johda ongelmiin. ACL:n käyttöönotto ei aiheuta lisäkustannuksia eikä sillä käytännössä ole vaikutusta suorituskykyyn. ACL:lle on myös valmistettu käyttöliittymämoduuleita, joiden avulla on mahdollista luoda omia todennusmenetelmiä. Voit tarkastella kaikkia tallennettuja ACL-rikkomuksia käyttämällä "ACL LOG" -komentoa. Ennalta arvaamattomien istuntoavainten luomiseksi "ACL GENPASS" -komento on lisätty SHA256-pohjaisella HMAC:lla.
  • Tukea SSL / TLS salatakseen viestintäkanavan asiakkaan ja palvelimen välillä.
  • Tukea välimuistiin tallentamalla tiedot asiakaspuolella. Asiakaspuolen välimuistin ja tietokannan tilan yhteensovittamiseksi on käytettävissä kaksi tilaa: 1. Muista palvelimelle avaimet, joita asiakas aiemmin pyysi ilmoittaakseen asiakasvälimuistin merkinnän merkityksen menettämisestä. 2. "Broadcasting"-mekanismi, jossa asiakas tilaa tietyt avainetuliitteet ja palvelin ilmoittaa sille, jos näiden etuliitteiden alaisuuteen kuuluvat avaimet muuttuvat. "Lähetys"-tilan etuna on, että palvelin ei tuhlaa lisämuistia asiakaspuolen välimuistiin tallennettujen arvojen kartan tallentamiseen, mutta haittana on, että lähetettyjen viestien määrä kasvaa.
  • Disque-viestinvälittäjä, jonka avulla voit käsitellä viestijonoja Rediksen avulla, on poistettu perusrakenteesta erillinen moduuli.
  • lisättyä Klusterin välityspalvelin, Redis-palvelinklusterin välityspalvelin, jonka avulla asiakas voi järjestää työskentelyn useiden Redis-palvelimien kanssa ikään kuin ne olisivat yksi esiintymä. Välityspalvelin voi reitittää pyynnöt solmuille, joilla on tarvittavat tiedot, multipleksoida yhteyksiä, määrittää klusterin uudelleen, jos solmuvirheitä havaitaan, ja suorittaa pyyntöjä, jotka kattavat useita solmuja.
  • Moduulien kirjoittamisen sovellusliittymää on parannettu merkittävästi, mikä tekee Rediksestä kehyksen, jonka avulla voit luoda järjestelmiä lisämoduulien muodossa.
  • On otettu käyttöön replikointitila, jossa RDB-tiedostot poistetaan välittömästi käytön jälkeen.
  • PSYNC2-replikointiprotokollaa on parannettu, mikä on mahdollistanut osittaisen uudelleensynkronoinnin useammin lisäämällä mahdollisuuksia tunnistaa replikalle ja isännälle yhteisiä siirtymiä.
  • RDB-tiedostojen latausta on nopeutettu. Tiedoston sisällöstä riippuen kiihtyvyys vaihtelee välillä 20-30%. INFO-komennon suorittaminen on nopeutunut merkittävästi, kun kytkettyjä asiakkaita on paljon.
  • Uusi STRALGO-komento on lisätty monimutkaisten merkkijonojen käsittelyalgoritmien toteutuksella. Tällä hetkellä käytettävissä on vain yksi LCS-algoritmi (pisin yhteinen osasekvenssi), joka voi olla hyödyllinen RNA- ja DNA-sekvenssejä verrattaessa.

Lähde: opennet.ru

Lisää kommentti