Dragonfly, sistem za predpomnjenje podatkov RAM

DragonFly

Dragonfly je shramba podatkov v pomnilniku, zgrajena za delovne obremenitve sodobnih aplikacij.

Pred nekaj dnevi je bilo objavljeno izdaja sistema za predpomnjenje in shranjevanje podatkov Dragonfly v pomnilniku, ki manipulira s podatki v obliki ključa/vrednosti in se lahko uporablja kot lahka rešitev za pospešitev visoko obremenjenih mest s predpomnjenjem počasnih poizvedb v DBMS in vmesnih podatkov v RAM.

Dragonfly podpira protokola Memcached in Redis, kar vam omogoča uporabo obstoječih odjemalskih knjižnic in projektov vrat z uporabo Memcached in Redis v Dragonfly, ne da bi morali predelati kodo.

Omeniti velja, da Dragonfly nedavno prejel posodobitev, dosegel svojo različico 1.0 in v kateri izstopa po implementaciji podpore za replikacijo podatkov s primarnega na sekundarni strežnik.

Hkrati pa Dragonfly lahko konfigurirate za uporabo kot sekundarni pomnilnik ki sprejema podatke iz glavnega strežnika, ki temelji na Dragonfly in Redis. API za upravljanje replikacije je združljiv z Redisom in temelji na uporabi ukazov ROLE in REPLICAOF (SLAVEOF).

O Dragonfly

Visoka zmogljivost je dosežena zahvaljujoč večnitni arhitekturi brez deljenja virov (shared-nothing), kar pomeni, da je na vsako nit pritrjen ločen krmilnik s svojim podatkom, ki deluje brez muteksov ali spin-lockov.

Lahke ključavnice VLL se uporabljajo za zagotavljanje atomičnosti pri delu z več ključi, saj se za učinkovito shranjevanje informacij v pomnilnik uporablja struktura dashtable, ki izvaja neke vrste particionirane zgoščene tabele.

V primerjavi z Redisom se Dragonfly ponaša s 25-kratno izboljšano zmogljivostjo (3,8 milijona zahtev na sekundo) pri tipičnih delovnih obremenitvah v okolju Amazon EC2 c6gn.16xlarge. V primerjavi z Memcached v okolju AWS c6gn.16xlarge je Dragonfly lahko opravil 4,7-krat več zahtev za pisanje na sekundo (3,8 milijona v primerjavi z 806 k) in 1,77-krat več zahtev za branje na sekundo (3,7 milijona v primerjavi z 2,1 milijona).

V preskusih 5 GB prostora za shranjevanje Dragonfly je potreboval 30 % manj pomnilnika kot Redis. Med ustvarjanjem posnetka z ukazom "bgsave" se poraba pomnilnika poveča, vendar se ga je v konicah ohranilo skoraj trikrat manj kot v Redisu, sama operacija zapisovanja posnetka pa je veliko hitrejša (v primeru Redisa). test, a posnetek je bil napisan na Dragonfly v 30 sekundah, Redis pa v 42 sekundah).

Nekatere Funkcije Dragonfly so:

  • Način predpomnjenja, ki samodejno zamenja stare podatke z novimi, ko je prosti pomnilnik prazen.
  • Podpora za življenjske cikle vezave podatkov, med katerimi se podatki štejejo za posodobljene.
  • Podpora za izpiranje stanja shranjevanja na disk v ozadju za kasnejšo obnovitev po ponovnem zagonu.
  • Prisotnost konzole HTTP (veže se na vrata TCP 6379) za upravljanje sistema in API za vračanje metrik, združljiv s Prometheusom.
  • Podpora za 185 ukazov Redis, kar je približno enakovredno funkcionalnosti izdaje Redis 5.
  • Podpora za vse ukaze Memcached razen CAS (preveri in konfiguriraj).
  • Podpora za asinhrone operacije za ustvarjanje posnetkov.
  • Predvidljiva poraba pomnilnika.
  • Integriran tolmač Lua 5.4.
  • Podpora za kompleksne tipe podatkov, kot so zgoščene vrednosti, nizi, seznami (ZSET, HSET, LIST, SETS in STRING) in podatki JSON.
  • Podpora replikacije shranjevanja za samodejni preklop in uravnoteženje obremenitve.

Za tiste, ki jih zanima koda Dragonfly, morate vedeti, da je to je napisan v C/C++ in se distribuira pod dovoljenje BSL .Bistvo BSL je v tem, da je koda razširjene funkcionalnosti na začetku na voljo za spreminjanje, nekaj časa pa jo lahko uporabljate brezplačno le pod dodatnimi pogoji, ki zahtevajo nakup komercialne licence za obhod.

Dodatni licenčni pogoji projekta Dragonfly zahtevajo, da se koda preseli v licenco Apache 2.0 15. marca 2028. Do takrat licenca dovoljuje uporabo kode samo za zagotavljanje delovanja njegovih storitev in izdelkov, vendar prepoveduje uporabo za ustvarjanje plačljivih storitve v oblaku, ki delujejo kot vtičnik za Dragonfly.

Končno če te zanima kaj več o tem, podrobnosti lahko preverite v naslednja povezava.


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.