Aikin Dragonfly yana haɓaka saurin maye gurbin Redis da Memcached

Sakin farko na tsarin caching na cikin ƙwaƙwalwar ajiyar Dragonfly yana samuwa, yana ba da tallafi ga ƙa'idodin Memcached da Redis, amma ba da damar aiwatar da tambayoyin tare da mafi girman aiki da ƙarancin amfani da ƙwaƙwalwar ajiya. Tsarin yana sarrafa bayanai a cikin maɓalli / ƙimar ƙima kuma ana iya amfani dashi azaman bayani mai sauƙi don hanzarta aikin wuraren da ake ɗaukar nauyi, caching jinkirin tambayoyin zuwa DBMS da matsakaiciyar bayanai a cikin RAM. An rubuta lambar Dragonfly a cikin C/C++ kuma an rarraba a ƙarƙashin BSL (Lasisi na Kasuwanci).

Masu haɗin gwiwar MySQL ne suka gabatar da lasisin BSL a matsayin madadin ƙirar Buɗe Core. Mahimmancin BSL shine cewa lambar aikin ci-gaba yana samuwa da farko don gyarawa, amma na ɗan lokaci ana iya amfani da shi kyauta kawai idan ƙarin sharuɗɗan sun cika, waɗanda ke buƙatar siyan lasisin kasuwanci don kewaya. Ƙarin sharuɗɗan lasisi na aikin Dragonfly suna buƙatar canja lambar zuwa lasisin Apache 2.0 kawai a ranar 1 ga Yuni, 2027. Har zuwa wannan lokacin, lasisin yana ba da damar yin amfani da lambar kawai don tabbatar da ayyukan sabis da samfuran sa, amma ya hana amfani don ƙirƙirar ayyukan girgije da aka biya waɗanda ke aiki azaman ƙari ga Dragonfly.

Dangane da masu haɓakawa da gwaje-gwajen da aka nuna, Dragonfly yayi iƙirarin shine mafi sauri tsarin ajiyar ƙwaƙwalwar ajiya. Idan aka kwatanta da Redis, Dragonfly ya sami karuwa mai ninki 25 a cikin aiki da kuma raguwa sau uku a cikin yawan ƙwaƙwalwar ajiya don yawan aiki na yau da kullun. Sabar Dragonfly ɗaya na iya aiwatar da miliyoyin buƙatun a sakan daya, alal misali, a cikin Amazon EC2 c6gn.16xlarge muhalli yana yiwuwa a cimma aikin buƙatun miliyan 3.8 a sakan daya.

Aikin Dragonfly yana haɓaka saurin maye gurbin Redis da Memcached

A cikin gwaje-gwaje don adana 5 GB na bayanai, Dragonfly yana buƙatar ƙarancin ƙwaƙwalwar ajiya 30% fiye da Redis. Lokacin ƙirƙirar hotuna tare da umarnin "bgsave", yawan amfani da ƙwaƙwalwar ajiya yana ƙaruwa, amma a lokacin kololuwar ya kasance kusan sau uku ƙasa da na Redis, kuma aikin ɗaukar hoto da kansa yana da sauri sosai (a cikin gwajin, an rubuta hoto a cikin Dragonfly a cikin 30). seconds, yayin da Redis - a cikin 42 seconds).

Aikin Dragonfly yana haɓaka saurin maye gurbin Redis da Memcached

Ana samun babban aiki godiya ga gine-gine masu zaren da yawa ba tare da raba albarkatu ba (raba-ba komai), wanda ke nufin cewa kowane zaren an sanya masarrafa daban-daban tare da nasa ɓangaren bayanai, yana aiki ba tare da ɓata lokaci ba da makullai. Don tabbatar da atomity lokacin aiki tare da maɓallai da yawa, ana amfani da makullan VLL masu nauyi. Don adana bayanai da kyau a cikin ƙwaƙwalwar ajiya, ana amfani da tsarin dashtable, wanda ke aiwatar da nau'in tebur ɗin zanta da aka raba.

Daga cikin fasalulluka da ake samu a cikin sakin farko, an lura da goyan bayan ka'idar RESP2 da umarnin 130 Redis, wanda kusan yayi daidai da aikin sakewar Redis 2.8. Bugu da ƙari, Dragonfly yana goyan bayan duk ƙa'idodin da aka ɓoye ban da CAS (duba-da-saitin), yana ba da tallafi don ayyukan asynchronous don ƙirƙirar hotunan hoto, yana ba da amfani da ƙwaƙwalwar da za a iya tsinkaya, yana ba da ginanniyar fassarar Lua 5.4, kuma yana tallafawa nau'ikan bayanai masu rikitarwa kamar hashes, saiti, da jeri (ZSET, HSET, LIST, SETS da STRING).

Yanayin caching yana samuwa daban, wanda ke maye gurbin tsoffin bayanai ta atomatik tare da sabbin bayanai bayan ƙwaƙwalwar kyauta ta ƙare. Yana yiwuwa a haɗa tsawon rayuwa zuwa bayanan lokacin da aka ɗauki bayanan dacewa. Ana iya juyar da yanayin ajiya zuwa faifai a bango don dawowa daga baya bayan sake farawa. Don sarrafa tsarin, an samar da na'urar wasan bidiyo ta HTTP (yana ɗaure zuwa tashar jiragen ruwa na TCP 6379) da API don dawo da awo, mai dacewa da Prometheus. A cikin sigogin gaba, muna shirin faɗaɗa tallafi don umarnin Redis da aiwatar da ikon yin kwafin ajiya don samar da haƙuri da kuskure da daidaita nauyi.

source: budenet.ru

Add a comment