Tso tawm Dragonfly 1.0, lub kaw lus rau caching cov ntaub ntawv hauv RAM

Lub Dragonfly hauv-nco caching thiab cia kaw lus tau raug tso tawm, uas tswj cov ntaub ntawv hauv cov ntsiab lus tseem ceeb / tus nqi thiab tuaj yeem siv los ua lub teeb yuag rau kev ua kom nrawm rau kev ua haujlwm ntawm cov chaw thauj khoom hnyav, caching qeeb cov lus nug rau DBMS thiab cov ntaub ntawv nruab nrab hauv RAM. Dragonfly txhawb nqa Memcached thiab Redis raws tu qauv, uas tso cai rau koj siv cov tsev qiv ntawv cov neeg siv khoom uas twb muaj lawm thiab hloov cov haujlwm siv Memcached thiab Redis rau Dragonfly yam tsis tau rov ua dua cov cai.

Muab piv rau Redis, Dragonfly tau ua tiav qhov kev ua tau zoo 2-fold (6 lab thov ib ob) rau cov haujlwm hnyav hauv Amazon EC16 c25gn.3.8x loj ib puag ncig. Piv rau Memcached hauv AWS c6gn.16xlarge ib puag ncig, Dragonfly muaj peev xwm ua tau 4.7 npaug ntxiv sau thov ib ob (3.8 lab piv rau 806 txhiab) thiab 1.77 npaug ntau dua nyeem thov ib ob (3.7 lab piv rau 2.1 lab).

Tso tawm Dragonfly 1.0, lub kaw lus rau caching cov ntaub ntawv hauv RAM

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 sijhawm ncov nws tseem yuav luag peb zaug tsawg dua hauv Redis, thiab snapshot kaw nws tus kheej sai dua (hauv qhov kev sim, snapshot hauv Dragonfly tau sau hauv 30. vib nas this, thaum Redis - hauv 42 vib nas this).

Tso tawm Dragonfly 1.0, lub kaw lus rau caching cov ntaub ntawv hauv RAM

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.

Qee qhov nta ntawm Dragonfly:

  • Caching hom, uas cia li hloov cov ntaub ntawv qub nrog cov ntaub ntawv tshiab tom qab lub cim xeeb dawb tas lawm.
  • Kev them nyiaj yug rau kev khi rau cov ntaub ntawv ib lub neej thaum lub sij hawm cov ntaub ntawv suav hais tias muaj feem xyuam.
  • Kev them nyiaj yug rau flushing cia lub xeev rau disk hauv keeb kwm yav dhau rau kev rov qab los tom qab rov pib dua.
  • Lub xub ntiag ntawm HTTP console (binds rau TCP chaw nres nkoj 6379) rau kev tswj hwm thiab API rau kev ntsuas rov qab, sib xws nrog Prometheus.
  • Kev them nyiaj yug rau 185 Redis cov lus txib, uas yog kwv yees sib npaug rau kev ua haujlwm ntawm Redis 5 tso tawm.
  • Txhawb nqa tag nrho Memcached cov lus txib tshwj tsis yog CAS (check-and-set).
  • Txhawb kev ua haujlwm asynchronous rau tsim snapshots.
  • Predictable nco noj.
  • Built-in Lua 5.4 tus neeg txhais lus.
  • Txhawb cov ntaub ntawv nyuaj xws li hashes, teev, npe (ZSET, HSET, LIST, SETS thiab STRING) thiab JSON cov ntaub ntawv.
  • Txhawb kev khaws cia replication rau kev ua txhaum cai thiab kev sib npaug ntawm kev thauj khoom.

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 rau Dragonfly qhov project xav kom hloov pauv mus rau Apache 2.0 daim ntawv tso cai thaum Lub Peb Hlis 15, 2028. 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.

Version Dragonfly 1.0 yog qhov tseem ceeb rau nws qhov kev siv ntawm kev txhawb nqa cov ntaub ntawv rov ua dua los ntawm thawj tus neeg rau zaub mov mus rau qhov thib ob. Txawm li cas los xij, Dragonfly tuaj yeem raug teeb tsa los siv los ua qhov chaw cia thib ob uas tau txais cov ntaub ntawv los ntawm thawj tus neeg rau zaub mov raws li Dragonfly lossis raws Redis. Kev tswj hwm kev rov ua dua API yog sib xws nrog Redis thiab ua raws li kev siv ROLE thiab REPLICAOF (SLAVEOF) cov lus txib.

Tau qhov twg los: opennet.ru

Ntxiv ib saib