Dragonfly, RAM-i andmete vahemällu salvestamise süsteem

DragonFly

Dragonfly on mälusisene andmesalv, mis on loodud tänapäevaste rakenduste töökoormuste jaoks.

Paar päeva tagasi teatati Dragonfly mälusisese vahemälu- ja andmesalvestussüsteemi vabastamine, mis töötleb andmeid võtme/väärtuse vormingus ja mida saab kasutada kerge lahendusena suure koormusega saitide kiirendamiseks, salvestades vahemällu aeglased päringud DBMS-i ja vaheandmed RAM-is.

Dragonfly toetab Memcachedi ja Redise protokolle, mis võimaldab teil kasutada olemasolevaid klienditeeke ja pordiprojekte, kasutades Memcachedi ja Redist to Dragonfly, ilma et peaksite oma koodi ümber töötama.

Tasub mainida, et Dragonfly sai hiljuti värskenduse, jõudes selle versioonini 1.0 ja millises paistab silma andmete replikatsiooni toe rakendamise poolest esmasest serverisse teiseseks.

Samal ajal Dragonfly saab konfigureerida kasutamiseks teisese mäluna mis võtab vastu andmeid põhiserverist Dragonfly ja Redise põhjal. Replikatsioonihalduse API ühildub Redisega ja põhineb käskude ROLE ja REPLICAOF (SLAVEOF) kasutamisel.

Dragonfly kohta

Suur jõudlus saavutatakse tänu mitme keermega arhitektuurile ilma ressursse jagamata (shared-nothing), mis tähendab, et iga lõime külge on kinnitatud eraldi kontroller, millel on oma andmed, mis töötab ilma mutexide ja spin-lockideta.

Kergekaalulisi VLL-lukke kasutatakse mitme võtmega töötamisel aatomilisuse tagamiseks, kuna teabe tõhusaks mällu salvestamiseks kasutatakse kriipsustruktuuri, mis rakendab omamoodi partitsioonitud räsitabeleid.

Võrreldes Redisega, on Dragonfly jõudlus 25 korda suurem (3,8 miljonit päringut sekundis) tüüpilise töökoormuse korral Amazon EC2 c6gn.16xlarge keskkonnas. Võrreldes Memcachediga AWS c6gn.16xlarge keskkonnas, suutis Dragonfly täita 4,7 korda rohkem kirjutamistaotlusi sekundis (3,8 miljonit vs. 806k) ja 1,77 korda rohkem lugemistaotlusi sekundis (3,7 miljonit vs. 2,1 miljonit).

5 GB salvestusruumi testides Dragonfly nõudis 30% vähem mälu kui Redis. Snapshot'i loomisel käsuga "bgsave" mälutarve suureneb, kuid tipptundidel hoiti seda peaaegu kolm korda vähem kui Redises ja hetktõmmise kirjutamise toiming ise on palju kiirem (Redise puhul). test, a hetktõmmis kirjutati Dragonflyle 30 sekundiga ja Redis – 42 sekundiga).

Mõned Dragonfly funktsioonid on järgmised:

  • Vahemällu salvestamise režiim, mis asendab vanad andmed automaatselt uute andmetega, kui vaba mälu on ammendunud.
  • Andmete sidumise elutsüklite tugi, mille jooksul andmeid peetakse ajakohaseks.
  • Salvestusoleku taustal kettale viimise tugi hilisemaks taastamiseks pärast taaskäivitamist.
  • HTTP-konsooli olemasolu (seob TCP-porti 6379) süsteemi haldamiseks ja API olemasolu mõõdikute tagastamiseks, mis ühildub Prometheusega.
  • Toetus 185 Redis käsule, mis on ligikaudu samaväärne Redis 5 väljalaske funktsioonidega.
  • Kõigi mälumällu salvestatud käskude tugi, välja arvatud CAS (kontrollimine ja konfigureerimine).
  • Asünkroonsete toimingute tugi hetktõmmiste loomiseks.
  • Prognoositav mälukulu.
  • Integreeritud Lua tõlk 5.4.
  • Toetus keerulistele andmetüüpidele, nagu räsid, komplektid, loendid (ZSET, HSET, LIST, SETS ja STRING) ja JSON-andmed.
  • Salvestusruumi replikatsiooni tugi tõrkesiirde ja koormuse tasakaalustamise jaoks.

Need, kes on Dragonfly koodist huvitatud, peaksid teadma, et see on kirjutatud C/C++ keeles ja seda levitatakse all litsents BSL .BSL-i olemus seisneb selles, et laiendatud funktsionaalsuse kood on algselt saadaval muutmiseks, kuid mõnda aega saab seda tasuta kasutada ainult lisatingimustel, mille möödahiilimiseks on vaja osta kommertslitsents.

Dragonfly projekti täiendavad litsentsitingimused nõuavad, et kood migreeritaks versioonile Apache License 2.0 15. märtsil 2028. Kuni selle ajani lubab litsents koodi kasutada ainult oma teenuste ja toodete toimimise tagamiseks, kuid keelab kasutamise tasulise loomiseks. pilveteenused, mis toimivad Dragonfly pistikprogrammina.

Lõpuks kui olete huvitatud sellest veidi rohkem teada, saate üksikasju vaadata järgmine link.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.