Dragonfly, un sistem de stocare a datelor RAM

Libelulă

Dragonfly este un depozit de date în memorie construit pentru sarcinile de lucru moderne ale aplicațiilor.

Acum câteva zile s-a anunțat lansarea sistemului de stocare a datelor și de stocare a datelor în memorie Dragonfly, care manipulează datele în format cheie/valoare și poate fi folosit ca o soluție ușoară pentru accelerarea site-urilor cu încărcare mare prin memorarea în cache a interogărilor lente în DBMS și a datelor intermediare în RAM.

libelulă acceptă protocoalele Memcached și Redis, permițându-vă să utilizați bibliotecile client existente și proiectele de porturi folosind Memcached și Redis la Dragonfly fără a fi nevoie să vă reluați codul.

Merită menționat că Dragonfly a primit recent o actualizare, ajungând la versiunea sa 1.0 și în care se remarcă prin implementarea suportului pentru replicarea datelor de la serverul primar la cel secundar.

În același timp, Dragonfly poate fi configurat pentru a fi utilizat ca stocare secundară care acceptă date de la serverul principal bazat pe Dragonfly și Redis. API-ul de gestionare a replicării este compatibil cu Redis și se bazează pe utilizarea comenzilor ROLE și REPLICAOF (SLAVEOF).

Despre Dragonfly

Performanța ridicată este obținută datorită unei arhitecturi multi-threaded fără a partaja resurse (shared-nothing), ceea ce înseamnă că la fiecare fir de execuție este atașat un controler separat cu propria sa bucată de date, care funcționează fără mutex sau spin-lock.

Încuietori VLL ușoare sunt folosite pentru a garanta atomicitatea atunci când aveți de-a face cu mai multe chei, deoarece pentru a stoca informațiile în mod eficient în memorie, este utilizată structura dashtable, care implementează un fel de tabele hash partiționate.

În comparație cu Redis, Dragonfly se mândrește cu o creștere a performanței de 25 ori (3,8 milioane de solicitări pe secundă) sub sarcini tipice într-un mediu Amazon EC2 c6gn.16xlarge. Comparativ cu Memcached într-un mediu AWS c6gn.16xlarge, Dragonfly a reușit să completeze de 4,7 ori mai multe solicitări de scriere pe secundă (3,8 milioane față de 806k) și de 1,77 ori mai multe solicitări de citire pe secundă (3,7 milioane față de 2,1 milioane).

În testele de stocare de 5 GB, Dragonfly a necesitat cu 30% mai puțină memorie decât Redis. În timpul creării instantaneului folosind comanda „bgsave”, consumul de memorie crește, dar la orele de vârf a fost păstrat de aproape trei ori mai puțin decât în ​​Redis, iar operația de scriere a instantaneului în sine este mult mai rapidă (în cazul Redis). instantaneul a fost scris pe Dragonfly în 30 de secunde, iar Redis – în 42 de secunde).

Unele Caracteristicile Dragonfly sunt:

  • Un mod de stocare în cache care înlocuiește automat datele vechi cu date noi odată ce memoria liberă este epuizată.
  • Suport pentru ciclurile de viață de legare a datelor în timpul cărora datele sunt considerate actualizate.
  • Suport pentru spălarea stării de stocare pe disc în fundal pentru recuperarea ulterioară după o repornire.
  • Prezența unei console HTTP (se leagă pe portul TCP 6379) pentru managementul sistemului și a unui API pentru returnarea valorilor, compatibil cu Prometheus.
  • Suport pentru 185 de comenzi Redis, aproximativ echivalent cu funcționalitatea versiunii Redis 5.
  • Suport pentru toate comenzile Memcached, cu excepția CAS (verificare și configurare).
  • Suport pentru operațiuni asincrone pentru a crea instantanee.
  • Consum previzibil de memorie.
  • Interpret Lua integrat 5.4.
  • Suport pentru tipuri de date complexe, cum ar fi hashuri, seturi, liste (ZSET, HSET, LIST, SETS și STRING) și date JSON.
  • Suport pentru replicarea stocării pentru failover și echilibrarea încărcăturii.

Pentru cei interesați de codul Dragonfly, ar trebui să știți că acesta este scris în C/C++ și este distribuit sub licența BSL .Esența BSL este că codul de funcționalitate extins este inițial disponibil pentru modificare, dar de ceva timp poate fi folosit gratuit doar în condițiile suplimentare, care necesită achiziționarea unei licențe comerciale pentru a ocoli.

Termenii suplimentari de licență ai proiectului Dragonfly cer ca codul să fie migrat la Licența Apache 2.0 pe 15 martie 2028. Până atunci, licența permite utilizarea codului doar pentru a asigura funcționarea serviciilor și produselor sale, dar interzice utilizarea pentru a crea plăți. servicii cloud care acționează ca un plug-in pentru Dragonfly.

În cele din urmă dacă ești interesat să știi puțin mai multe despre asta, puteți verifica detaliile în următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.