Dragonfly, RAM datu kešatmiņas sistēma

DragonFly

Dragonfly ir atmiņā esoša datu krātuve, kas veidota modernām lietojumprogrammu darba slodzēm.

Pirms dažām dienām tas tika paziņots Dragonfly atmiņas kešatmiņas un datu uzglabāšanas sistēmas izlaišana, kas manipulē ar datiem atslēgas/vērtības formātā un var tikt izmantots kā viegls risinājums augstas slodzes vietņu paātrināšanai, kešatmiņā saglabājot lēnus vaicājumus DBVS un starpposma datus RAM.

Spāre atbalsta Memcached un Redis protokolus, ļaujot izmantot esošās klientu bibliotēkas un portu projektus, izmantojot Memcached un Redis to Dragonfly, nepārstrādājot kodu.

Ir vērts pieminēt, ka Dragonfly nesen saņemts atjauninājums, sasniedzot savu versiju 1.0 un kurā izceļas ar datu replikācijas atbalsta ieviešanu no primārā uz sekundāro serveri.

Tajā pašā laikā, Dragonfly var konfigurēt, lai to izmantotu kā sekundāro krātuvi kas pieņem datus no galvenā servera, pamatojoties uz Dragonfly un Redis. Replikācijas pārvaldības API ir saderīga ar Redis un ir balstīta uz ROLE un REPLICAOF (SLAVEOF) komandu izmantošanu.

Par Dragonfly

Augsta veiktspēja tiek sasniegta, pateicoties vairāku vītņu arhitektūrai bez resursu koplietošanas (shared-nothing), kas nozīmē, ka katram pavedienam ir pievienots atsevišķs kontrolieris ar savu datu daļu, kas darbojas bez mutex vai spin-lock.

Vieglas VLL slēdzenes tiek izmantotas, lai garantētu atomitāti, strādājot ar vairākām atslēgām, jo, lai efektīvi uzglabātu informāciju atmiņā, tiek izmantota dashtable struktūra, kas ievieš sava veida sadalītas jaucēj tabulas.

Salīdzinot ar Redis, Dragonfly var lepoties ar 25x veiktspējas uzlabojumu (3,8 miljoni pieprasījumu sekundē) pie tipiskām darba slodzēm Amazon EC2 c6gn.16xlarge vidē. Salīdzinot ar Memcached AWS c6gn.16xlarge vidē, Dragonfly spēja izpildīt 4,7 reizes vairāk rakstīšanas pieprasījumu sekundē (3,8 miljoni salīdzinājumā ar 806k) un 1,77 reizes vairāk lasīšanas pieprasījumu sekundē (3,7 miljoni pret 2,1 miljonu).

5 GB krātuves testos Dragonfly prasīja par 30% mazāk atmiņas nekā Redis. Momentuzņēmuma izveides laikā, izmantojot komandu "bgsave", atmiņas patēriņš palielinās, bet maksimuma laikā tas tika saglabāts gandrīz trīs reizes mazāks nekā Redis, un pati momentuzņēmuma rakstīšanas darbība ir daudz ātrāka (Redis gadījumā). tests, a momentuzņēmums uz Dragonfly tika uzrakstīts 30 sekundēs, bet Redis – 42 sekundēs).

Daži Dragonfly funkcijas ir:

  • Kešatmiņas režīms, kas automātiski aizstāj vecos datus ar jauniem datiem, tiklīdz ir iztērēta brīvā atmiņa.
  • Atbalsts datu saistīšanas dzīves cikliem, kuru laikā dati tiek uzskatīti par atjauninātiem.
  • Atbalsts krātuves stāvokļa izskalošanai diskā fonā vēlākai atkopšanai pēc atsāknēšanas.
  • HTTP konsole (saista ar TCP portu 6379) sistēmas pārvaldībai un API metrikas atgriešanai, kas ir saderīga ar Prometheus.
  • Atbalsts 185 Redis komandām, kas aptuveni atbilst Redis 5 laidiena funkcionalitātei.
  • Atbalsts visām Memcached komandām, izņemot CAS (pārbaudiet un konfigurējiet).
  • Atbalsts asinhronām darbībām, lai izveidotu momentuzņēmumus.
  • Paredzams atmiņas patēriņš.
  • Integrētais Lua tulks 5.4.
  • Atbalsts sarežģītiem datu veidiem, piemēram, jaucējkodiem, kopām, sarakstiem (ZSET, HSET, LIST, SETS un STRING) un JSON datiem.
  • Krātuves replikācijas atbalsts kļūmjpārlēcei un slodzes līdzsvarošanai.

Tiem, kurus interesē Dragonfly kods, jums jāzina, ka šis ir rakstīts C/C++ un tiek izplatīts zem licence BSL .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, ka kods ir jāmigrē uz Apache License 2.0 15. gada 2028. martā. 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ņpakalpojumi, kas darbojas kā Dragonfly spraudnis.

Beidzot ja jūs interesē uzzināt mazliet vairāk par to, sīkāku informāciju varat pārbaudīt šī saite.


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.