Dragonfly projekt arendab kiiremat alternatiivi Redis'ile ja Memcached'ile

Esimene versioon Dragonfly mĂ€lukasutuse sĂŒsteemist on nĂŒĂŒd saadaval. See toetab Memcached'i ja Redis'e protokolle ning vĂ”imaldab teha pĂ€ringuid palju suurema jĂ”udluse ja madalama mĂ€lutarbimisega. SĂŒsteem manipuleerib andmetega vĂ”tme/vÀÀrtuse formaadis ja vĂ”ib olla kerge lahendus kĂ”rge koormusega veebisaitide kiirusel, vahemĂ€lustades aeglaseid pĂ€ringuid andmebaasile ja vaheandmeid mĂ€lus. Dragonfly kood on kirjutatud C/C++ keeltes ja jagatakse BSL (Business Source License) litsentsi alusel.

BSL litsentsi pakkusid MySQLi kaasasutajad alternatiivina Open Core mudelile. BSL pĂ”himĂ”te seisneb selles, et laiendatud funktsionaalsuse kood on algselt muudatuste tegemiseks saadaval, kuid teatud aja jooksul vĂ”ib seda tasuta kasutada ainult tĂ€iendavate tingimuste tĂ€itmise korral, mille ĂŒletamiseks on vajalik kaubandusliku litsentsi ostmine. Dragonfly projekti tĂ€iendavad litsentsitingimused mÀÀravad, et kood muudetakse Apache 2.0 litsentsiks alles 1. juunil 2027. Kuni selle ajani lubab litsents koodi kasutada ainult oma teenuste ja toodete toimimise tagamiseks, kuid keelab selle rakendamise tasuliste pilveteenuste loomisel, mis on Dragonfly kohalduseks.

Arendajate vĂ€idete ja tehtud testide pĂ”hjal pretendeerib Dragonfly tiitlile kĂ”ige kiirema mĂ€luhaldussĂŒsteemi vĂ€rav. Dragonfly on suutnud saavutada tĂŒĂŒpiliste koormuste puhul 25-kordse jĂ”udluse kasvu ja kolme korda vĂ€iksema mĂ€lu tarbimise vĂ”rreldes Redisiga. server Dragonfly suudab töödelda miljoneid pĂ€ringuid sekundis, nĂ€iteks Amazon EC2 c6gn.16xlarge keskkonnas saavutati jĂ”udlus 3.8 miljonit pĂ€ringut sekundis.

Dragonfly projekt arendab kiiremat alternatiivi Redis'ile ja Memcached'ile

5 GB andmete salvestamise testides nÔudis Dragonfly 30% vÀhem mÀlu kui Redis. Snapshot'ide loomise ajal kÀsuga «bgsave» kasvab mÀlutarbimine, kuid tipptundidel jÀÀb see peaaegu kolm korda madalamale kui Redis, samas kui snapshot'i kirjutamise protsess toimub oluliselt kiiremini (Dragonfly puhul salvestati snapshot 30 sekundiga, Redisel aga 42 sekundiga).

Dragonfly projekt arendab kiiremat alternatiivi Redis'ile ja Memcached'ile

Korge jÔudlus saavutatakse tÀnu mitme vÔtme arhitektuurile ilma ressursside jagamiseta (shared-nothing), mis tÀhendab, et iga teema jaoks on eraldi isoleeritud töötleja koos oma andmeportsjoniga, töötades ilma mutex'ide ja spin-lockideta. Mitmete vÔtmete töötlemise aatomilisuse tagamiseks kasutatakse kergkaalu blokke VLL. Informatsiooni tÔhusaks salvestamiseks mÀlus kasutatakse dashtable struktuuri, mis rakendab jaotatud hash-tabelite varianti.

Esimese vĂ€ljaande vĂ”imalustest tasub mĂ€rkida RESP2 protokolli ja 130 Redis kĂ€sku, mis vastavad umbkaudu Redis 2.8 vĂ€ljaande funktsionaalsusele. Lisaks toetab Dragonfly kĂ”iki memcached kĂ€sku, vĂ€lja arvatud CAS (check-and-set), pakub asĂŒnkroonsete toimingute tuge snapshottide loomiseks, tagab ettearvatava mĂ€lu tarbimise, sisaldab sisseehitatud Lua 5.4 tĂ”lgendajat ning toetab keerulisi andmetĂŒĂŒpe nagu hash'id, kogud ja loendid (ZSET, HSET, LIST, SETS ja STRING).

Saadaval on eraldi vahemĂ€lu reĆŸiim, kus vanade andmete automaatne asendamine uute andmetega toimub pĂ€rast mĂ€luruumi tĂ€itumist. On vĂ”imalik seostada andmete eluea pikkusega, mille jooksul andmeid peetakse kehtivaks. Salvestusseisund vĂ”ib taustal kettale salvestuda, et see pĂ€rast taaskĂ€ivitamist taastada. SĂŒsteemi haldamiseks on saadaval HTTP-konsool (seondub TCP-porti 6379) ja API mÔÔdikute edastamiseks, mis on ĂŒhilduv Prometheusega. JĂ€rgmistes versioonides on plaanis laiendada Redis kĂ€skude toetust ja rakendada salvestuse replitseerimise vĂ”imalust, et tagada talitlushĂ€irekindlus ja koormuse tasakaalustus.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster