Dragonfly, një sistem për ruajtjen e të dhënave RAM

pilivesë

Dragonfly është një dyqan i të dhënave në memorie i ndërtuar për ngarkesat moderne të aplikacioneve.

Pak ditë më parë u bë e ditur lëshimi i sistemit të ruajtjes në memorie dhe ruajtjes së të dhënave Dragonfly, i cili manipulon të dhënat në formatin kyç/vlerë dhe mund të përdoret si një zgjidhje e lehtë për përshpejtimin e faqeve me ngarkesë të lartë duke ruajtur në memorien e pyetjeve të ngadalta në DBMS dhe të dhëna të ndërmjetme në RAM.

Dragonfly mbështet protokollet Memcached dhe Redis, duke ju lejuar të përdorni bibliotekat ekzistuese të klientëve dhe projektet e porteve duke përdorur Memcached dhe Redis në Dragonfly pa pasur nevojë të ripunoni kodin tuaj.

Vlen të përmendet se Dragonfly së fundi ka marrë një përditësim, duke arritur versionin e tij 1.0 dhe në të cilin shquhet për zbatimin e mbështetjes për replikimin e të dhënave nga serveri primar në atë dytësor.

Në të njëjtën kohë, Dragonfly mund të konfigurohet për t'u përdorur si memorie dytësore i cili pranon të dhëna nga serveri kryesor i bazuar në Dragonfly dhe Redis. API-ja e menaxhimit të replikimit është e pajtueshme me Redis dhe bazohet në përdorimin e komandave ROLE dhe REPLICAOF (SLAVEOF).

Rreth Dragonfly

Performanca e lartë arrihet falë një arkitekture me shumë fije pa ndarje të burimeve (shared-nothing), që do të thotë se një kontrollues i veçantë është i bashkangjitur në çdo thread me të dhënat e veta, i cili funksionon pa mutexes ose spin-locks.

Kyçet e lehta VLL përdoren për të garantuar atomicitetin kur kemi të bëjmë me çelësa të shumtë, pasi për të ruajtur në mënyrë efikase informacionin në memorie, përdoret struktura e dashtable, e cila zbaton një lloj tabelash hash të ndarë.

Krahasuar me Redis, Dragonfly krenohet me një rritje të performancës 25 herë (3,8 milionë kërkesa për sekondë) nën ngarkesat tipike të punës në një mjedis Amazon EC2 c6gn.16x. Krahasuar me Memcached në një mjedis AWS c6gn.16xlarge, Dragonfly ishte në gjendje të plotësonte 4,7 herë më shumë kërkesa për shkrim në sekondë (3,8 milionë kundrejt 806k) dhe 1,77 herë më shumë kërkesa për lexim në sekondë (3,7 milionë kundrejt 2,1 milionë).

Në testet e ruajtjes 5 GB, Dragonfly kërkonte 30% më pak memorie se Redis. Gjatë krijimit të fotografisë duke përdorur komandën "bgsave", konsumi i memories rritet, por në kohën e pikut mbahej pothuajse tre herë më pak se në Redis, dhe vetë operacioni i shkrimit të fotografisë është shumë më i shpejtë (në rastin e Redis). fotografia u shkrua në Dragonfly në 30 sekonda, dhe Redis - në 42 sekonda).

Disa Karakteristikat e Dragonfly janë:

  • Një modalitet memorie që zëvendëson automatikisht të dhënat e vjetra me të dhëna të reja pasi të jetë mbaruar memoria e lirë.
  • Mbështetje për ciklet e jetës së lidhjes së të dhënave gjatë të cilave të dhënat konsiderohen të përditësuara.
  • Mbështetje për ndezjen e gjendjes së ruajtjes në disk në sfond për rikuperim të mëvonshëm pas një rindezjeje.
  • Prania e një konsole HTTP (lidhet në portin TCP 6379) për menaxhimin e sistemit dhe një API për kthimin e metrikës, në përputhje me Prometheus.
  • Mbështetje për 185 komanda Redis, afërsisht ekuivalente me funksionalitetin e lëshimit të Redis 5.
  • Mbështetje për të gjitha komandat Memcached përveç CAS (verifiko dhe konfiguro).
  • Mbështetje për operacionet asinkrone për të krijuar fotografi.
  • Konsumi i parashikueshëm i memories.
  • Përkthyesi i integruar Lua 5.4.
  • Mbështetje për lloje komplekse të të dhënave si hash, grupe, lista (ZSET, HSET, LIST, SETS dhe STRING) dhe të dhëna JSON.
  • Mbështetje për replikimin e ruajtjes për dështimin dhe balancimin e ngarkesës.

Për ata që janë të interesuar në kodin Dragonfly, duhet ta dini se kjo shkruhet në C/C++ dhe shpërndahet nën licencën BSL . Thelbi i BSL është se kodi i funksionalitetit të zgjeruar fillimisht është i disponueshëm për modifikim, por për disa kohë ai mund të përdoret falas vetëm duke iu nënshtruar kushteve shtesë, të cilat kërkojnë blerjen e një licence komerciale për të anashkaluar.

Kushtet shtesë të licencës së projektit Dragonfly kërkojnë që kodi të migrohet në licencën Apache 2.0 më 15 mars 2028. Deri atëherë, licenca lejon përdorimin e kodit vetëm për të siguruar funksionimin e shërbimeve dhe produkteve të tij, por ndalon përdorimin për të krijuar me pagesë shërbimet cloud që veprojnë si një shtojcë për Dragonfly.

Më në fund nëse jeni të interesuar të dini pak më shumë për të, ju mund të kontrolloni detajet në lidhja vijuese.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.