Настоящий параллелизм
Каждый рабочий поток выполняет команды своих соединений одновременно с остальными. Нет единственного командного потока, который можно перегрузить, поэтому пропускная способность растёт с числом ядер.
Тонкая конкурентность
Пространство ключей разделено так, что команды с разными ключами выполняются одновременно и редко ждут друг друга.
Предсказуемая задержка
Нативный движок на C++ без сборщика мусора и пауз «остановки мира». Снимки записываются в фоновом потоке, а не в разветвлённом процессе, поэтому сохранение не удваивает память.
Жизнь команды
Каждый запрос проходит одни и те же четыре стадии на том ядре, которое его приняло.
Разбор
Читает запрос, включая частичное чтение. HotKV понимает RESP2, RESP3 и встроенные команды, а переключение протокола выполняется через HELLO.
Диспетчеризация
Находит команду и проверяет её арность, флаги и позиции ключей до начала выполнения.
Выполнение
Выполняет команду над её ключами. Истёкшие ключи удаляются при обращении к ним и фоновой очисткой.
Ответ
Отправляет ответ в версии протокола, согласованной с клиентом.
Больше, чем кеш
Тот же параллельный движок предоставляет 300 основных команд, восемь политик вытеснения и перечисленные ниже подсистемы, а на лицензируемых тарифах ещё более 170 команд для ИИ и корпоративных задач. Никаких модулей, которые нужно подключать отдельно.
Снимки + AOF
Двоичные снимки, записываемые атомарно, и файл только для добавления с настраиваемым fsync (always, everysec, no) и сжатием через BGREWRITEAOF.
Lua 5.4 в песочнице
EVAL и EVALSHA атомарно выполняют скрипты в изолированной среде Lua 5.4 через hotkv.call(), а redis.call() сохранён как псевдоним для совместимости. Именованные библиотеки функций поставляются через FUNCTION и FCALL.
Индексы HNSW
Команды VSIM выполняют приближённый поиск ближайших соседей по индексам HNSW с косинусным расстоянием, L2 и скалярным произведением, включая запросы с фильтром по тегам.
Скетчи и ограничение частоты
HyperLogLog, фильтры Блума, Count-Min Sketch и отслеживание самых частых элементов Top-K, а также ограничение частоты запросов GCRA на стороне сервера с контролем всплесков. Расчёты на стороне клиента не нужны.
Нативно для Prometheus
Встроенная HTTP-конечная точка метрик (выключена, пока вы не зададите metrics-port) публикует число вызовов и задержку по каждой команде. LATENCY HISTOGRAM и INFO latencystats сообщают p50, p99 и p99.9, а HOTKEYS ранжирует самые востребованные ключи.
ACL + TLS
Управление доступом для каждого пользователя ограничивает команды, ключи и каналы, пароли хранятся в виде хешей. TLS завершается внутри процесса, для клиентских соединений, а также для связей кластера и репликации. On-Premise добавляет роли с единым входом через LDAP и OpenID Connect.
Задействуйте каждое ядро
Запустите управляемый экземпляр в HotKV Cloud или разверните HotKV в собственном дата-центре по лицензии On-Premise. Тот же движок, та же архитектура, каждое ядро.