Приложение тормозит? Как разгрузить базу данных | Yandex Cloud | ПромоСтраницы
Добавить в корзинуПозвонить
Добавить в корзинуПозвонить
Приложение тормозит? Как разгрузить базу данных

Храните сессии, лимиты, счётчики и состояния приложения на Valkey (открытый форк Redis): быстро читайте и обновляйте их при высокой нагрузке.

Храните часто меняющееся состояние приложения в Valkey

Пользователь открывает личный кабинет: приложение проверяет его сессию. Добавляет товар в избранное: приложение обновляет счётчик избранного. Партнёр обращается к API: приложение проверяет, не превышен ли лимит запросов.

Каждая операция небольшая, но при высокой нагрузке таких чтений и записей становится очень много.

Готовый пресет Managed Service for Valkey рассчитан именно на такие сценарии: приложению нужно быстро читать и обновлять эти данные прямо в памяти.

Чем этот сценарий отличается от кеша

В кеше Valkey обычно хранит копию данных, которую можно заново получить из основной базы.

В этом сценарии Valkey может хранить само рабочее состояние приложения: сессию пользователя, текущий лимит, счётчик или рейтинг.

Для таких данных потеря содержимого отдельного хоста может быть заметнее, поэтому пресет предусматривает более широкую репликацию, чем в кеш-сценарии: даже если целая зона доступности станет недоступна, у пресета останется работающая реплика.

Что можно хранить

Valkey работает со строками, словарями, списками, множествами и упорядоченными наборами.

Это подходит, например, для:

  • пользовательских сессий;
  • лимитов и квот;
  • счётчиков просмотров и действий;
  • рейтингов и лидербордов;
  • текущего состояния процессов;
  • признаков присутствия пользователя;
  • промежуточных результатов вычислений.

Приложение может читать и изменять значения по ключу вместо более сложных запросов к основной базе.

Что уже настроено

  • основной хост и две реплики в трёх зонах доступности (при его отказе сервис автоматически переключит нагрузку на одну из реплик);
  • 16 vCPU и 128 ГБ RAM на каждом хосте;
  • локальный SSD объёмом 200 ГБ;
  • до 90% оперативной памяти под данные;
  • политика NOEVICTION (при нехватке памяти Valkey не удаляет данные автоматически: новая запись завершится ошибкой);
  • резервное копирование и обновления со стороны сервиса.

Пресет рассчитан на нагруженные рабочие системы, где важна низкая задержка.

Что остаётся настроить вам

Нужно определить требования к сохранности данных и понять, какая потеря последних изменений допустима для конкретного сценария.

Valkey при этом не обязательно заменяет основную СУБД. Он может хранить быстро меняющееся состояние, а транзакционные и долгоживущие данные остаются на Managed Service for PostgreSQL, Managed Service for MySQL или другой базе.

Так для каждого типа нагрузки используется подходящее хранилище.

Посмотреть пресет «In-memory база данных»Храните часто меняющееся состояние приложения в Valkey

Пользователь авторизуется — приложение проверяет сессию. Ставит реакцию — обновляет счётчик. Отправляет запрос — система проверяет лимит.

Каждая операция небольшая, но при высокой нагрузке таких чтений и записей становится очень много.

Готовый пресет Managed Service for Valkey рассчитан на сценарии, где приложению нужно быстро читать и изменять часто меняющееся состояние в памяти.

Чем этот сценарий отличается от кеша

В кеше Valkey обычно хранит копию данных, которую можно заново получить из основной базы.

В этом сценарии Valkey может хранить само рабочее состояние приложения: сессию пользователя, текущий лимит, счётчик или рейтинг.

Для таких данных потеря содержимого отдельного хоста может быть заметнее, поэтому пресет использует основной хост и две реплики в трёх зонах доступности.

Что можно хранить

Valkey работает со строками, словарями, списками, множествами и упорядоченными множествами.

Это подходит, например, для:

  • пользовательских сессий;
  • лимитов и квот;
  • счётчиков просмотров и действий;
  • рейтингов и лидербордов;
  • текущего состояния процессов;
  • признаков присутствия пользователя;
  • промежуточных результатов вычислений.

Приложение может читать и изменять значения по ключу вместо более сложных запросов к основной базе.

Что уже настроено

  • основной хост и две реплики в трёх зонах доступности;
  • 16 vCPU и 128 ГБ RAM на каждом хосте;
  • локальный SSD объёмом 200 ГБ;
  • до 90% оперативной памяти под данные;
  • политика NOEVICTION;
  • резервное копирование и обновления со стороны Managed Service for Valkey.

Если основной хост станет недоступен, сервис сможет переключить нагрузку на одну из реплик.

Пресет рассчитан на нагруженные рабочие системы, где важны низкая задержка и наличие доступной реплики при отказе отдельного хоста или зоны.

Что остаётся настроить вам

Нужно определить требования к сохранности данных и понять, какая потеря последних изменений допустима для конкретного сценария.

Valkey при этом не обязательно заменяет основную СУБД. Он может хранить быстро меняющееся состояние, а PostgreSQL, MySQL или другая база — транзакционные и долгоживущие данные.

Так для каждого типа нагрузки используется подходящее хранилище.

👉Посмотреть пресет «In-memory база данных»

Листая дальше, вы перейдёте на yandex.cloud