Il-proġett Dragonfly qed jiżviluppa sostitut aktar mgħaġġel għal Redis u Memcached

L-ewwel rilaxx tas-sistema ta 'caching fil-memorja Dragonfly hija disponibbli, li tipprovdi appoġġ għall-protokolli Memcached u Redis, iżda tippermetti li l-mistoqsijiet jiġu esegwiti b'rendiment ferm ogħla u inqas konsum tal-memorja. Is-sistema timmanipula data f'format ta 'ċavetta/valur u tista' tintuża bħala soluzzjoni ħafifa biex tħaffef ix-xogħol ta 'siti ta' tagħbija għolja, caching mistoqsijiet bil-mod lid-DBMS u data intermedja fir-RAM. Il-kodiċi Dragonfly huwa miktub f'C/C++ u huwa mqassam taħt il-BSL (Liċenzja tas-Sors tan-Negozju).

Il-liċenzja BSL ġiet proposta mill-ko-fundaturi tal-MySQL bħala alternattiva għall-mudell Open Core. L-essenza tal-BSL hija li l-kodiċi tal-funzjonalità avvanzata huwa inizjalment disponibbli għall-modifika, iżda għal xi żmien jista 'jintuża mingħajr ħlas biss jekk jintlaħqu kundizzjonijiet addizzjonali, li jeħtieġu x-xiri ta' liċenzja kummerċjali biex jiġu evitati. Termini addizzjonali tal-liċenzja tal-proġett Dragonfly jeħtieġu li l-kodiċi jiġi trasferit għal-liċenzja Apache 2.0 biss fl-1 ta’ Ġunju 2027. Sa dan iż-żmien, il-liċenzja tippermetti l-użu tal-kodiċi biss biex tiżgura t-tħaddim tas-servizzi u l-prodotti tagħha, iżda tipprojbixxi l-użu għall-ħolqien ta 'servizzi cloud mħallsa li jaġixxu bħala add-on għal Dragonfly.

Skont l-iżviluppaturi u t-testijiet murija, Dragonfly ssostni li hija s-sistema tal-ħażna tal-memorja l-aktar mgħaġġla. Meta mqabbel ma 'Redis, Dragonfly kisbet żieda ta' 25 darba fil-prestazzjoni u tnaqqis ta 'tliet darbiet fil-konsum tal-memorja għal xogħol tipiku. Server Dragonfly wieħed jista 'jipproċessa miljuni ta' talbiet kull sekonda, pereżempju, fl-ambjent Amazon EC2 c6gn.16xlarge kien possibbli li tinkiseb prestazzjoni ta '3.8 miljun talba kull sekonda.

Il-proġett Dragonfly qed jiżviluppa sostitut aktar mgħaġġel għal Redis u Memcached

Fit-testijiet għall-ħażna ta '5 GB ta' data, Dragonfly meħtieġa 30% inqas memorja minn Redis. Meta toħloq snapshots bil-kmand "bgsave", il-konsum tal-memorja jiżdied, iżda fil-mumenti tal-quċċata jibqa 'kważi tliet darbiet inqas minn f'Redis, u l-operazzjoni ta' reġistrazzjoni tal-istampa nnifisha hija ħafna aktar mgħaġġla (fit-test, snapshot f'Dragonfly inkiteb fi 30 sekondi, filwaqt li Redis - fi 42 sekonda).

Il-proġett Dragonfly qed jiżviluppa sostitut aktar mgħaġġel għal Redis u Memcached

Prestazzjoni għolja tinkiseb bis-saħħa ta 'arkitettura b'ħafna kamini mingħajr qsim ta' riżorsi (shared-nothing), li jfisser li kull ħajt huwa assenjat proċessur separat separat bil-porzjon tad-dejta tiegħu stess, li jaħdem mingħajr mutex u spin locks. Biex tiġi żgurata l-atomiċità meta taħdem ma 'ċwievet multipli, jintużaw serraturi VLL ħfief. Biex taħżen b'mod effiċjenti l-informazzjoni fil-memorja, tintuża l-istruttura dashtable, li timplimenta tip ta 'tabella hash maqsuma.

Fost il-karatteristiċi disponibbli fl-ewwel rilaxx, huwa nnutat appoġġ għall-protokoll RESP2 u 130 kmand Redis, li bejn wieħed u ieħor jikkorrispondi għall-funzjonalità tar-rilaxx Redis 2.8. Barra minn hekk, Dragonfly jappoġġja l-kmandi kollha memcached ħlief CAS (check-and-set), jipprovdi appoġġ għal operazzjonijiet asinkroniċi għall-ħolqien ta 'snapshots, jipprovdi konsum prevedibbli tal-memorja, jipprovdi interpretu Lua 5.4 integrat, u jappoġġja tipi ta' data kumplessi bħal hashes, settijiet, u listi (ZSET, HSET, LIST, SETS u STRING).

Modalità caching hija disponibbli separatament, li awtomatikament tissostitwixxi data qadima b'data ġdida wara li l-memorja ħielsa tkun eżawrita. Huwa possibbli li tehmeż ħajja kollha mad-dejta li matulha d-dejta titqies rilevanti. L-istat tal-ħażna jista 'jitlaħlaħ fuq id-diska fl-isfond għall-irkupru aktar tard wara li jerġa' jibda. Biex timmaniġġja s-sistema, hija pprovduta console HTTP (jingħaqad mal-port TCP 6379) u API għar-ritorn ta 'metriċi, kompatibbli ma' Prometheus. F'verżjonijiet futuri, qed nippjanaw li nespandu l-appoġġ għall-kmandi Redis u nimplimentaw l-abbiltà li nirreplikaw il-ħażna biex nipprovdu tolleranza għall-ħsarat u l-ibbilanċjar tat-tagħbija.

Sors: opennet.ru

Żid kumment