Qhov project Dragonfly tab tom txhim kho kev hloov pauv sai dua rau Redis thiab Memcached

Thawj qhov kev tso tawm ntawm Dragonfly hauv-nco caching system muaj, muab kev txhawb nqa rau Memcached thiab Redis raws tu qauv, tab sis tso cai rau cov lus nug kom ua tiav nrog kev ua haujlwm ntau dua thiab tsawg dua kev nco. Lub kaw lus tswj hwm cov ntaub ntawv hauv hom tseem ceeb / tus nqi thiab tuaj yeem siv los ua lub teeb yuag kom nrawm ua haujlwm ntawm qhov chaw siab, caching qeeb cov lus nug rau DBMS thiab cov ntaub ntawv nruab nrab hauv RAM. Lub Dragonfly code yog sau rau hauv C / C ++ thiab muab faib raws li BSL (Business Source License).

Daim ntawv tso cai BSL tau thov los ntawm tus tsim ntawm MySQL ua lwm txoj hauv kev qhib Core qauv. Lub ntsiab lus ntawm BSL yog tias txoj cai ntawm kev ua haujlwm siab tshaj yog pib muaj rau kev hloov kho, tab sis qee lub sijhawm tuaj yeem siv dawb xwb yog tias muaj xwm txheej ntxiv, uas yuav tsum tau yuav daim ntawv tso cai ua lag luam kom hla. Cov lus tso cai ntxiv ntawm Dragonfly qhov project xav kom hloov mus rau Apache 2.0 daim ntawv tso cai tsuas yog rau lub Rau Hli 1, 2027. Txog rau lub sijhawm no, daim ntawv tso cai tso cai rau kev siv cov cai nkaus xwb los xyuas kom meej tias kev ua haujlwm ntawm nws cov kev pabcuam thiab cov khoom lag luam, tab sis txwv tsis pub siv rau kev tsim cov kev pabcuam huab them nyiaj uas ua haujlwm ntxiv rau Dragonfly.

Raws li cov neeg tsim khoom thiab kev sim ua qauv qhia, Dragonfly tau lees tias yog lub cim xeeb ceev tshaj plaws. Piv rau Redis, Dragonfly tau ua tiav 25-fold nce hauv kev ua tau zoo thiab txo peb zaug hauv kev nco noj rau cov haujlwm ua haujlwm. Ib tus neeg rau zaub mov Dragonfly tuaj yeem ua tiav ntau lab ntawm kev thov ib ob, piv txwv li, hauv Amazon EC2 c6gn.16x loj ib puag ncig nws muaj peev xwm ua tiav qhov kev ua tau zoo ntawm 3.8 lab thov ib ob.

Qhov project Dragonfly tab tom txhim kho kev hloov pauv sai dua rau Redis thiab Memcached

Hauv kev sim khaws cia 5 GB ntawm cov ntaub ntawv, Dragonfly xav tau 30% nco tsawg dua Redis. Thaum tsim snapshots nrog "bgsave" hais kom ua, nco tau nce, tab sis thaum lub sij hawm ncov nws tseem yuav luag peb zaug tsawg dua hauv Redis, thiab snapshot kaw nws tus kheej sai dua (hauv qhov kev sim, ib qho snapshot hauv Dragonfly tau sau hauv 30. vib nas this, thaum Redis - hauv 42 vib nas this).

Qhov project Dragonfly tab tom txhim kho kev hloov pauv sai dua rau Redis thiab Memcached

Kev ua haujlwm siab tau ua tiav ua tsaug rau ntau txoj xov zoo uas tsis muaj kev sib koom ua ke (sib koom-tsis muaj dab tsi), uas txhais tau hais tias txhua txoj xov tau muab cov txheej txheem sib cais nrog nws tus kheej cov ntaub ntawv, ua haujlwm yam tsis muaj mutexes thiab spin locks. Txhawm rau kom ntseeg tau tias atomicity thaum ua haujlwm nrog ntau tus yuam sij, lub teeb yuag VLL xauv yog siv. Txhawm rau khaws cov ntaub ntawv hauv lub cim xeeb zoo, cov qauv dashtable yog siv, uas siv hom kev faib cov lus hash.

Ntawm cov yam ntxwv muaj nyob rau hauv thawj qhov kev tso tawm, kev txhawb nqa rau RESP2 raws tu qauv thiab 130 Redis cov lus txib tau sau tseg, uas kwv yees sib xws rau kev ua haujlwm ntawm Redis 2.8 tso tawm. Tsis tas li ntawd, Dragonfly txhawb nqa tag nrho cov lus txib memcached tshwj tsis yog CAS (check-and-set), muab kev txhawb nqa rau kev ua haujlwm asynchronous rau kev tsim snapshots, muab kev cia siab rau kev noj, muab tus neeg txhais lus Lua 5.4 built-in, thiab txhawb nqa cov ntaub ntawv nyuaj xws li hashes, teev, thiab cov npe (ZSET, HSET, LIST, SETS thiab STRING).

Ib hom caching yog nyias muaj nyias, uas yuav hloov cov ntaub ntawv qub nrog cov ntaub ntawv tshiab tom qab lub cim xeeb dawb tas lawm. Nws muaj peev xwm txuas tau ib lub neej rau cov ntaub ntawv thaum lub sij hawm cov ntaub ntawv yog suav tias tsim nyog. Cia lub xeev tuaj yeem yaug mus rau disk hauv keeb kwm yav dhau rau kev rov qab los tom qab rov pib dua. Txhawm rau tswj hwm qhov system, HTTP console tau muab (txuas rau TCP chaw nres nkoj 6379) thiab API rau kev ntsuas rov qab, sib xws nrog Prometheus. Nyob rau hauv lub neej yav tom ntej versions, peb npaj yuav nthuav kev txhawb nqa rau Redis cov lus txib thiab siv lub peev xwm los rov ua dua qhov chaw khaws cia kom muaj kev ua txhaum cai thiab kev sib npaug.

Tau qhov twg los: opennet.ru

Ntxiv ib saib