Kiadták a hírt, hogy az első verzió már elérhető memórián belüli adatgyorsítótár rendszer Dragonfly, amely támogatja a Memcached és a Redis protokollokat, de lehetővé teszi a lekérdezések sokkal nagyobb teljesítménnyel és kevesebb memóriafelhasználással történő futtatását.
A rendszer kulcs/érték formátumban kezeli az adatokat, és könnyű megoldásként használható az erősen terhelt helyek felgyorsítására, a lassú lekérdezések gyorsítótárazására a DBMS-ben és a közbenső adatok gyorsítótárazására a RAM-ban.
A BSL 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 módosítható, de egy ideig ingyenesen csak további feltételek mellett használható, amelyek megkerüléséhez kereskedelmi licenc vásárlása szükséges.
A Dragonfly projekt további licencfeltételei megkövetelik, hogy a kódot csak 2.0. június 1-jével konvertálják Apache 2027 licencre, addig a licenc csak a szolgáltatásai és termékei működésének biztosítására teszi lehetővé a kód használatát, de megtiltja a használatát olyan fizetős felhőszolgáltatások létrehozására, amelyek a Dragonfly kiegészítőjeként működnek.
Szitakötő azt állítja, hogy a világ leggyorsabb memóriatároló rendszere, a fejlesztők és a benchmarkok szerint. Redishez képest a Dragonfly 25-szörös teljesítménynövekedést ért el és a memóriafelhasználás háromszoros csökkenése tipikus munkaterhelés mellett. Egyetlen Dragonfly szerver több millió kérést képes feldolgozni másodpercenként, például egy Amazon EC3 c2gn.6xlarge környezetben másodpercenként 16 millió kérés átviteli sebességet értek el.
Az 5 GB-os tárolási tesztekben a Dragonfly 30%-kal kevesebb memóriát igényelt, mint a Redis. A "bgsave" paranccsal pillanatképek készítése során megnő a memóriafogyasztás, de csúcsidőben majdnem háromszor kevesebbet tartanak fenn, mint a Redisben, és maga a pillanatkép írási művelet is sokkal gyorsabb (a tesztben pillanatképet írt Dragonfly 30 másodperc alatt, Redis pedig 42 másodperc alatt).
A nagy teljesítmény a többszálas architektúrának köszönhetően érhető el nincs megosztott erőforrás ( share-nothing ), ami azt jelenti, hogy minden egyes szálhoz külön és független, saját adatdarabokkal rendelkező vezérlő van csatolva, amely mutexek és spin-lockok nélkül működik. Könnyű VLL zárak használatosak, hogy biztosítsák az atomitást, ha több kulccsal dolgoznak. Az információk hatékony memóriában való tárolására a dashtable struktúrát használják, amely egyfajta particionált hash táblákat valósít meg.
Az elérhető funkciók közül az első verzió kiemeli a RESP2 protokoll és 130 Redis parancs támogatását, ami nagyjából megfelel a Redis 2.8-as kiadás funkcionalitásának.
Ezen túlmenően, A Dragonfly az összes Memcached parancsot támogatja, kivéve a CAS-t (ellenőrzés és beállítás), támogatja az aszinkron műveleteket pillanatképek készítéséhez, kiszámítható memóriafelhasználást biztosít, beépített Lua 5.4 értelmezőt biztosít, és támogatja az összetett adattípusokat, például a hash-eket, készleteket és listákat (ZSET, HSET, LIST, SETS és STRING).
Külön is elérhető a gyorsítótárazási mód, amelyben a régi adatok automatikusan új adatokra cserélődnek, ha a szabad memória kimerül. Lehetőség van az adatokhoz olyan élethosszig tartó hivatkozásra, amely során az adatokat relevánsnak tekintik.
A tárhely állapota a háttérben a lemezre üríthető az újraindítás utáni későbbi helyreállítás érdekében. A rendszer kezeléséhez egy HTTP-konzol (a 6379-es TCP-porthoz kötődik) és egy API áll rendelkezésre a Prometheus-kompatibilis metrikák visszaadásához. A jövőbeli kiadásokban a Redis-parancsok támogatásának bővítését tervezzük, és a feladatátvételhez és a terheléselosztáshoz való replikálási képességet is megvalósítjuk.
Végül, ha többet szeretne megtudni róla, tudnia kell, hogy a Dragonfly kód C/C++ nyelven íródott, és a BSL licenc (Business Source License) alatt kerül terjesztésre.
Konzultálhat a projekttel kapcsolatban A következő linken.