Tha a’ chiad fhoillseachadh de shiostam caching cuimhne Dragonfly ri fhaighinn, a’ toirt taic do phròtacalan Memcached agus Redis, ach a’ leigeil le ceistean a bhith air an cur an gnìomh le coileanadh mòran nas àirde agus nas lugha de chaitheamh cuimhne. Bidh an siostam a’ làimhseachadh dàta ann an cruth prìomh / luach agus faodar a chleachdadh mar fhuasgladh aotrom gus obair làraich làn luchd a luathachadh, a’ tilgeil cheistean slaodach don DBMS agus dàta eadar-mheadhanach ann an RAM. Tha còd Dragonfly sgrìobhte ann an C/C++ agus air a chuairteachadh fon BSL (Ceadachas Stòr Gnìomhachais).
Chaidh cead BSL a mholadh le co-stèidheadairean MySQL mar roghainn eile an àite a’ mhodail Open Core. Is e brìgh BSL gu bheil an còd gnìomh adhartach ri fhaighinn an toiseach airson atharrachadh, ach airson ùine faodar a chleachdadh an-asgaidh a-mhàin ma thèid cumhachan a bharrachd a choileanadh, a dh’ fheumas cead malairteach a cheannach gus faighinn seachad air. Feumaidh teirmean cead a bharrachd de phròiseact Dragonfly an còd a ghluasad gu cead Apache 2.0 a-mhàin air 1 Ògmhios, 2027. Gu ruige seo, tha an cead a’ ceadachadh a’ chòd a chleachdadh a-mhàin gus dèanamh cinnteach à obrachadh a sheirbheisean agus a thoraidhean, ach tha e a’ toirmeasg cleachdadh airson seirbheisean sgòthan pàighte a chruthachadh a bhios mar chur-ris do Dragonfly.
A rèir an luchd-leasachaidh agus deuchainnean dearbhte, tha Dragonfly ag ràdh gur e seo an siostam stòraidh cuimhne as luaithe. An coimeas ri Redis, choilean Dragonfly àrdachadh 25-fhillte ann an coileanadh agus lùghdachadh trì-fhillte ann an caitheamh cuimhne airson eallach obrach àbhaisteach. Faodaidh aon fhrithealaiche Dragonfly na milleanan de iarrtasan gach diog a phròiseasadh, mar eisimpleir, ann an àrainneachd Amazon EC2 c6gn.16xlarge bha e comasach coileanadh de 3.8 millean iarrtas gach diog a choileanadh.
Ann an deuchainnean airson 5 GB de dhàta a stòradh, bha feum aig Dragonfly air 30% nas lugha de chuimhne na Redis. Nuair a chruthaicheas tu dealbhan leis an àithne “bgsave”, bidh caitheamh cuimhne a’ dol am meud, ach aig amannan as àirde tha e fhathast faisg air trì tursan nas lugha na ann an Redis, agus tha an obair clàraidh dhealbhan fhèin fada nas luaithe (anns an deuchainn, chaidh dealbh beag ann an Dragonfly a sgrìobhadh ann an 30 diogan, fhad 'sa Redis - ann an 42 diogan).
Tha àrd-choileanadh air a choileanadh le taing do ailtireachd ioma-snàthainn gun a bhith a’ roinneadh ghoireasan (rud sam bith co-roinnte), a tha a ’ciallachadh gu bheil pròiseasar fa leth air a thoirt do gach snàithlean le a chuibhreann fhèin de dhàta, ag obair às aonais mutexes agus glasan snìomh. Gus dèanamh cinnteach à atomachd nuair a bhios tu ag obair le grunn iuchraichean, thathas a’ cleachdadh glasan VLL aotrom. Gus fiosrachadh a stòradh gu h-èifeachdach mar chuimhneachan, thathas a ’cleachdadh an structar dashtable, a bhios a’ cur an gnìomh seòrsa de bhòrd hash sgaraichte.
Am measg nam feartan a tha rim faighinn sa chiad fhoillseachadh, thathas a’ toirt fa-near taic don phròtacal RESP2 agus òrdughan 130 Redis, a tha timcheall air a rèir gnìomhachd an sgaoileadh Redis 2.8. A bharrachd air an sin, tha Dragonfly a’ toirt taic do gach òrdugh memcached ach a-mhàin CAS (check-and-set), a’ toirt taic do ghnìomhachd asyncronach airson dealbhan a chruthachadh, a’ toirt seachad caitheamh cuimhne a tha dùil, a’ toirt seachad eadar-theangair Lua 5.4 togte, agus a’ toirt taic do sheòrsan dàta iom-fhillte leithid hashes, seataichean, agus liostaichean (ZSET, HSET, LIST, SETS agus STRING).
Tha modh caching ri fhaighinn air leth, a chuireas gu fèin-ghluasadach an àite seann dàta le dàta ùr às deidh don chuimhne an-asgaidh a bhith sgìth. Tha e comasach beatha a cheangal ris an dàta nuair a thathas a’ meas gu bheil an dàta buntainneach. Faodar staid stòraidh a chuir gu diosc air a’ chùl airson faighinn air ais nas fhaide air adhart às deidh ath-thòiseachadh. Gus an siostam a riaghladh, tha consol HTTP air a thoirt seachad (a ’ceangal ri port TCP 6379) agus API airson meatrach a thilleadh, a tha co-chosmhail ri Prometheus. Ann an dreachan san àm ri teachd, tha sinn an dùil taic a leudachadh airson òrdughan Redis agus an comas stòradh ath-riochdachadh gus fulangas sgàinidhean agus cothromachadh luchdan a thoirt seachad.
Source: fosgailtenet.ru