Redis 6.0 DBMS kiadása

Előkészített DBMS kiadás Redis 6.0, amely a NoSQL rendszerek osztályába tartozik. A Redis Memcached-szerű funkciókat kínál a kulcs-/értékadatok tárolására, amelyet a strukturált adatformátumok, például listák, hash-ek és készletek támogatása, valamint a szerveroldali Lua-kezelő szkriptek futtatásának képessége is továbbfejleszt. Projekt kód szállított BSD licenc alatt. További modulok, amelyek fejlett képességeket kínálnak a vállalati felhasználók számára, például RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom tavaly óta szállított védett RSAL licenc alatt. Ezeknek a moduloknak az AGPLv3 licenc alatti nyílt verzióinak fejlesztését a projekt folytatja Jó forma.

A Memcachedtől eltérően a Redis folyamatos adattárolást biztosít a lemezen, és garantálja az adatbázis biztonságát vészleállás esetén. A projekt forráskódja a BSD licenc alatt kerül terjesztésre. Klienskönyvtárak állnak rendelkezésre a legtöbb népszerű nyelvhez, beleértve a Perl, Python, PHP, Java, Ruby és Tcl nyelveket. A Redis támogatja a tranzakciókat, amelyek lehetővé teszik egy parancscsoport egy lépésben történő végrehajtását, biztosítva a konzisztenciát és konzisztenciát (más kérésekből származó parancsok nem zavarhatnak) egy adott parancskészlet végrehajtásában, és probléma esetén lehetővé teszi a visszaállítást változtatások. Minden adat teljesen gyorsítótárban van a RAM-ban.

Az adatkezeléshez olyan parancsok állnak rendelkezésre, mint a növelés/csökkentés, a szabványos lista- és halmazműveletek (egyesítés, metszés), a kulcsok átnevezése, többszörös kijelölés és rendezési funkciók. Két tárolási mód támogatott: az adatok időszakos szinkronizálása a lemezzel és a változásnapló karbantartása a lemezen. A második esetben minden változtatás teljes biztonsága garantált. Lehetőség van a master-slave adatreplikáció megszervezésére több szerverre, nem blokkoló módban. Rendelkezésre áll egy „közzététel/feliratkozás” üzenetküldési mód is, amelyben létrejön egy csatorna, amelyről az üzenetek előfizetéssel jutnak el az ügyfelekhez.

Kulcs fejlesztésekhozzáadva a Redis 6.0-ban:

  • Alapértelmezés szerint az új RESP3 protokoll javasolt, de a kapcsolat beállítása RESP2 módban kezdődik, és a kliens csak akkor vált át az új protokollra, ha az új HELLO parancsot használja a kapcsolat egyeztetése során. A RESP3 lehetővé teszi az összetett adattípusok közvetlen visszaadását anélkül, hogy általános tömböket kellene konvertálnia a kliens oldalon, illetve a visszatérési típusok szétválasztásával.
  • Hozzáférés-vezérlési lista támogatás (ACL), lehetővé téve annak pontos meghatározását, hogy mely műveleteket tudja végrehajtani az ügyfél, és melyeket nem. Az ACL-ek lehetőséget adnak a fejlesztés során fellépő esetleges hibák elleni védekezésre is, például a csak a BRPOPLPUSH műveletet végrehajtó kezelőnek megtiltható az egyéb műveletek végrehajtása, és ha a hibakeresés során hozzáadott FLUSHALL hívás véletlenül elfelejtődik a termelési kódban, akkor ez nem vezet problémákhoz. Az ACL megvalósítása nem jár többletköltséggel, és gyakorlatilag nincs hatással a teljesítményre. Az ACL-hez interfész modulok is készültek, amelyek lehetővé teszik saját hitelesítési módszerek létrehozását. Az összes rögzített ACL-sértés megtekintéséhez az „ACL LOG” parancsot kapja. A kiszámíthatatlan munkamenetkulcsok generálásához az "ACL GENPASS" parancsot hozzáadtuk az SHA256-alapú HMAC használatával.
  • támogatás SSL / TLS a kliens és a szerver közötti kommunikációs csatorna titkosítására.
  • támogatás az adatok gyorsítótárazása a kliens oldalon. A kliens oldali gyorsítótár és az adatbázis állapotának összehangolására két mód áll rendelkezésre: 1. A kiszolgálón megjegyzi azokat a kulcsokat, amelyeket a kliens korábban kért, hogy tájékoztassa a kliens gyorsítótárában lévő bejegyzés relevanciájának elvesztéséről. 2. A „műsorszórási” mechanizmus, amelyben a kliens előfizet bizonyos kulcselőtagokra, és a szerver értesíti, ha az előtag alá tartozó kulcsok megváltoznak. A „műsorszórási” mód előnye, hogy a szerver nem pazarol többlet memóriát a kliens oldalon gyorsítótárban tárolt értékek térképének tárolására, hátránya viszont az, hogy megnő a továbbított üzenetek száma.
  • A Disque üzenetközvetítő, amely lehetővé teszi a Redis használatát üzenetsorok feldolgozására, eltávolítva az alapstruktúrából külön modul.
  • Hozzáadva Klaszter proxy, a Redis-kiszolgálók fürtjének proxyja, amely lehetővé teszi az ügyfél számára, hogy több Redis-kiszolgálóval úgy szervezze meg a munkát, mintha egyetlen példány lenne. A proxy képes a kéréseket a szükséges adatokkal rendelkező csomópontokhoz irányítani, multiplex kapcsolatokat létesíteni, csomóponthiba esetén újrakonfigurálni a fürtöt, és több csomópontra kiterjedő kéréseket is végrehajthat.
  • A modulok írására szolgáló API jelentősen javult, lényegében a Redis egy olyan keretrendszerré változott, amely lehetővé teszi a rendszerek létrehozását kiegészítő modulok formájában.
  • Olyan replikációs módot valósítottak meg, amelyben az RDB fájlok használatuk után azonnal törlődnek.
  • Továbbfejlesztették a PSYNC2 replikációs protokollt, ami lehetővé tette a részleges újraszinkronizálás gyakrabban történő végrehajtását, növelve a replikára és a mesterre jellemző eltolások azonosításának esélyét.
  • Az RDB fájlok betöltése felgyorsult. A fájltartalomtól függően a gyorsulás 20 és 30% között mozog. Az INFO parancs végrehajtása jelentősen felgyorsult, ha nagyszámú csatlakoztatott kliens van.
  • Egy új STRALGO paranccsal bővült az összetett karakterlánc-feldolgozó algoritmusok megvalósítása. Jelenleg csak egy LCS (leghosszabb közös alszekvencia) algoritmus áll rendelkezésre, amely hasznos lehet RNS és DNS szekvenciák összehasonlításakor.

Forrás: opennet.ru

Hozzászólás