Обявено е пускане на новата версия на «Valkey 8.1», разклонение на Redis, което се ражда след преминаването му към патентован лиценз и което се стреми да поддържа отворената философия на оригиналния проект.
Valkey 8.1 Той включва голям брой подобрения и промени, чийто основен фокус е върху оптимизации на производителността, които намаляват латентността, повишават ефективността на паметта и нови модулни възможности.
Ключови нови функции във Valkey 8.1
A от най-значимите промени в тази версия е пълно пренаписване на хеш-таблицата, използвани както при съхранение на данни ключ-стойност, така и в структурирани типове данни като хеш, набор и сортиран набор. Благодарение на този редизайн, Постигнато е намаляване на използването на паметта: 20 байта по-малко на ключ без TTL, и до 30 байта, ако ключът има определен живот. В допълнение, намаляването на произволния достъп до паметта доведе до 10% подобрение на производителността в еднонишкови I/O среди.
Друга нова функция във Valkey 8.1 е итерацията върху ключове в операции като командата KEYS или Прехвърлянето на ключ между възли в клъстер вече включва система за предварително зареждане на кеша, което позволява следващият ключ да бъде наличен, преди да започне обработката. Този подход увеличи скоростта на търсене на ключове с 3,5 пъти чрез по-добро използване на кеша на процесора.
Многонишкови I/O и TLS подобрения
Valkey продължава прехода си към многонишков I/O модел. Сега, на Обработката на TLS връзка се извършва в отделни потоци, което утрои капацитета за приемане на нови връзки. Функции като SSL_pending() и ERR_clear_error() също са изолирани в отделни нишки, което води до 10% увеличение на производителността за SET операции и 22% увеличение за GET операции.
Репликацията е подобрена, особено в среди с активен TLS, елиминирайки излишни операции като ненужни контролни суми. Това доведе до 18% подобрение в пълната синхронизация по време на репликация без диск и 47% намаление на разходите за операции за копиране и запис.
Оптимизации на подредени множества и вероятностни типове
El Команда ZRANK за поръчани комплекти е оптимизиран и Сега е с 45% по-бърз, докато ZADD е приел SIMD инструкции за постигане на по-голяма ефективност. За вероятностни типове данни използването на HyperLogLog е подобрено, за да използва само 12 KB фиксирана памет, а използването на инструкции AVX2 позволи производителността на операциите PFMERGE и PFCOUNT да се умножи до 12 пъти и BITCOUNT до 5 пъти.
Непрекъснато активно дефрагментиране и повече контрол върху регистрите
El системата за активно дефрагментиране също е подобрена за да избегнете блокиране или забавяне. Сега всеки цикъл на дефрагментиране трае само 500 микросекунди, и е въведена стратегия против глада, за да се предотврати отлагането на тези задачи поради дългосрочни операции.
Представени са Нови опции за конфигурация за форматиране на запис, включително потребителски формати за време и нов режим COMMANDLOG, който регистрира дълги заявки и отговори. Освен това командата LATENCY LATEST е разширена с нови показатели, осигуряващи по-добра видимост на записаните пикови и обемни закъснения.
Нови функции, модули и поддръжка
Валки сега ви позволява да изпълните операцията SET IFEQ, което обуславя записването на ключ към текущата стойност. Също така Въвежда се модулна поддръжка за скриптови машини, отваряйки възможността за използване на алтернативни езици на Lua чрез потребителски модули.
В тази версия също няколко модула дебютират:
- Модул за търсене (Google): Търсачка за векторно сходство, идеална за случаи на машинно обучение, които изискват ниска латентност и висока производителност.
- JSON модул (AWS): позволява директна манипулация на фрагменти от JSON документи, като се избягва пълната обработка на съдържанието на клиента.
- Филтърен модул Bloom (AWS): Внедряване на филтри на Bloom, полезни за определяне на възможното членство на елемент в набор, с вероятностна ефективност
И накрая, ако се интересувате да можете да научите повече за това, можете да се консултирате с подробностите в следваща връзка.