Dragonfly, projekt, ktorý tvrdí, že je rýchlejšou náhradou za Redis a Memcached

Správa bola zverejnená, že prvá verzia je už dostupná systém ukladania údajov do pamäte Dragonfly, ktorý poskytuje podporu pre protokoly Memcached a Redis, ale umožňuje spúšťanie dotazov s oveľa vyšším výkonom a menšou spotrebou pamäte.

Systém spracováva údaje 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, ukladanie pomalých dopytov do vyrovnávacej pamäte v DBMS a vyrovnávanie medziľahlých údajov v RAM.

BSL navrhli spoluzakladatelia MySQL ako alternatíva k modelu Open Core. 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ú konverziu kódu na licenciu Apache 2.0 až 1. júna 2027. Do tohto času licencia umožňuje použitie kódu len na zabezpečenie prevádzky jeho služieb a produktov, avšak zakazuje použitie na vytváranie platených cloudových služieb, ktoré fungujú ako doplnok k Dragonfly.

Dragonfly tvrdí, že je najrýchlejším systémom na ukladanie pamäte na svete, podľa vývojárov a benchmarkov. V porovnaní s Redis dosiahol Dragonfly 25-násobný nárast výkonu a 3x zníženie spotreby pamäte pri typickom zaťažení. Jediný server Dragonfly dokáže spracovať milióny požiadaviek za sekundu, napríklad v prostredí Amazon EC2 c6gn.16xlarge sa dosiahla priepustnosť 3,8 milióna požiadaviek za sekundu.

V testoch 5 GB úložného priestoru potreboval Dragonfly o 30 % menej pamäte ako Redis. Počas vytvárania snímok pomocou príkazu „bgsave“ sa spotreba pamäte zvyšuje, ale v špičkách sa udržiava takmer trikrát menej ako v Redis a samotná operácia zápisu snímky je oveľa rýchlejšia (v teste zapisovala snímku v Vážka za 30 sekúnd a Redis - za 42 sekúnd).

Vysoký výkon je dosiahnutý vďaka viacvláknovej architektúre žiadne zdieľané zdroje ( shared-nothing ), čo znamená, že ku každému vláknu je pripojený samostatný a nezávislý kontrolér s vlastnou časťou údajov, ktorý funguje bez mutexov alebo spin-lockov. Ľahké zámky VLL sa používajú na zabezpečenie atomicity pri manipulácii s viacerými kľúčmi. Na efektívne ukladanie informácií do pamäte sa používa štruktúra dashtable, ktorá implementuje akési rozdelené hašovacie tabuľky.

Z funkcií dostupných v prvá verzia zdôrazňuje podporu protokolu RESP2 a 130 príkazov Redis, čo zhruba zodpovedá funkcionalite vydania Redis 2.8.

Okrem toho, Dragonfly podporuje všetky príkazy Memcached okrem CAS (overiť a nastaviť), poskytuje podporu pre asynchrónne operácie na vytváranie snímok, poskytuje predvídateľnú spotrebu pamäte, poskytuje vstavaný interpret Lua 5.4 a podporuje komplexné typy údajov, ako sú hash, sady a zoznamy (ZSET, HSET, LIST, SETS a STRING).

Samostatne je k dispozícii režim ukladania do vyrovnávacej pamäte, v ktorom sú staré dáta automaticky nahradené novými dátami po vyčerpaní voľnej pamäte. Je možné prepojiť údaje na celý život, počas ktorého sa údaje považujú za relevantné.

Stav úložiska je možné vyprázdniť na disk na pozadí pre neskoršie obnovenie po reštarte. Na správu systému je k dispozícii konzola HTTP (pripojená k portu TCP 6379) a API na vrátenie metrík kompatibilných s Prometheus. V budúcich vydaniach plánujeme rozšíriť podporu pre príkazy Redis a implementovať schopnosť replikovať úložisko pre núdzové prepnutie a vyvažovanie záťaže.

Nakoniec, ak máte záujem dozvedieť sa o ňom viac, mali by ste vedieť, že kód Dragonfly je napísaný v C/C++ a je distribuovaný pod licenciou BSL (Business Source License).

Môžete sa poradiť o projekte Na nasledujúcom odkaze.


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ť.