Dragonfly, projekt, ki trdi, da je hitrejša zamenjava za Redis in Memcached

To je bila objavljena novica prva različica je že na voljo sistem za predpomnjenje podatkov v pomnilniku Dragonfly, ki nudi podporo za protokola Memcached in Redis, vendar omogoča izvajanje poizvedb z veliko večjo zmogljivostjo in manjšo porabo pomnilnika.

Sistem obdeluje podatke v obliki ključ/vrednost in se lahko uporablja kot lahka rešitev za pospeševanje močno obremenjenih spletnih mest, predpomnjenje počasnih poizvedb v DBMS in predpomnjenje vmesnih podatkov v RAM-u.

BSL so ga predlagali soustanovitelji MySQL kot alternativa modelu Open Core. Bistvo BSL je v tem, da je koda razširjene funkcionalnosti sprva na voljo za spreminjanje, vendar jo je nekaj časa mogoče brezplačno uporabljati le pod dodatnimi pogoji, ki zahtevajo nakup komercialne licence za obhod.

Dodatni licenčni pogoji projekta Dragonfly zahtevajo, da se koda pretvori v licenco Apache 2.0 šele 1. junija 2027. Do takrat licenca dovoljuje uporabo kode samo za zagotavljanje delovanja svojih storitev in izdelkov, vendar prepoveduje uporabo za ustvarjanje plačljivih storitev v oblaku, ki delujejo kot dodatek Dragonflyju.

Dragonfly trdi, da je najhitrejši sistem za shranjevanje pomnilnika na svetu, glede na razvijalce in merila uspešnosti. V primerjavi z Redisom je Dragonfly dosegel 25-kratno povečanje zmogljivosti in 3-kratno zmanjšanje porabe pomnilnika pri tipičnih delovnih obremenitvah. En sam strežnik Dragonfly lahko obdela milijone zahtev na sekundo, na primer v okolju Amazon EC2 c6gn.16xlarge je bila dosežena prepustnost 3,8 milijona zahtev na sekundo.

V testih za shranjevanje 5 GB je Dragonfly zahteval 30 % manj pomnilnika kot Redis. Med ustvarjanjem posnetkov z ukazom "bgsave" se poraba pomnilnika poveča, vendar se ob konicah vzdržuje skoraj trikrat manj kot v Redisu, sama operacija zapisovanja posnetkov pa je veliko hitrejša (v testu je posnetek zapisal v Dragonfly v 30 sekundah, Redis pa v 42 sekundah).

Visoka zmogljivost je dosežena zahvaljujoč večnitni arhitekturi brez skupnih virov ( shared-nothing ), kar pomeni, da je ločen in neodvisen krmilnik z lastnim kosom podatkov pritrjen na vsako nit, ki deluje brez mutexov ali vrtljivih ključavnic. Lahke ključavnice VLL se uporabljajo za zagotavljanje atomičnosti pri delu z več ključi. Za učinkovito shranjevanje informacij v pomnilnik se uporablja struktura dashtable, ki izvaja nekakšne particionirane hash tabele.

Od funkcij, ki so na voljo v prva različica poudarja podporo za protokol RESP2 in 130 ukazov Redis, kar približno ustreza funkcionalnosti izdaje Redis 2.8.

Poleg tega, Dragonfly podpira vse ukaze Memcached razen CAS (preverjanje in nastavitev), zagotavlja podporo za asinhrone operacije za ustvarjanje posnetkov, zagotavlja predvidljivo porabo pomnilnika, zagotavlja vgrajen tolmač Lua 5.4 in podpira kompleksne vrste podatkov, kot so razpršitve, nizi in seznami (ZSET, HSET, LIST, SETS in STRING).

Ločeno je na voljo način predpomnjenja, pri katerem se stari podatki samodejno nadomestijo z novimi, ko je prosti pomnilnik izčrpan. Možna je povezava s podatki za vse življenje, v katerem se podatki štejejo za relevantne.

Stanje shranjevanja se lahko v ozadju izprazni na disk za kasnejše obnovitev po ponovnem zagonu. Za upravljanje sistema sta na voljo konzola HTTP (veže se na vrata TCP 6379) in API za vračanje meritev, skladnih s Prometheusom. V prihodnjih izdajah načrtujemo razširitev podpore za ukaze Redis in implementacijo zmožnosti podvajanja pomnilnika za preklop in uravnoteženje obremenitve.

Končno, če vas zanima več o tem, morate vedeti, da je koda Dragonfly napisana v C/C++ in se distribuira pod licenco BSL (business Source License).

O projektu se lahko posvetujete V naslednji povezavi.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.