Dragonfly, projekts, kas apgalvo, ka ir ātrāks Redis un Memcached aizstājējs

Tika izlaista ziņa, ka pirmā versija jau ir pieejama datu kešatmiņas sistēma atmiņā Dragonfly, kas nodrošina atbalstu Memcached un Redis protokoliem, bet tas ļauj vaicājumus izpildīt ar daudz lielāku veiktspēju un mazāku atmiņas patēriņu.

Sistēma apstrādā datus atslēgas/vērtības formātā, un to var izmantot kā vieglu risinājumu, lai paātrinātu stipri noslogotās vietnes, kešatmiņā saglabātu lēnus vaicājumus DBVS un kešatmiņā starpdatus RAM.

BSL ierosināja MySQL līdzdibinātāji kā alternatīvu Open Core modelim. BSL būtība ir tāda, ka paplašinātās funkcionalitātes kods sākotnēji ir pieejams modificēšanai, taču kādu laiku to var izmantot bez maksas tikai ar papildu nosacījumiem, kuru apiešanai nepieciešams iegādāties komerclicenci.

Dragonfly projekta papildu licences nosacījumi paredz kodu konvertēt uz Apache 2.0 licenci tikai 1. gada 2027. jūnijā. Līdz tam licence atļauj kodu izmantot tikai savu pakalpojumu un produktu darbības nodrošināšanai, bet aizliedz izmantot, lai izveidotu maksas mākoņpakalpojumus, kas darbojas kā Dragonfly papildinājums.

Spāre apgalvo, ka tā ir pasaulē ātrākā atmiņas uzglabāšanas sistēma, saskaņā ar izstrādātājiem un etaloniem. Salīdzinot ar Redis, Dragonfly sasniedza 25x veiktspējas pieaugumu un 3x samazināts atmiņas patēriņš pie tipiskām darba slodzēm. Viens Dragonfly serveris var apstrādāt miljoniem pieprasījumu sekundē, piemēram, Amazon EC2 c6gn.16xlarge vidē tika sasniegta caurlaidspēja 3,8 miljoni pieprasījumu sekundē.

5 GB krātuves testos Dragonfly prasīja par 30% mazāk atmiņas nekā Redis. Momentuzņēmumu veidošanas laikā, izmantojot komandu "bgsave", atmiņas patēriņš palielinās, bet maksimuma laikos tas tiek uzturēts gandrīz trīs reizes mazāk nekā Redis, un pati momentuzņēmuma rakstīšanas darbība ir daudz ātrāka (testā momentuzņēmums tika ierakstīts Spāre 30 sekundēs, bet Redis - 42 sekundēs).

Augsta veiktspēja tiek sasniegta, pateicoties vairāku vītņu arhitektūrai nav koplietotu resursu ( share-nothing ), kas nozīmē, ka katram pavedienam ir pievienots atsevišķs un neatkarīgs kontrolieris ar saviem datiem, kas darbojas bez mutex vai spin-locks. Vieglas VLL slēdzenes tiek izmantotas, lai nodrošinātu atomitāti, strādājot ar vairākām atslēgām. Lai efektīvi uzglabātu informāciju atmiņā, tiek izmantota dashtable struktūra, kas ievieš sava veida sadalītas jaucēj tabulas.

No pieejamajām funkcijām pirmā versija izceļ atbalstu RESP2 protokolam un 130 Redis komandām, kas aptuveni atbilst Redis 2.8 laidiena funkcionalitātei.

Turklāt, Dragonfly atbalsta visas Memcached komandas, izņemot CAS (pārbaudīt un iestatīt), nodrošina atbalstu asinhronām operācijām momentuzņēmumu izveidei, nodrošina paredzamu atmiņas patēriņu, nodrošina iebūvētu Lua 5.4 tulku un atbalsta sarežģītus datu tipus, piemēram, jaucējus, kopas un sarakstus (ZSET, HSET, LIST, SETS un STRING).

Atsevišķi ir pieejams kešatmiņas režīms, kurā vecie dati tiek automātiski aizstāti ar jauniem datiem, tiklīdz ir iztērēta brīvā atmiņa. Ir iespēja saistīt ar datiem visu mūžu, kura laikā dati tiek uzskatīti par būtiskiem.

Krātuves stāvokli var izskalot diskā fonā, lai vēlāk atkoptu pēc atsāknēšanas. Lai pārvaldītu sistēmu, tiek nodrošināta HTTP konsole (sasaistās ar TCP portu 6379) un API, lai atgrieztu ar Prometheus saderīgu metriku. Nākamajos laidienos mēs plānojam paplašināt Redis komandu atbalstu un ieviest iespēju replicēt krātuvi kļūmjpārlēcei un slodzes līdzsvarošanai.

Visbeidzot, ja vēlaties uzzināt vairāk par to, jums jāzina, ka Dragonfly kods ir rakstīts C/C++ valodā un tiek izplatīts saskaņā ar BSL licenci (Business Source License).

Jūs varat konsultēties par projektu Šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.