Ujekamanzi, isistimu yokulondoloza idatha ye-RAM

DragonFly

I-dragonfly iyisitolo sedatha yenkumbulo eyakhelwe imisebenzi yesimanje yezinhlelo zokusebenza.

Ezinsukwini ezimbalwa ezedlule kumenyezelwe ukukhululwa kwe-Dragonfly in-memory caching kanye nesistimu yokugcina idatha, eshintsha idatha ngefomethi yokhiye/inani futhi engasetshenziswa njengesixazululo esilula sokusheshisa amasayithi anomthwalo omkhulu ngokufaka kunqolobane imibuzo enensayo ku-DBMS kanye nedatha emaphakathi ku-RAM.

Dragonfly isekela i-Memcached ne-Redis protocol, ikuvumela ukuthi usebenzise imitapo yolwazi yamaklayenti ekhona kanye namaphrojekthi echweba usebenzisa i-Memcached ne-Redis ukuya ku-Dragonfly ngaphandle kokuphinda usebenzise ikhodi yakho.

Kuyafaneleka ukubalula leyo Dragonfly muva nje uthole isibuyekezo, ukufinyelela inguqulo yayo 1.0 futhi lapho igqamile ekusetshenzisweni kosekelo lokuphindaphindwa kwedatha kusuka kuseva yokuqala kuye kweyesibili.

Ngesikhathi esifanayo, Dragonfly ingalungiselelwa ukuthi isetshenziswe njengesitoreji sesibili eyamukela idatha evela kuseva eyinhloko esekelwe ku-Dragonfly ne-Redis. I-API yokulawula ukuphindaphinda ihambisana ne-Redis futhi isekelwe ekusetshenzisweni kwe-ROLE kanye ne-REPLICAOF (SLAVEOF) imiyalo.

Mayelana Nojekamanzi

Ukusebenza okuphezulu kufinyelelwa ngenxa yesakhiwo esinemicu eminingi ngaphandle kokwabelana ngezinsiza (okwabelwana-lutho), okusho ukuthi isilawuli esihlukile sinamathiselwe kuchungechunge ngalunye ngocezu lwaso lwedatha, olusebenza ngaphandle kwama-mutexes noma ama-spin-locks.

Izingidi ze-VLL ezingasindi zisetshenziselwa ukuqinisekisa i-atomicity lapho usebenza nokhiye abaningi, njengoba ukugcina ulwazi kahle enkumbulweni, kusetshenziswa isakhiwo esidashtable, esisebenzisa uhlobo lwamathebula e-hashi ahlukanisiwe.

Uma kuqhathaniswa ne-Redis, i-Dragonfly iziqhayisa ngokuthuthukisa ukusebenza okungu-25x (Izicelo eziyizigidi ezingu-3,8 ngomzuzwana) ngaphansi komthwalo ojwayelekile wokusebenza endaweni ye-Amazon EC2 c6gn.16xlarge. Uma kuqhathaniswa ne-Memcached endaweni ye-AWS c6gn.16xlarge, I-dragonfly ikwazile ukuqedela izicelo zokubhala izikhathi ezingu-4,7 ngaphezulu ngomzuzwana (izigidi ezingu-3,8 vs. 806k) kanye nezicelo ezifundwayo izikhathi ezingu-1,77 ngomzuzwana (3,7 million vs. 2,1 million).

Ekuhlolweni kwesitoreji esingu-5 GB, Ujekamanzi udinga inkumbulo engaphansi ngo-30% kuneRedis. Ngesikhathi sokudala isifinyezo kusetshenziswa umyalo we- "bgsave", ukusetshenziswa kwenkumbulo kuyanda, kodwa ngezikhathi eziphakeme igcinwe cishe izikhathi eziphindwe kathathu kune-Redis, futhi umsebenzi wokubhala isifinyezo ngokwawo ushesha kakhulu (uma kwenzeka ku-Redis). isifinyezo sabhalwa ku-Dragonfly ngemizuzwana engu-30, futhi i-Redis - ngemizuzwana engu-42).

Abanye Izici ze-dragonfly yilezi:

  • Imodi yokulondoloza ethatha ngokuzenzakalelayo indawo yedatha endala ngedatha entsha uma inkumbulo yamahhala isiphelile.
  • Usekelo lwemijikelezo yokuphila ebophezela idatha lapho idatha ibhekwa njengeyakamuva.
  • Usekelo lokuguquguqula isimo sesitoreji kudiski ngemuva ukuze ululame ngemva kokuqalisa kabusha.
  • Ukuba khona kwekhonsoli ye-HTTP (ibophezela kumbobo ye-TCP 6379) yokuphathwa kwesistimu kanye ne-API yamamethrikhi abuyayo, asebenzisana ne-Prometheus.
  • Ukusekelwa kwemiyalo engu-185 Redis, ecishe ilingane nokusebenza kokukhishwa kwe-Redis 5.
  • Ukusekelwa kwayo yonke imiyalo ye-Memcached ngaphandle kwe-CAS (qinisekisa futhi ulungiselele).
  • Ukusekelwa kwemisebenzi e-asynchronous ukuze udale izifinyezo.
  • Ukusetshenziswa kwenkumbulo okubikezelwayo.
  • Umhumushi we-Lua ohlanganisiwe 5.4.
  • Ukusekelwa kwezinhlobo zedatha eziyinkimbinkimbi njengama-hashi, amasethi, izinhlu (i-ZSET, i-HSET, i-LIST, i-SETS, ne-STRING), kanye nedatha ye-JSON.
  • Ukusekelwa kokuphindaphinda kwesitoreji kwe-failover nokulinganisa kokulayisha.

Kulabo abanentshisekelo kukhodi ye-Dragonfly, kufanele ukwazi ukuthi lokhu ibhalwe ngo-C/C++ futhi isatshalaliswa ngaphansi ilayisense BSL .Ingqikithi ye-BSL iwukuthi ikhodi yokusebenza enwetshiwe iyatholakala ekuqaleni ukuze ilungiswe, kodwa isikhathi esithile ingasetshenziswa mahhala kuphela ngaphansi kwemibandela eyengeziwe, edinga ukuthengwa kwelayisensi yezohwebo ukuze kudlule.

Imigomo yelayisensi eyengeziwe yephrojekthi ye-Dragonfly idinga ukuthi ikhodi ithuthelwe ku-Apache License 2.0 ngomhla ka-March 15, 2028. Kuze kube yileso sikhathi, ilayisense ivumela ukusetshenziswa kwekhodi kuphela ukuze kuqinisekiswe ukusebenza kwamasevisi nemikhiqizo yayo, kodwa ivimbela ukusetshenziswa ukudala okukhokhelwayo. amasevisi amafu asebenza njenge-plug-in ku-Dragonfly.

Okokugcina uma unentshisekelo yokwazi okwengeziwe ngayo, ungabheka imininingwane kufayela le- isixhumanisi esilandelayo.


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Unomthwalo wemfanelo ngedatha: AB Internet Networks 2008 SL
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.