Kaluaran Redis 7.0 DBMS

Pelepasan Redis 7.0 DBMS, anu kagolong kana kelas sistem NoSQL, parantos diterbitkeun. Redis nyadiakeun pungsi pikeun nyimpen data konci/nilai, ditingkatkeun ku rojongan pikeun format data terstruktur kayaning daptar, hashes, jeung susunan, kitu ogé kamampuhan pikeun ngajalankeun pawang skrip sisi server di Lua. Kodeu proyék disayogikeun dina lisénsi BSD. Modul tambahan anu nawiskeun kamampuan canggih pikeun pangguna perusahaan, sapertos RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, parantos disayogikeun dina lisénsi RSAL proprietary ti saprak 2019. Proyék GoodFORM, anu nembé stagnasi, nyobian neraskeun pamekaran vérsi kabuka modul ieu dina lisénsi AGPLv3.

Beda sareng sistem panyimpen dina mémori sapertos Memcached, Redis mastikeun yén data tetep disimpen dina disk sareng mastikeun yén pangkalan data tetep utuh upami aya kacilakaan. Kodeu sumber proyék disebarkeun dina lisénsi BSD. Perpustakaan klien sayogi pikeun basa pang populerna, kalebet Perl, Python, PHP, Java, Ruby, sareng Tcl. Redis ngarojong transaksi, nu ngidinan Anjeun pikeun ngaéksekusi grup paréntah dina hiji hambalan, mastikeun konsistensi jeung konsistensi (paréntah ti requests séjén teu bisa ngaganggu) dina palaksanaan set dibikeun paréntah, sarta dina kasus masalah, ngidinan Anjeun pikeun gulung deui. parobahan. Sadaya data pinuh sindangan dina RAM.

Paréntah sapertos increment / decrement, daptar standar sareng operasi set (union, intersection), nami konci, sababaraha pilihan, sareng fungsi asihan disayogikeun pikeun manajemén data. Dua modeu panyimpen dirojong: sinkronisasi périodik data kana disk sareng pangropéa log parobahan dina disk. Dina kasus kadua, kaamanan lengkep sadaya parobahan dijamin. Kasebut nyaéta dimungkinkeun pikeun ngatur réplikasi data master-budak ka sababaraha server, dilaksanakeun dina modeu non-blocking. Mode olahtalatah "nyebarkeun / ngalanggan" ogé sayogi, dimana saluran diciptakeun, pesen anu disebarkeun ka klien ku langganan.

Parobihan konci dina Redis 7.0:

  • Ditambahkeun rojongan pikeun fungsi server-sisi. Beda sareng skrip anu dirojong sateuacana dina basa Lua, fungsina henteu kabeungkeut kana aplikasi sareng ditujukeun pikeun ngalaksanakeun logika tambahan anu ngalegaan kamampuan server. Fungsi anu diolah inextricably kalawan data sarta dina hubungan database, sarta teu aplikasi, kaasup replicated tur disimpen dina gudang pengkuh.
  • A édisi kadua ACL geus diajukeun, nu ngidinan Anjeun pikeun ngadalikeun aksés ka data dumasar kana kenop tur ngidinan Anjeun pikeun nangtukeun susunan béda aturan pikeun aksés paréntah kalawan kamampuhan pikeun meungkeut sababaraha selectors (set idin) pikeun tiap pamaké. Unggal konci bisa dicirikeun ku otoritas husus, contona, anjeun bisa ngawatesan aksés ka ukur maca atawa nulis sawaréh tangtu konci.
  • Palaksanaan partisi (sharded) tina paradigma distribusi pesen Publish-Subscribe anu ngajalankeun dina kluster disayogikeun, dimana pesen dikirim ka titik khusus dimana saluran pesen napel, saatos pesen ieu dialihkeun ka titik sésana anu kalebet. dina beling. Klién tiasa nampi pesen ku ngalanggan saluran, boh ku cara ngahubungkeun ka titik utama sareng ka titik sekundér bagian éta. Kontrol dilaksanakeun nganggo paréntah SSUBSCRIBE, SUNSUBSCRIBE sareng SPUBLISH.
  • Ditambahkeun dukungan pikeun ngolah subcommands dina kalolobaan kontéks.
  • Paréntah anyar ditambahkeun:
    • ZMPOP, BZMPOP.
    • LMPOP, BLMPOP.
    • SINTERCARD, ZINTERCARD.
    • SPUBLISH, SSUBSCRIBE, SUNSUBSCRIBE, PUBSUB SHARDCHANNELS / SHARDNUMSUB.
    • EXPIRETIME, PEXPIRETIME.
    • EVAL_RO, EVALSHA_RO, SORT_RO.
    • FUNGSI *, FCALL, FCALL_RO.
    • DOCS paréntah, Daptar paréntah.
    • HISTOGRAM LATENSI.
    • CLUSTER SHARDS, CLUSTER LINKS, CLUSTER DELSLOTSRANGE, CLUSTER ADDSLOTSRANGE.
    • KLIEN NO-NGUSUR.
    • ACL DRYRUN.
  • Kamampuhan pikeun ngolah sababaraha konfigurasi sakaligus dina hiji CONFIG SET / GET panggero parantos disayogikeun.
  • Pilihan "-json", "-2", "-scan", "-functions-rdb" geus ditambahkeun kana utilitas redis-cli.
  • Sacara standar, aksés klien kana setélan sareng paréntah anu mangaruhan kaamanan ditumpurkeun (contona, paréntah DEBUG sareng MODULE dinonaktipkeun, ngarobah konfigurasi nganggo bandéra PROTEKSI_CONFIG dilarang). redis-cli henteu deui ngaluarkeun paréntah anu ngandung data sénsitip kana file sajarah.
  • Sabagéan ageung optimasi parantos diwanohkeun pikeun ningkatkeun kinerja sareng ngirangan konsumsi mémori. Salaku conto, konsumsi mémori parantos dikirangan sacara signifikan nalika ngaktipkeun mode klaster, nalika ngalakukeun operasi salinan-dina-tulis, sareng nalika damel sareng hashes sareng tombol zset. Ningkatkeun logika pikeun nyiram data kana disk (panggilan fsync). Jumlah pakét jaringan sareng telepon sistem nalika ngirim réspon ka klien parantos dikirangan. Efisiensi réplikasi parantos ningkat.
  • Kerentanan CVE-2022-24735 di lingkungan pikeun ngaéksekusi skrip Lua parantos dibenerkeun, anu ngamungkinkeun anjeun ngagentos kode Lua anjeun nyalira sareng ngahontal palaksanaanna dina konteks pangguna anu sanés, kalebet hiji anu ngagaduhan hak istimewa anu langkung luhur.
  • Kerentanan maneuh CVE-2022-24736, anu ngamungkinkeun prosés redis-server nabrak kusabab NULL pointer dereference. Serangan dilumangsungkeun ku ngamuat skrip Lua anu dirarancang khusus.

sumber: opennet.ru

Tambahkeun komentar