Tá an córas taisce agus stórála cuimhne Dragonfly eisithe, a ionramhálann sonraí i bhformáid eochair/luacha agus is féidir é a úsáid mar réiteach éadrom chun obair láithreáin ard-lódáilte a luathú, ag taisceadh fiosruithe mall chuig an DBMS agus sonraí idirmheánacha i RAM. Tacaíonn Dragonfly leis na prótacail Memcached agus Redis, a ligeann duit leabharlanna cliant atá ann cheana féin agus tionscadail aistrithe a úsáid ag baint úsáide as Memcached agus Redis go Dragonfly gan an cód a athoibriú.
I gcomparáid le Redis, bhain Dragonfly amach méadú 2-huaire ar fheidhmíocht (6 milliún iarratas in aghaidh an tsoicind) le haghaidh ualaí oibre tipiciúil i dtimpeallacht Amazon EC16 c25gn.3.8xlarge. I gcomparáid le Memcached i dtimpeallacht AWS c6gn.16xlarge, bhí Dragonfly in ann 4.7 uair níos mó iarratas scríbhneoireachta a dhéanamh in aghaidh an tsoicind (3.8 milliún i gcomparáid le 806 míle) agus 1.77 uair níos mó iarrataí léite in aghaidh an tsoicind (3.7 milliún i gcomparáid le 2.1 milliún).

I dtástálacha chun 5 GB de shonraí a stóráil, bhí 30% níos lú cuimhne ag teastáil ó Dragonfly ná Redis. Nuair a chruthaítear pictiúir leis an ordú “bgsave”, méadaítear tomhaltas cuimhne, ach ag buaicphointí d’fhan sé beagnach trí huaire níos lú ná mar a bhí in Redis, agus tá an oibríocht taifeadta seat féin i bhfad níos tapúla (sa tástáil, scríobhadh pictiúr in Dragonfly in 30 soicind, agus Redis - i 42 soicind).

Baintear amach ardfheidhmíocht a bhuíochas le hailtireacht il-snáithithe gan acmhainní a roinnt (rud ar bith), rud a chiallaíonn go sanntar próiseálaí ar leith ar leith do gach snáithe lena gcuid sonraí féin, ag obair gan mutexes agus glasanna casadh. Chun adamhacht a chinntiú agus iad ag obair le heochracha iolracha, úsáidtear glais éadroma VLL. Chun faisnéis a stóráil go héifeachtach i gcuimhne, úsáidtear an struchtúr dashtable, a chuireann i bhfeidhm cineál tábla hash deighilte.
Roinnt gnéithe de Dragonfly:
- Modh caching, a chuireann sonraí nua in ionad sean-shonraí go huathoibríoch tar éis an chuimhne saor in aisce a bheith ídithe.
- Tacaíocht do cheangal ar shonraí ar feadh an tsaoil a mheastar na sonraí a bheith ábhartha.
- Tacaíocht le staid stórála a shruthlú go diosca sa chúlra le haghaidh aisghabháil níos déanaí tar éis atosú.
- Consól HTTP a bheith ann (ceanglaíonn sé le calafort TCP 6379) le haghaidh bainistíochta córais agus API chun méadracht a thabhairt ar ais, ag luí le Prometheus.
- Tacaíocht le haghaidh orduithe 185 Redis, atá comhionann go garbh le feidhmiúlacht scaoileadh Redis 5.
- Tacaíonn sé le gach ordú Memcached ach amháin CAS (seiceáil agus socrú).
- Tacaíocht d’oibríochtaí asincrónacha chun pictiúir a chruthú.
- Tomhaltas cuimhne intuartha.
- Ateangaire Lua 5.4 ionsuite.
- Tacaíonn sé le cineálacha sonraí casta ar nós hashes, tacair, liostaí (ZSET, HSET, LIST, SETS agus STRING) agus sonraí JSON.
- Tacaíonn sé le macasamhlú stórála le haghaidh lamháltais locht agus cothromaíocht ualaigh.
Tá an cód Dragonfly scríofa i C/C++ agus déantar é a dháileadh faoin BSL (Ceadúnas Foinse Gnó). Ba iad comhbhunaitheoirí MySQL a mhol an ceadúnas BSL mar mhalairt ar an tsamhail Open Core. Is é bunbhrí BSL go bhfuil an cód feidhmiúlachta ardleibhéil ar fáil ar dtús lena mhodhnú, ach ní féidir é a úsáid saor in aisce le tamall ach amháin má chomhlíontar coinníollacha breise, a éilíonn ceadúnas tráchtála a cheannach chun dul timpeall. Éilíonn téarmaí breise ceadúnais do thionscadal Dragonfly go n-aistreofar an cód chuig ceadúnas Apache 2.0 ar 15 Márta, 2028. Go dtí an tráth seo, ní cheadaíonn an ceadúnas an cód a úsáid ach amháin chun oibriú a chuid seirbhísí agus táirgí a áirithiú, ach cuireann sé cosc ar úsáid chun seirbhísí scamall íoctha a chruthú a fheidhmíonn mar bhreiseán do Dragonfly.
Tá Dragonfly 1.0 suntasach as an tacaíocht a chuirtear i bhfeidhm a thugann sé do mhacasamhlú sonraí ón mbunleibhéal. freastalaí chuig freastalaí tánaisteach. Is féidir Dragonfly a chumrú chun gníomhú mar stóras tánaisteach, ag fáil sonraí ó fhreastalaí príomhúil atá bunaithe ar Dragonfly nó atá bunaithe ar Redis. Tá an API bainistíochta macasamhlaithe comhoiriúnach le Redis agus tá sé bunaithe ar na horduithe ROLE agus REPLICAOF (SLAVEOF).
Foinse: oscailtenet.ru
