Dragonfly, RAM sustav za predmemoriju podataka

vilin konjic

Dragonfly je pohrana podataka u memoriji izgrađena za radna opterećenja modernih aplikacija.

Prije nekoliko dana objavljeno je izdanje sustava za predmemoriju i pohranu podataka Dragonfly u memoriji, koji manipulira podacima u formatu ključ/vrijednost i može se koristiti kao lagano rješenje za ubrzavanje visokoopterećenih stranica predmemoriranjem sporih upita u DBMS i posrednih podataka u RAM-u.

Dragonfly podržava Memcached i Redis protokole, što vam omogućuje korištenje postojećih knjižnica klijenata i port projekata koristeći Memcached i Redis za Dragonfly bez potrebe za preradom vašeg koda.

Vrijedno je spomenuti da Dragonfly nedavno primio ažuriranje, dostigavši ​​svoju verziju 1.0 i u kojoj ističe se implementacijom podrške za replikaciju podataka od primarnog do sekundarnog poslužitelja.

U isto vrijeme Dragonfly može se konfigurirati za korištenje kao sekundarna pohrana koji prihvaća podatke s glavnog poslužitelja temeljenog na Dragonflyu i Redisu. API za upravljanje replikacijom kompatibilan je s Redisom i temelji se na korištenju naredbi ROLE i REPLICAOF (SLAVEOF).

O Dragonflyu

Visoke performanse postižu se zahvaljujući arhitekturi s više niti bez dijeljenja resursa (shared-nothing), što znači da je na svaku drevu priključen poseban kontroler sa svojim vlastitim dijelom podataka, koji radi bez mutexa ili spin-lockova.

Lagane VLL brave koriste se za jamčenje atomičnosti kada se radi s višestrukim ključevima, budući da se za učinkovito pohranjivanje informacija u memoriju koristi struktura dashtable, koja implementira neku vrstu particioniranih hash tablica.

U usporedbi s Redisom, Dragonfly se može pohvaliti 25x boljim performansama (3,8 milijuna zahtjeva u sekundi) pod tipičnim radnim opterećenjima u okruženju Amazon EC2 c6gn.16xlarge. U usporedbi s Memcachedom u okruženju AWS c6gn.16xlarge, Dragonfly je uspio izvršiti 4,7 puta više zahtjeva za pisanje u sekundi (3,8 milijuna naspram 806k) i 1,77 puta više zahtjeva za čitanje u sekundi (3,7 milijuna naspram 2,1 milijuna).

U testovima pohrane od 5 GB, Dragonfly je zahtijevao 30% manje memorije od Redisa. Tijekom izrade snapshota pomoću naredbe "bgsave", potrošnja memorije se povećava, ali u vršnim trenucima zadržava se gotovo tri puta manje nego u Redisu, a sama operacija pisanja snapshota je mnogo brža (u slučaju Redisa). test, a snimka je napisana na Dragonflyu za 30 sekundi, a na Redisu – za 42 sekunde).

Neki Dragonfly značajke su:

  • Način predmemoriranja koji automatski zamjenjuje stare podatke novim podacima nakon što se potroši slobodna memorija.
  • Podrška za životne cikluse povezivanja podataka tijekom kojih se podaci smatraju ažurnima.
  • Podrška za ispiranje stanja pohrane na disk u pozadini za kasniji oporavak nakon ponovnog pokretanja.
  • Prisutnost HTTP konzole (veže se na TCP priključak 6379) za upravljanje sustavom i API-ja za vraćanje metrike, kompatibilan s Prometheusom.
  • Podrška za 185 Redis naredbi, što je otprilike jednako funkcionalnosti Redis 5 izdanja.
  • Podrška za sve Memcached naredbe osim CAS (provjeri i konfiguriraj).
  • Podrška za asinkrone operacije za stvaranje snimki.
  • Predvidljiva potrošnja memorije.
  • Integrirani Lua tumač 5.4.
  • Podrška za složene tipove podataka kao što su hashevi, skupovi, popisi (ZSET, HSET, LIST, SETS i STRING) i JSON podaci.
  • Podrška za replikaciju pohrane za nadilaženje greške i balansiranje opterećenja.

Za one koje zanima kod Dragonfly, trebali biste znati da je ovo napisan je u C/C++ i distribuira se pod licenca BSL .Bit BSL-a je da je kod proširene funkcionalnosti u početku dostupan za modifikaciju, ali neko vrijeme se može koristiti besplatno samo pod dodatnim uvjetima, koji zahtijevaju kupnju komercijalne licence za zaobilaženje.

Dodatni licencni uvjeti projekta Dragonfly zahtijevaju da se kôd premjesti na licencu Apache 2.0 15. ožujka 2028. Do tada, licenca dopušta korištenje koda samo za osiguranje rada njegovih usluga i proizvoda, ali zabranjuje korištenje za stvaranje plaćenih usluge u oblaku koje djeluju kao plug-in za Dragonfly.

Konačno ako vas zanima nešto više o tome, detalje možete provjeriti u sljedeći link.


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.