Lansering av Dragonfly 1.0, ett system för caching av data i RAM

Lanseringen av datacaching- och lagringssystemet Dragonfly har Àgt rum, som manipulerar data i nyckel/vÀrde-format och kan anvÀndas som en lÀttviktslösning för att öka hastigheten pÄ högbelastade webbplatser, cacha lÄngsamma databaskommandon och mellanliggande data i RAM. Dragonfly stöder protokollen Memcached och Redis, vilket gör att man kan anvÀnda redan existerande klientbibliotek och utan omarbetning av koden överföra projekt som anvÀnder Memcached och Redis till Dragonfly.

I tester har Dragonfly uppnÄtt en 25-faldig prestationsökning jÀmfört med Redis vid typiska belastningar i miljön Amazon EC2 c6gn.16xlarge (3,8 miljoner förfrÄgningar per sekund). JÀmfört med Memcached i AWS-miljön c6gn.16xlarge kunde Dragonfly utföra 4,7 gÄnger fler skrivförfrÄgningar per sekund (3,8 miljoner mot 806 tusen) och 1,77 gÄnger fler lÀsförfrÄgningar per sekund (3,7 miljoner mot 2,1 miljoner).

Lansering av Dragonfly 1.0, ett system för caching av data i RAM

Vid tester av lagring av 5 GB data krÀvde Dragonfly 30% mindre minne jÀmfört med Redis. Under skapande av snapshots med kommandot "bgsave" ökar minnesanvÀndningen, men vid toppmoment förblev den nÀstan tre gÄnger mindre Àn i Redis, och sjÀlva snapshot-skrivoperationen utfördes betydligt snabbare (i testet skrevs snapshotet i Dragonfly pÄ 30 sekunder, medan Redis tog 42 sekunder).

Lansering av Dragonfly 1.0, ett system för caching av data i RAM

Hög prestanda uppnÄs genom en flerkÀrnarkitektur utan resursdelning (shared-nothing), vilket innebÀr att varje trÄd kopplas till en separat, avskild behandlare med sin egen del av data, som arbetar utan mutexar och spin-lÄs. För att sÀkerstÀlla atomÀritet vid arbete med flera nycklar anvÀnds lÀtta lÄs VLL. För effektiv lagring av information i minnet tillÀmpas strukturen dashtable, som implementerar en variant av sektionerade hash-tabeller.

NÄgra av funktionerna i Dragonfly:

  • CachinglĂ€ge dĂ€r gamla data automatiskt ersĂ€tts av nya efter att det fria minnet har tagits slut.
  • Stöd för att binda data till en livslĂ€ngd, under vilken data betraktas som aktuella.
  • Stöd för att Ă„terstĂ€lla lagringssystemet till disk i bakgrunden för Ă„terstĂ€llning efter omstart.
  • HTTP-konsol (kopplad till TCP-port 6379) för systemhantering och API för att leverera metrics, kompatibel med Prometheus.
  • Stöd för 185 Redis-kommandon, vilket ungefĂ€r motsvarar funktionaliteten i Redis version 5.
  • Stöd för alla Memcached-kommandon, förutom CAS (check-and-set).
  • Stöd för asynkrona operationer för skapande av snapshots.
  • FörutsĂ€gbart minnesutnyttjande.
  • Inbyggd Lua 5.4-tolk.
  • Stöd för komplexa datatyper som hash, mĂ€ngder, listor (ZSET, HSET, LIST, SETS och STRING) samt data i JSON-format.
  • Stöd för lagringsreplikering för att sĂ€kerstĂ€lla felresilens och belastningsbalansering.

Koden för Dragonfly Àr skriven i C/C++ och distribueras under BSL (Business Source License). BSL-lisensen föreslogs av medgrundarna till MySQL som ett alternativ till Open Core-modellen. KÀrnan i BSL Àr att koden för utökad funktionalitet initialt Àr tillgÀnglig för Àndringar, men under en viss tid kan den gratis anvÀndas endast under vissa villkor, vars omgÄelse krÀver köp av en kommersiell licens. De ytterligare licensvillkoren för Dragonfly-projektet föreskriver att koden ska överföras till Apache 2.0-licens den 15 mars 2028. Fram till dess tillÄter licensen anvÀndningen av koden endast för att understödja sina egna tjÀnster och produkter, men förbjuder anvÀndning för att skapa betalande molntjÀnster som stÄr ovanför Dragonfly.

Version 1.0 av Dragonfly Àr anmÀrkningsvÀrd för genomförandet av stöd för datareplication frÄn primÀr servern till sekundÀr. Dragonfly kan stÀllas in för att anvÀndas som sekundÀr lagring som tar emot data frÄn den primÀra servern, bÄde baserat pÄ Dragonfly och Redis. API:et för hantering av replikering Àr kompatibelt med Redis och baseras pÄ kommandona ROLE och REPLICAOF (SLAVEOF).

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster