A Dragonfly 1.0 kiadása, a rendszer az adatok RAM-ban való gyorsítótárazására.

Megjelent a Dragonfly rendszer, amely egy kulcs-érték alapon működő, gyorsítótárazó és memóriában tároló megoldás, amely segítségével felgyorsíthatók a nagy terhelésű weboldalak, gyorsítva a lassú adatbázis-lekérdezéseket és az átmeneti adatokat a memóriában. A Dragonfly támogatja a Memcached és Redis protokollokat, lehetővé téve a meglévő kliens könyvtárak használatát, és átkonfigurálás nélkül alkalmazható projektekre, amelyek Memcached-t és Redis-t használnak.

A Redishez képest a Dragonfly a tipikus terhelések mellett az Amazon EC2 c6gn.16xlarge környezetében 25-szörös teljesítménynövekedést mutatott (3,8 millió lekérdezés másodpercenként). A Memcached-hez viszonyítva az AWS-környezetben a c6gn.16xlarge esetén a Dragonfly 4,7-szer több írási lekérdezést tudott teljesíteni másodpercenként (3,8 millió szemben 806 ezerrel) és 1,77-szer több olvasási lekérdezést (3,7 millió szemben 2,1 millióval).

A Dragonfly 1.0 kiadása, a rendszer az adatok RAM-ban való gyorsítótárazására.

5 GB adat tárolási tesztjei során a Dragonfly 30%-kal kevesebb memóriát igényelt, mint a Redis. A „bgsave” parancs során a pillanatnyi memóriafogyasztás nő, de a csúcsidők alatt szinte háromszor alacsonyabb maradt, mint a Redisnél, ráadásul a pillanatkép írási művelete végrehajtása sokkal gyorsabb (a Dragonfly-nál a pillanatkép 30 másodperc alatt, míg a Redisnél 42 másodperc alatt lett elmentve).

A Dragonfly 1.0 kiadása, a rendszer az adatok RAM-ban való gyorsítótárazására.

A magas teljesítmény a megosztott erőforrások nélküli, több szálas architektúrának köszönhető, amelynek lényege, hogy minden szálhoz külön, elszigetelt kezelő tartozik a saját adathalmozójával, mutexek és spin-lockok nélkül működve. Az atomarítás érdekében több kulccsal való munkavégzésnél könnyű VLL zárolásokat alkalmazunk. Az információ hatékony tárolására a memóriában a dashtable struktúrát használják, amely a szekcionált hash-táblák változatát valósítja meg.

A Dragonfly néhány funkciója:

  • Gyorsítótárazási mód, amely automatikusan felülírja a régi adatokat újakkal, amint a szabad memória kifogy.
  • Támogatás az adatok élettartamának időhöz való kötésére, amely alatt az adatok aktuálisnak számítanak.
  • A háttérben futó tárolóállapot-mentési támogatás, amely lehetővé teszi a peremállapotok visszaállítását újraindítás után.
  • HTTP konzol jelenléte (a 6379 TCP portra kötődik), amely lehetővé teszi a rendszer irányítását és az API-t a metrikák megadásához, Prometheus-kompatibilis.
  • 185 Redis parancs támogatása, amely körülbelül megfelel a Redis 5 kiadás funkcióinak.
  • Minden Memcached parancs támogatása, kivéve a CAS (check-and-set) parancsot.
  • Aszinkron műveletek támogatása a pillanatképek létrehozásához.
  • Előre jelezhető memóriafogyasztás.
  • Beágyazott Lua 5.4 értelmező.
  • Összetett adatszerkezetek támogatása, például hash-ek, halmazok, listák (ZSET, HSET, LIST, SETS és STRING) és JSON formátumú adatok.
  • A tárolók replikációs támogatása a megbízhatóság és terheléselosztás biztosítása érdekében.

A Dragonfly kód C/C++ nyelveken íródott, és BSL (Business Source License) alatt terjesztik. A BSL licencet a MySQL társalapítói javasolták az Open Core modell alternatívájaként. A BSL lényege, hogy a kibővített funkcionalitás kódja kezdetben változtatási célokra elérhető, de egy ideig ingyenesen csak további feltételek mellett alkalmazható, amelyek megkerüléséhez kereskedelmi licenc megszerzése szükséges. A Dragonfly projekt további licencfeltételei előírják, hogy a kód március 15-én 2028-ig Apache 2.0 licencre váltson. Ezen időpont előtt a licenc megengedi a kód használatát a saját szolgáltatások és termékek működtetése érdekében, de megtiltja, hogy fizetős felhőszolgáltatások létrehozására használják, amelyek a Dragonfly-ra építenek.

A Dragonfly 1.0 verzió kiemelkedő a primer adatok replikációjának támogatásával a másodlagosra. a szerver A Dragonfly-t másodlagos tárolóként is konfigurálni lehet, amely a primer szerverből fogadja az adatokat, akár Dragonfly, akár Redis alapú. A replikáció kezelésére szolgáló API kompatibilis a Redis-szel, és a ROLE és REPLICAOF (SLAVEOF) parancsok használatán alapul.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster