Dragonfly, проект, който твърди, че е по-бързият заместител на Redis и Memcached

Новината беше пусната, че първата версия вече е налична система за кеширане на данни в паметта Dragonfly, който осигурява поддръжка за протоколите Memcached и Redis, но позволява на заявките да се изпълняват с много по-висока производителност и по-малко консумация на памет.

Системата обработва данни във формат ключ/стойност и може да се използва като леко решение за ускоряване на силно натоварени сайтове, кеширане на бавни заявки в СУБД и кеширане на междинни данни в RAM.

BSL беше предложен от съоснователите на MySQL като алтернатива на модела Open Core. Същността на BSL е, че кодът с разширена функционалност първоначално е достъпен за модификация, но известно време може да се използва безплатно само при допълнителни условия, които изискват закупуване на търговски лиценз за заобикаляне.

Допълнителните лицензионни условия на проекта Dragonfly изискват кодът да бъде преобразуван в лиценза на Apache 2.0 само на 1 юни 2027 г. До този момент лицензът позволява използването на кода само за осигуряване на работата на неговите услуги и продукти, но забранява използването за създаване на платени облачни услуги, които действат като добавка към Dragonfly.

водно конче твърди, че е най-бързата система за съхранение на памет в света, според разработчиците и бенчмарковете. В сравнение с Redis, Dragonfly постигна 25 пъти увеличение на производителността и 3 пъти намаляване на консумацията на памет при типични натоварвания. Един сървър Dragonfly може да обработва милиони заявки в секунда, например в среда на Amazon EC2 c6gn.16xlarge е постигната пропускателна способност от 3,8 милиона заявки в секунда.

При тестове за съхранение от 5 GB Dragonfly изисква 30% по-малко памет от Redis. По време на създаването на моментни снимки с помощта на командата "bgsave", консумацията на памет се увеличава, но в пиковите моменти се поддържа почти три пъти по-малко, отколкото в Redis, а самата операция за запис на моментна снимка е много по-бърза (в теста написа моментна снимка в Dragonfly за 30 секунди, а Redis - за 42 секунди).

Висока производителност се постига благодарение на многонишкова архитектура няма споделени ресурси (споделено-нищо), което предполага, че отделен и независим контролер със собствена част от данни е прикачен към всяка нишка, работещ без мютексове или спин-заключване. Леките VLL ключалки се използват за осигуряване на атомарност при работа с множество ключове. За ефективно съхраняване на информация в паметта се използва структурата на dashtable, която реализира един вид разделени хеш таблици.

От функциите, налични в първата версия подчертава поддръжката на протокола RESP2 и 130 Redis команди, което приблизително съответства на функционалността на изданието Redis 2.8.

Освен това, Dragonfly поддържа всички Memcached команди с изключение на CAS (проверете и задайте), осигурява поддръжка за асинхронни операции за създаване на моментни снимки, осигурява предсказуема консумация на памет, осигурява вграден Lua 5.4 интерпретатор и поддържа сложни типове данни като хешове, набори и списъци (ZSET, HSET, LIST, SETS и STRING).

Отделно е наличен режим на кеширане, при който старите данни се заменят автоматично с нови, след като се изчерпи свободната памет. Възможно е да се свържете с данните за цял живот, през който данните се считат за релевантни.

Състоянието на съхранение може да бъде прехвърлено на диск във фонов режим за по-късно възстановяване след рестартиране. За управление на системата се предоставят HTTP конзола (свързва се към TCP порт 6379) и API за връщане на метрики, съвместими с Prometheus. В бъдещи издания планираме да разширим поддръжката за команди на Redis и да внедрим възможността за репликиране на съхранение за преодоляване на срив и балансиране на натоварването.

И накрая, ако се интересувате да научите повече за него, трябва да знаете, че кодът на Dragonfly е написан на C/C++ и се разпространява под лиценза BSL (бизнес изходен лиценз).

Можете да се консултирате за проекта В следващия линк.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.