Dragonfly, RAM-tietojen välimuistijärjestelmä

Sudenkorento

Dragonfly on muistissa oleva tietovarasto, joka on rakennettu nykyaikaisia ​​sovellusten työkuormia varten.

Muutama päivä sitten ilmoitettiin muistissa olevan Dragonfly-välimuisti- ja tiedontallennusjärjestelmän julkaisu, joka käsittelee tietoja avain/arvo-muodossa ja jota voidaan käyttää kevyenä ratkaisuna nopeuttamaan paljon kuormitettuja sivustoja tallentamalla välimuistiin hitaat kyselyt DBMS:ään ja välitietoja RAM-muistissa.

Sudenkorento tukee Memcached- ja Redis-protokollia, jonka avulla voit käyttää olemassa olevia asiakaskirjastoja ja porttiprojekteja Memcachedin ja Redisin avulla Dragonflyyn ilman, että sinun tarvitsee muokata koodiasi.

On syytä mainita, että Dragonfly äskettäin saanut päivityksen, saavuttaa version 1.0 ja missä erottuu edukseen tietojen replikoinnin tuen toteuttamisesta ensisijaisesta palvelimesta toissijaiseen palvelimeen.

Samaan aikaan Dragonfly voidaan määrittää käytettäväksi toissijaisena tallennustilana joka hyväksyy tiedot pääpalvelimelta Dragonflyn ja Redisin perusteella. Replikoinnin hallinnan API on yhteensopiva Rediksen kanssa ja perustuu ROLE- ja REPLICAOF (SLAVEOF) -komentojen käyttöön.

Tietoja Dragonflysta

Korkea suorituskyky saavutetaan monisäikeisen arkkitehtuurin ansiosta ilman resurssien jakamista (shared-nothing), mikä tarkoittaa, että jokaiseen säikeeseen on liitetty erillinen ohjain omalla datapalallaan, joka toimii ilman mutexeja tai spin-lockeja.

Kevyt VLL-lukot takaavat atomisuuden useiden avainten käsittelyssä, koska tiedon tehokkaaseen tallentamiseen muistiin käytetään dashtable-rakennetta, joka toteuttaa eräänlaisia ​​osioituja hash-taulukoita.

Verrattuna Redikseen, Dragonfly tarjoaa 25-kertaisen suorituskyvyn (3,8 miljoonaa pyyntöä sekunnissa) tyypillisissä työkuormissa Amazon EC2 c6gn.16xlarge -ympäristössä. Verrattuna Memcachediin AWS c6gn.16xlarge -ympäristössä, Dragonfly pystyi suorittamaan 4,7 kertaa enemmän kirjoituspyyntöjä sekunnissa (3,8 miljoonaa vs. 806k) ja 1,77 kertaa enemmän lukupyyntöjä sekunnissa (3,7 miljoonaa vs. 2,1 miljoonaa).

5 Gt:n tallennustesteissä Dragonfly vaati 30 % vähemmän muistia kuin Redis. Tilannekuvan luomisen aikana "bgsave"-komennolla muistin kulutus kasvaa, mutta ruuhka-aikoina sitä pidettiin lähes kolme kertaa vähemmän kuin Redisissä, ja itse tilannevedoksen kirjoitustoiminto on paljon nopeampi (Redisin tapauksessa). tilannekuva kirjoitettiin Dragonflylle 30 sekunnissa ja Redis - 42 sekunnissa).

Jotkut Dragonflyn ominaisuuksia ovat:

  • Välimuistitila, joka korvaa vanhat tiedot automaattisesti uusilla, kun vapaa muisti on lopussa.
  • Tuki tietojen sitoville elinkaareille, joiden aikana tiedot pidetään ajan tasalla.
  • Tuki tallennustilan tyhjentämiselle levylle taustalla myöhempää palautusta varten uudelleenkäynnistyksen jälkeen.
  • Prometheuksen kanssa yhteensopiva HTTP-konsoli (sitoutuu TCP-porttiin 6379) järjestelmän hallintaa varten ja API mittausten palauttamista varten.
  • Tuki 185 Redis-komentolle, mikä vastaa suunnilleen Redis 5 -julkaisun toimintoja.
  • Tuki kaikille Memcached-komentoille paitsi CAS (tarkista ja määritä).
  • Tuki asynkronisille toiminnoille tilannekuvien luomiseen.
  • Ennustettava muistin kulutus.
  • Integroitu Lua-tulkki 5.4.
  • Tuki monimutkaisille tietotyypeille, kuten tiivisteille, joukkoille, luetteloille (ZSET, HSET, LIST, SETS ja STRING) ja JSON-datalle.
  • Tallennustilan replikointituki vikasietoa ja kuormituksen tasapainottamista varten.

Dragonfly-koodista kiinnostuneiden sinun pitäisi tietää, että tämä on kirjoitettu C/C++-kielellä ja jaetaan alla lisenssi BSL .BSL:n ydin on, että laajennettu toiminnallisuuskoodi on alun perin muokattavissa, mutta jonkin aikaa sitä voidaan käyttää ilmaiseksi vain lisäehdoilla, joiden ohittaminen edellyttää kaupallisen lisenssin ostamista.

Dragonfly-projektin lisälisenssiehdot edellyttävät, että koodi siirretään Apache License 2.0:aan 15. Siihen asti lisenssi sallii koodin käytön vain palvelujensa ja tuotteidensa toiminnan varmistamiseksi, mutta kieltää käytön maksullisen luomiseen. pilvipalvelut, jotka toimivat Dragonfly-laajennuksina.

Vihdoin jos olet kiinnostunut tietämään asiasta hieman enemmän, voit tarkistaa yksityiskohdat seuraava linkki.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.