Paglabas ng Redis 6.0 DBMS

Inihanda Paglabas ng DBMS Redis 6.0, na kabilang sa klase ng mga sistema ng NoSQL. Nagbibigay ang Redis ng mga function na tulad ng Memcached para sa pag-imbak ng data ng susi/halaga, pinahusay ng suporta para sa mga structured na format ng data gaya ng mga listahan, hash, at set, at ang kakayahang magpatakbo ng mga script ng Lua handler sa gilid ng server. Code ng proyekto naibigay sa ilalim ng lisensya ng BSD. Mga karagdagang module na nag-aalok ng mga advanced na kakayahan para sa mga user ng enterprise tulad ng RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom mula noong nakaraang taon binigay sa ilalim ng pagmamay-ari na lisensya ng RSAL. Ang pagbuo ng mga bukas na bersyon ng mga module na ito sa ilalim ng lisensya ng AGPLv3 ay ipinagpatuloy ng proyekto Maayos na porma.

Hindi tulad ng Memcached, ang Redis ay nagbibigay ng patuloy na pag-iimbak ng data sa disk at ginagarantiyahan ang kaligtasan ng database sa kaganapan ng isang emergency shutdown. Ang source code ng proyekto ay ipinamahagi sa ilalim ng lisensya ng BSD. Available ang mga library ng kliyente para sa pinakasikat na mga wika, kabilang ang Perl, Python, PHP, Java, Ruby, at Tcl. Sinusuportahan ng Redis ang mga transaksyon, na nagpapahintulot sa iyo na magsagawa ng isang pangkat ng mga utos sa isang hakbang, na tinitiyak ang pagkakapare-pareho at pagkakapare-pareho (ang mga utos mula sa iba pang mga kahilingan ay hindi maaaring makagambala) sa pagpapatupad ng isang naibigay na hanay ng mga utos, at sa kaso ng mga problema, na nagpapahintulot sa iyo na bumalik mga pagbabago. Ang lahat ng data ay ganap na naka-cache sa RAM.

Ang mga utos tulad ng pagtaas/pagbawas, karaniwang listahan at mga pagpapatakbo ng hanay (unyon, intersection), pagpapalit ng pangalan ng key, maraming mga pagpipilian, at pag-uuri ng mga function ay ibinibigay para sa pamamahala ng data. Dalawang storage mode ang sinusuportahan: panaka-nakang pag-synchronize ng data sa disk at pagpapanatili ng change log sa disk. Sa pangalawang kaso, ang kumpletong kaligtasan ng lahat ng mga pagbabago ay ginagarantiyahan. Posibleng ayusin ang pagtitiklop ng data ng master-slave sa ilang mga server, na isinasagawa sa isang non-blocking mode. Available din ang mode ng pagmemensahe na "mag-publish/mag-subscribe", kung saan nilikha ang isang channel, mga mensahe kung saan ipinamamahagi sa mga kliyente sa pamamagitan ng subscription.

Susi mga pagpapabutiidinagdag sa Redis 6.0:

  • Bilang default, ang bagong RESP3 protocol ay iminungkahi, ngunit ang pag-setup ng koneksyon ay magsisimula sa RESP2 mode at ang kliyente ay lilipat lamang sa bagong protocol kung ang bagong HELLO command ay ginagamit kapag nakikipag-usap sa koneksyon. Binibigyang-daan ka ng RESP3 na direktang ibalik ang mga kumplikadong uri ng data nang hindi kinakailangang mag-convert ng mga generic na array sa panig ng kliyente at sa pamamagitan ng paghihiwalay sa mga uri ng pagbabalik.
  • I-access ang suporta sa listahan ng kontrol (ACL), na nagbibigay-daan sa iyong tumpak na matukoy kung aling mga operasyon ang maaaring gawin ng kliyente at alin ang hindi. Ginagawa rin ng mga ACL na posible na maprotektahan laban sa mga posibleng error sa panahon ng pag-develop, halimbawa, ang isang handler na gumaganap lamang ng BRPOPLPUSH na operasyon ay maaaring pagbawalan na magsagawa ng iba pang mga operasyon, at kung ang FLUSHALL na tawag na idinagdag sa panahon ng pag-debug ay aksidenteng nakalimutan sa production code, ito ay hindi humantong sa mga problema. Ang pagpapatupad ng ACL ay hindi nagkakaroon ng anumang karagdagang overhead at halos walang epekto sa pagganap. Ang mga module ng interface ay inihanda din para sa ACL, na ginagawang posible na lumikha ng iyong sariling mga paraan ng pagpapatunay. Upang tingnan ang lahat ng naitalang paglabag sa ACL, ibinibigay ang command na "ACL LOG". Upang makabuo ng mga hindi nahuhulaang session key, idinagdag ang command na "ACL GENPASS" gamit ang SHA256-based na HMAC.
  • Suporta SSL / TLS upang i-encrypt ang channel ng komunikasyon sa pagitan ng kliyente at ng server.
  • Suporta pag-cache ng data sa panig ng kliyente. Upang i-reconcile ang client-side cache sa estado ng database, dalawang mode ang magagamit: 1. Pag-alala sa server ng mga susi na dati nang hiniling ng kliyente upang ipaalam ito tungkol sa pagkawala ng kaugnayan ng entry sa cache ng kliyente. 2. Ang mekanismo ng "pagsasahimpapawid", kung saan nag-subscribe ang kliyente sa ilang mga pangunahing prefix at inaabisuhan ito ng server kung nagbabago ang mga key na nasa ilalim ng mga prefix na ito. Ang bentahe ng "broadcasting" mode ay ang server ay hindi nag-aaksaya ng karagdagang memorya sa pag-iimbak ng isang mapa ng mga halaga na naka-cache sa panig ng kliyente, ngunit ang kawalan ay ang bilang ng mga ipinadalang mensahe ay tumataas.
  • Ang Disque message broker, na nagpapahintulot sa iyo na gamitin ang Redis upang iproseso ang mga pila ng mensahe, ay inalis mula sa pangunahing istraktura sa hiwalay na modyul.
  • Idinagdag Cluster Proxy, isang proxy para sa isang kumpol ng mga server ng Redis, na nagbibigay-daan sa isang kliyente na ayusin ang trabaho sa ilang mga server ng Redis na para bang sila ay isang pagkakataon. Maaaring iruta ng proxy ang mga kahilingan sa mga node na may kinakailangang data, mga multiplex na koneksyon, muling i-configure ang cluster kung may nakitang mga pagkabigo sa node, at magsagawa ng mga kahilingan na sumasaklaw sa maraming node.
  • Ang API para sa pagsusulat ng mga module ay lubos na napabuti, na mahalagang gawing framework ang Redis na nagbibigay-daan sa iyong lumikha ng mga system sa anyo ng mga add-on na module.
  • Ang isang replication mode ay ipinatupad kung saan ang mga RDB file ay agad na tinanggal pagkatapos na magamit ang mga ito.
  • Ang PSYNC2 replication protocol ay napabuti, na naging posible na magsagawa ng bahagyang muling pag-synchronize nang mas madalas, sa pamamagitan ng pagtaas ng mga pagkakataong matukoy ang mga offset na karaniwan sa replica at master.
  • Ang pag-load ng mga RDB file ay pinabilis. Depende sa nilalaman ng file, ang acceleration ay mula 20 hanggang 30%. Ang pagpapatupad ng INFO command ay makabuluhang pinabilis kapag mayroong isang malaking bilang ng mga konektadong kliyente.
  • Isang bagong utos ng STRALGO ang idinagdag sa pagpapatupad ng mga kumplikadong algorithm sa pagproseso ng string. Sa kasalukuyan, isang LCS (longest common subsequence) algorithm lang ang available, na maaaring maging kapaki-pakinabang kapag inihahambing ang RNA at DNA sequence.

Pinagmulan: opennet.ru

Magdagdag ng komento