Dragonfly, projekt, mis väidab end olevat Redise ja Memcachedi kiirem asendus

Uudis avaldati, et esimene versioon on juba saadaval mälusisene andmete vahemällu salvestamise süsteem Dragonfly, mis toetab Memcachedi ja Redise protokolle, kuid see võimaldab päringuid käivitada palju suurema jõudlusega ja väiksema mälutarbimisega.

Süsteem käsitleb andmeid võtme/väärtuse vormingus ja seda saab kasutada kerge lahendusena tugevalt koormatud saitide kiirendamiseks, aeglaste päringute vahemällu DBMS-is ja vaheandmete vahemällu RAM-i.

BSL pakkusid välja MySQL-i kaasasutajad alternatiivina Open Core mudelile. BSL-i olemus seisneb selles, et laiendatud funktsionaalsuse kood on algselt saadaval muutmiseks, kuid mõnda aega saab seda tasuta kasutada vaid lisatingimustel, mille möödahiilimiseks on vaja osta kommertslitsents.

Dragonfly projekti täiendavad litsentsitingimused nõuavad koodi konverteerimist Apache 2.0 litsentsiks alles 1. juunil 2027. Kuni selle ajani lubab litsents koodi kasutada ainult oma teenuste ja toodete toimimise tagamiseks, kuid keelab kasutamise tasuliste pilveteenuste loomiseks, mis toimivad Dragonfly lisandmoodulina.

Dragonfly väidab end olevat maailma kiireim mälusalvestussüsteem, vastavalt arendajatele ja etalonidele. Võrreldes Redisega saavutas Dragonfly jõudluse kasvu 25 korda ja mälutarbimise 3-kordne vähenemine tüüpilise töökoormuse korral. Üks Dragonfly server suudab töödelda miljoneid päringuid sekundis, näiteks Amazon EC2 c6gn.16xlarge keskkonnas saavutati läbilaskevõime 3,8 miljonit päringut sekundis.

5 GB salvestuskatsetes nõudis Dragonfly 30% vähem mälu kui Redis. Snapshotide loomisel käsuga "bgsave" mälutarve suureneb, kuid tipptundidel hoitakse seda peaaegu kolm korda vähem kui Redis ja hetktõmmiste kirjutamise toiming ise on palju kiirem (testis kirjutas hetktõmmise Dragonfly 30 sekundiga ja Redis - 42 sekundiga).

Suur jõudlus saavutatakse tänu mitme keermega arhitektuurile jagatud ressursse pole ( share-nothing ), mis tähendab, et iga lõimega on ühendatud eraldi ja sõltumatu kontroller, millel on oma andmed ja mis töötab ilma mutexide või spin-lockideta. Kergekaalulisi VLL lukke kasutatakse mitme võtmega ümberkäimisel aatomilisuse tagamiseks. Teabe tõhusaks mällu salvestamiseks kasutatakse dashtable-struktuuri, mis rakendab teatud tüüpi partitsioonitud räsitabeleid.

Funktsioonidest, mis on saadaval esimene versioon tõstab esile RESP2-protokolli ja 130 Redis-käsu toe, mis vastab ligikaudu Redis 2.8 väljalaske funktsioonidele.

Lisaks Dragonfly toetab kõiki Memcached käske, välja arvatud CAS (kinnitage ja määrake), toetab asünkroonseid toiminguid hetktõmmiste loomiseks, prognoositavat mälutarbimist, pakub sisseehitatud Lua 5.4 tõlgi ja toetab keerulisi andmetüüpe, nagu räsid, komplektid ja loendid (ZSET, HSET, LIST, SETS ja STRING).

Eraldi on saadaval vahemällu salvestamise režiim, milles vanad andmed asendatakse automaatselt uute andmetega, kui vaba mälu on ammendatud. Andmetega on võimalik linkida kogu elu, mille jooksul andmeid peetakse asjakohaseks.

Salvestusoleku saab taustal kettale loputada, et hiljem pärast taaskäivitamist taastada. Süsteemi haldamiseks on ette nähtud HTTP-konsool (seondub TCP-pordiga 6379) ja API Prometheuse-ühilduvate mõõdikute tagastamiseks. Tulevaste väljalasete puhul kavatseme laiendada Redise käskude tuge ja rakendada tõrkesiirde ja koormuse tasakaalustamise jaoks salvestusruumi paljundamise võimalust.

Lõpuks, kui soovite selle kohta rohkem teada saada, peaksite teadma, et Dragonfly kood on kirjutatud C/C++ keeles ja seda levitatakse BSL-i litsentsi (Business Source License) all.

Saate projekti osas nõu pidada Järgmisel lingil.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.