Dragonfly, systém ukládání dat do paměti RAM

DragonFly

Dragonfly je úložiště dat v paměti vytvořené pro moderní pracovní zátěže aplikací.

Před pár dny to bylo oznámeno vydání systému mezipaměti a ukládání dat Dragonfly, který manipuluje s daty ve formátu klíč/hodnota a lze jej použít jako odlehčené řešení pro zrychlení vysoce vytížených stránek ukládáním pomalých dotazů do DBMS a mezilehlých dat v paměti RAM.

Dragonfly podporuje protokoly Memcached a Redis, umožňuje používat stávající klientské knihovny a projekty portů pomocí Memcached a Redis to Dragonfly, aniž byste museli přepracovávat kód.

Za zmínku stojí, že Dragonfly nedávno obdržel aktualizaci, dosáhl své verze 1.0 a ve které vyniká implementací podpory replikace dat z primárního na sekundární server.

Zároveň Vážka lze nakonfigurovat pro použití jako sekundární úložiště který přijímá data z hlavního serveru na bázi Dragonfly a Redis. Rozhraní API pro správu replikace je kompatibilní s Redis a je založeno na použití příkazů ROLE a REPLICAOF (SLAVEOF).

O Vážce

Vysoký výkon je dosažen díky vícevláknové architektuře bez sdílení prostředků (shared-nothing), což znamená, že ke každému vláknu je připojen samostatný řadič s vlastním kusem dat, který funguje bez mutexů nebo spin-locků.

Lehké zámky VLL se používají k zaručení atomicity při práci s více klíči, protože pro efektivní ukládání informací do paměti se používá struktura dashtable, která implementuje druh rozdělených hashovacích tabulek.

Ve srovnání s Redis se Dragonfly může pochlubit 25násobným zvýšením výkonu (3,8 milionu požadavků za sekundu) při typickém pracovním zatížení v prostředí Amazon EC2 c6gn.16xlarge. Ve srovnání s Memcached v prostředí AWS c6gn.16xlarge byl Dragonfly schopen dokončit 4,7krát více požadavků na zápis za sekundu (3,8 milionu vs. 806k) a 1,77krát více požadavků na čtení za sekundu (3,7 milionu vs. 2,1 milionu).

V testech úložiště 5 GB Dragonfly vyžadoval o 30 % méně paměti než Redis. Při vytváření snímku pomocí příkazu "bgsave" se spotřeba paměti zvyšuje, ale ve špičce byla udržována téměř třikrát méně než v Redis a samotná operace zápisu snímku je mnohem rychlejší (v případě Redis). test, a snímek byl napsán na Dragonfly za 30 sekund a Redis – za 42 sekund).

Někteří Vlastnosti vážky jsou:

  • Režim ukládání do mezipaměti, který po vyčerpání volné paměti automaticky nahradí stará data novými daty.
  • Podpora pro životní cykly datových vazeb, během kterých jsou data považována za aktuální.
  • Podpora pro vyprázdnění stavu úložiště na disk na pozadí pro pozdější obnovu po restartu.
  • Přítomnost konzoly HTTP (vázání na TCP port 6379) pro správu systému a API pro vracení metrik, kompatibilní s Prometheus.
  • Podpora 185 příkazů Redis, což je zhruba ekvivalentní funkčnosti vydání Redis 5.
  • Podpora pro všechny příkazy Memcached kromě CAS (ověření a konfigurace).
  • Podpora asynchronních operací pro vytváření snímků.
  • Předvídatelná spotřeba paměti.
  • Integrovaný tlumočník Lua 5.4.
  • Podpora komplexních datových typů, jako jsou hash, sady, seznamy (ZSET, HSET, LIST, SETS a STRING) a data JSON.
  • Podpora replikace úložiště pro převzetí služeb při selhání a vyrovnávání zátěže.

Pro ty, kteří se zajímají o kód Dragonfly, měli byste vědět, že toto je napsán v C/C++ a je distribuován pod licence BSL .Podstatou BSL je, že kód rozšířené funkčnosti je zpočátku k dispozici pro modifikaci, ale po určitou dobu jej lze zdarma používat pouze za dodatečných podmínek, které pro obejití vyžadují zakoupení komerční licence.

Dodatečné licenční podmínky projektu Dragonfly vyžadují, aby byl kód migrován na Apache License 2.0 dne 15. března 2028. Do té doby licence umožňuje použití kódu pouze k zajištění provozu jeho služeb a produktů, ale zakazuje použití k vytváření placených cloudové služby, které fungují jako zásuvný modul pro Dragonfly.

Konečně pokud máte zájem dozvědět se o tom trochu více, můžete zkontrolovat podrobnosti v následující odkaz.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.