Dragonfly, systém ukladania dát do pamäte RAM

DragonFly

Dragonfly je úložisko údajov v pamäti vytvorené pre moderné pracovné zaťaženie aplikácií.

Pred pár dňami to bolo oznámené vydanie systému ukladania do pamäte cache a ukladania údajov Dragonfly, ktorý manipuluje s údajmi vo formáte kľúč/hodnota a možno ho použiť ako odľahčené riešenie na zrýchlenie vysoko zaťažených stránok ukladaním pomalých dopytov do DBMS a prechodných údajov do pamäte RAM.

Dragonfly podporuje protokoly Memcached a Redis, čo vám umožňuje používať existujúce klientske knižnice a projekty portov pomocou Memcached a Redis to Dragonfly bez toho, aby ste museli prerábať kód.

Za zmienku stojí, že Dragonfly nedávno dostal aktualizáciu, dosahuje svoju verziu 1.0 a v ktorej vyniká implementáciou podpory replikácie dát z primárneho na sekundárny server.

Zároveň Vážka možno nakonfigurovať na použitie ako sekundárne úložisko ktorý prijíma údaje z hlavného servera na báze Dragonfly a Redis. API na riadenie replikácie je kompatibilné s Redis a je založené na použití príkazov ROLE a REPLICAOF (SLAVEOF).

O Dragonfly

Vysoký výkon je dosiahnutý vďaka viacvláknovej architektúre bez zdieľania zdrojov (shared-nothing), čo znamená, že ku každému vláknu je pripojený samostatný radič s vlastným kusom údajov, ktorý funguje bez mutexov alebo spin-lockov.

Ľahké zámky VLL sa používajú na zaručenie atomicity pri práci s viacerými kľúčmi, pretože na efektívne ukladanie informácií do pamäte sa používa štruktúra tabuľkovej tabuľky, ktorá implementuje druh rozdelených hašovacích tabuliek.

V porovnaní s Redis sa Dragonfly môže pochváliť 25-násobným zvýšením výkonu (3,8 milióna požiadaviek za sekundu) pri typických pracovných zaťaženiach v prostredí Amazon EC2 c6gn.16xlarge. V porovnaní s Memcached v prostredí AWS c6gn.16xlarge bol Dragonfly schopný dokončiť 4,7-krát viac požiadaviek na zápis za sekundu (3,8 milióna vs. 806k) a 1,77-krát viac požiadaviek na čítanie za sekundu (3,7 milióna vs. 2,1 milióna).

V testoch 5 GB úložného priestoru Dragonfly vyžadoval o 30 % menej pamäte ako Redis. Počas vytvárania snímky pomocou príkazu "bgsave" sa spotreba pamäte zvyšuje, ale v špičkách bola udržiavaná takmer trikrát menej ako v Redis a samotná operácia zápisu snímky je oveľa rýchlejšia (v prípade Redis). test, a snímka bola napísaná na Dragonfly za 30 sekúnd a Redis – za 42 sekúnd).

Niektorí Vlastnosti vážky sú:

  • Režim vyrovnávacej pamäte, ktorý po vyčerpaní voľnej pamäte automaticky nahrádza staré údaje novými.
  • Podpora životných cyklov viazania údajov, počas ktorých sa údaje považujú za aktuálne.
  • Podpora pre vyprázdnenie stavu úložiska na disk na pozadí pre neskoršie obnovenie po reštarte.
  • Prítomnosť HTTP konzoly (viazaná na TCP port 6379) pre správu systému a API pre návratové metriky, kompatibilné s Prometheus.
  • Podpora pre 185 príkazov Redis, čo je zhruba ekvivalent funkčnosti vydania Redis 5.
  • Podpora všetkých príkazov Memcached okrem CAS (overiť a nakonfigurovať).
  • Podpora asynchrónnych operácií na vytváranie snímok.
  • Predvídateľná spotreba pamäte.
  • Integrovaný tlmočník Lua 5.4.
  • Podpora pre komplexné typy údajov, ako sú hash, sady, zoznamy (ZSET, HSET, LIST, SETS a STRING) a údaje JSON.
  • Podpora replikácie úložného priestoru pre núdzové prepnutie a vyrovnávanie záťaže.

Pre tých, ktorí sa zaujímajú o kód Dragonfly, mali by ste vedieť, že toto je napísaný v C/C++ a je distribuovaný pod licenciu BSL .Podstatou BSL je, že kód rozšírenej funkčnosti je spočiatku k dispozícii na úpravu, ale nejaký čas ho možno bezplatne používať iba za dodatočných podmienok, ktoré si vyžadujú zakúpenie komerčnej licencie.

Dodatočné licenčné podmienky projektu Dragonfly vyžadujú, aby bol kód migrovaný na Apache License 2.0 15. marca 2028. Dovtedy licencia povoľuje používanie kódu len na zabezpečenie prevádzky jeho služieb a produktov, ale zakazuje použitie na vytváranie platených cloudové služby, ktoré fungujú ako zásuvný modul pre Dragonfly.

Konečne ak máte záujem dozvedieť sa o tom trochu viac, môžete skontrolovať podrobnosti v nasledujúci odkaz.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.