Redis 6.0 DBMS kaleratzea

Prestatuta DBMS kaleratzea Redis 6.0, NoSQL sistemen klasekoa. Redis-ek Memcached-en antzeko funtzioak eskaintzen ditu gako/balioen datuak gordetzeko, datu egituratuen formatuetarako laguntzarekin, hala nola zerrendak, hashak eta multzoak, eta zerbitzariaren aldeko Lua kudeatzailearen scriptak exekutatzeko gaitasunarekin. Proiektuaren kodea hornituta BSD lizentziapean. Enpresen erabiltzaileentzako gaitasun aurreratuak eskaintzen dituzten modulu gehigarriak, hala nola RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom iaztik. hornitua jabedun RSAL lizentziapean. Modulu hauen bertsio irekiak AGPLv3 lizentziapean garatzen jarraitzen du proiektuak GoodFORM.

Memcached-ek ez bezala, Redis-ek datuen biltegiratze iraunkorra eskaintzen du diskoan eta datu-basearen segurtasuna bermatzen du larrialdi-itxialdi bat gertatuz gero. Proiektuaren iturburu kodea BSD lizentziapean banatzen da. Bezero liburutegiak hizkuntza ezagunenetarako eskuragarri daude, Perl, Python, PHP, Java, Ruby eta Tcl barne. Redis-ek transakzioak onartzen ditu, komando talde bat urrats batean exekutatzeko aukera ematen dutenak, koherentzia eta koherentzia bermatuz (beste eskaera batzuen komandoek ezin dute oztopatu) komando multzo jakin baten exekuzioan, eta arazoak izanez gero, atzera egiteko aukera emanez. aldaketak. Datu guztiak RAM memorian daude guztiz cachean.

Gehitu/gutxitu, zerrenda estandarra eta multzo eragiketak (batasuna, elkargunea), teklaren izena aldatzea, aukeraketa anitzak eta ordenatzeko funtzioak eskaintzen dira datuak kudeatzeko. Bi biltegiratze modu onartzen dira: datuak diskoan aldizkako sinkronizazioa eta diskoan aldaketen erregistroa mantentzea. Bigarren kasuan, aldaketa guztien segurtasun osoa bermatzen da. Posible da maisu-esklaboen datuen erreplikazioa hainbat zerbitzaritan antolatzea, blokeorik gabeko moduan burututa. "Argitaratu/harpidetu" mezularitza modua ere eskuragarri dago, kanal bat sortzen den, eta mezuak bezeroei harpidetza bidez banatzen zaizkie.

Gakoa hobekuntzakRedis 6.0-n gehitu da:

  • Lehenespenez, RESP3 protokolo berria proposatzen da, baina konexioaren konfigurazioa RESP2 moduan hasten da eta bezeroa protokolo berrira aldatzen da konexioa negoziatzeko HELLO komando berria erabiltzen bada soilik. RESP3-k datu-mota konplexuak zuzenean itzultzeko aukera ematen dizu bezeroaren aldetik array generikoak bihurtu beharrik gabe eta itzulera motak bereiziz.
  • Sarbide-kontrol zerrendaren laguntza (ACL), bezeroak zein eragiketa egin ditzakeen eta zeintzuk ez zehaztasunez zehazteko. ACL-ek ere garapenean egon daitezkeen akatsetatik babestea ahalbidetzen dute, adibidez, BRPOPLPUSH eragiketa soilik egiten duen kudeatzaile bati beste eragiketa batzuk exekutatzeko debekatu egin daiteke, eta arazketan gehitutako FLUSHALL deia produkzio-kodean ustekabean ahazten bada, hau izango da. ez dakar arazorik. ACL bat ezartzeak ez du gastu gehigarririk eragiten eta ia ez du eraginik errendimenduan. Interfaze-moduluak ere prestatu dira ACLrako, zure autentifikazio-metodoak sortzea posible eginez. Grabatutako ACL urraketa guztiak ikusteko, "ACL LOG" komandoa eskaintzen da. Ezusteko saio-gakoak sortzeko, "ACL GENPASS" komandoa gehitu da SHA256 oinarritutako HMAC erabiliz.
  • Lagundu SSL / TLS bezeroaren eta zerbitzariaren arteko komunikazio-kanala enkriptatzeko.
  • Lagundu bezeroaren aldean datuak cachean gordetzea. Bezeroaren aldeko cachea datu-basearen egoerarekin bateratzeko, bi modu daude erabilgarri: 1. Zerbitzarian gogoratzea bezeroak aurretik eskatutako gakoak, bezeroaren cacheko sarrerak duen garrantziaren galeraren berri emateko. 2. β€œBroadcasting” mekanismoa, bezeroak gako-aurrizki batzuetara harpidetzen du eta zerbitzariak jakinarazten dio aurrizki horien menpe dauden gakoak aldatzen badira. "Igorpen" moduaren abantaila da zerbitzariak ez duela memoria gehigarria alferrik galtzen bezeroaren aldean gordetako balioen mapa gordetzean, baina desabantaila da transmititutako mezuen kopurua handitzen dela.
  • Disque mezu-artekaria, Redis mezu-ilarak prozesatzeko aukera ematen duena, oinarrizko egituratik kendu da. modulu bereizia.
  • Gehituta Cluster Proxy, Redis zerbitzari multzo baten proxy bat, bezero bati Redis zerbitzari batzuekin lana antolatzeko aukera ematen diona instantzia bakar bat balitz bezala. Proxyak beharrezko datuak dituzten nodoetara bideratu ditzake eskaerak, multiplexa konexioak, klusterra birkonfiguratu nodoen akatsak hautematen badira eta hainbat nodo hartzen dituzten eskaerak exekutatu ditzake.
  • Moduluak idazteko APIa nabarmen hobetu da, funtsean Redis modulu gehigarri moduan sistemak sortzeko aukera ematen duen marko bihurtuz.
  • Erreplikatzeko modu bat ezarri da, non RDB fitxategiak berehala ezabatzen diren erabili ondoren.
  • PSYNC2 erreplikazio-protokoloa hobetu da, eta horri esker, birsinkronizazio partziala sarriago egitea ahalbidetu da, erreplikaren eta maisuaren ohiko desplazamenduak identifikatzeko aukerak areagotuz.
  • RDB fitxategien karga azkartu egin da. Fitxategiaren edukiaren arabera, azelerazioa %20tik 30era bitartekoa da. INFO komandoaren exekuzioa nabarmen bizkortu da konektatutako bezero kopuru handia dagoenean.
  • STRALGO komando berri bat gehitu da kateen prozesatzeko algoritmo konplexuen ezarpenarekin. Gaur egun, LCS (azpisekuentzia komun luzeena) algoritmo bakarra dago eskuragarri, erabilgarria izan daiteke RNA eta DNA sekuentziak alderatzean.

Iturria: opennet.ru

Gehitu iruzkin berria