Sakin Dragonfly 1.0, tsarin adana bayanai na cikin ƙwaƙwalwar ajiya

An saki tsarin caching na cikin ƙwaƙwalwar ajiyar Dragonfly da tsarin ajiya, wanda ke sarrafa bayanai a cikin maɓalli / ƙima kuma ana iya amfani da shi azaman bayani mai sauƙi don haɓaka aikin wuraren da aka ɗora nauyi, caching jinkirin tambayoyin zuwa DBMS da matsakaicin bayanai a cikin RAM. Dragonfly yana goyan bayan ƙa'idodin Memcached da Redis, waɗanda ke ba ku damar amfani da ɗakunan karatu na abokin ciniki da canja wurin ayyukan ta amfani da Memcached da Redis zuwa Dragonfly ba tare da sake yin lambar ba.

Idan aka kwatanta da Redis, Dragonfly ya sami karuwa mai ninki 2 a cikin aiki (buƙatun miliyan 6 a sakan daya) don yawan aiki na yau da kullun a cikin yanayin Amazon EC16 c25gn.3.8xlarge. Idan aka kwatanta da Memcached a cikin AWS c6gn.16xlarge muhalli, Dragonfly ya sami damar yin ƙarin buƙatun rubutu sau 4.7 a sakan daya (miliyan 3.8 da dubu 806) da ƙarin buƙatun karantawa sau 1.77 a sakan daya (miliyan 3.7 da miliyan 2.1).

Sakin Dragonfly 1.0, tsarin adana bayanai na cikin ƙwaƙwalwar ajiya

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).

Sakin Dragonfly 1.0, tsarin adana bayanai na cikin ƙwaƙwalwar ajiya

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.

Wasu fasalulluka na Dragonfly:

  • Yanayin caching, wanda ke maye gurbin tsoffin bayanai ta atomatik tare da sabbin bayanai bayan ƙwaƙwalwar kyauta ta ƙare.
  • Taimako don ɗaure bayanai a tsawon rayuwa lokacin da aka ɗauki bayanan dacewa.
  • Taimako don zubar da yanayin ajiya zuwa faifai a bango don dawowa daga baya bayan sake farawa.
  • Kasancewar na'ura wasan bidiyo na HTTP (yana ɗaure zuwa tashar jiragen ruwa na TCP 6379) don sarrafa tsarin da API don dawo da awo, mai jituwa tare da Prometheus.
  • Taimako don umarnin Redis 185, wanda yayi daidai da aikin sakewar Redis 5.
  • Yana goyan bayan duk Memcached umarni ban da CAS (duba-da-saitin).
  • Taimako don ayyukan asynchronous don ƙirƙirar hotuna.
  • Amfanin ƙwaƙwalwar ajiya da ake iya faɗi.
  • Gina mai fassarar Lua 5.4.
  • Yana goyan bayan nau'ikan bayanai masu rikitarwa kamar hashes, sets, lists (ZSET, HSET, LIST, SETS da STRING) da bayanan JSON.
  • Yana goyan bayan kwafin ajiya don haƙurin kuskure da daidaita nauyi.

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 a ranar 15 ga Maris, 2028. 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.

Sigar Dragonfly 1.0 sananne ne don aiwatar da tallafi don kwafin bayanai daga sabar farko zuwa ta sakandare. Koyaya, ana iya saita Dragonfly don amfani dashi azaman ajiya na biyu wanda ke karɓar bayanai daga uwar garken farko ko dai bisa Dragonfly ko bisa Redis. API ɗin sarrafa kwafi ya dace da Redis kuma ya dogara ne akan amfani da ROLE da umarnin REPLICAOF (SLAVEOF).

source: budenet.ru

Add a comment