Быстрый и еще быстрее: оперативный доступ к данным
Сегодня разбираемся в подходах для обеспечения нужной скорости доступа к информации. А потом посмотрим, какие есть решения, чтобы реализовать этот запрос.
Как сделать скорость доступа высокой?
Перенести данные и вычисления в оперативную память. In-memory databases позволяют значительно ускорить чтение и запись данных. Это в несколько раз быстрее, чем традиционный способ хранения данных на жестких дисках.
Декомпозировать и распараллеливать. Если разбить задачу на много мелких и выполнять их параллельно, это значительно ускорит общий процесс. Подход работает как в многопроцессорных системах, так и в системах с одним процессором, с использованием многопоточности.
Использовать технологию репликации данных. Разворачиваем дополнительные копии базы данных на разных серверах и распределяем нагрузку между ними.
Кэшировать. Переносим часто используемые данные в отдельную систему, обеспечиваем быстрый доступ. Так мы значительно сократим время выполнения операций и повысим производительность системы.
Кстати, эти подходы можно комбинировать. Например, сначала обрабатывать и сжимать данные, а только после кэшировать.
Со временем принцип кэширования стал драйвером для развития технологии in-memory хранения. Она делает работу с данными очень быстрой, так как они всегда под рукой. Самое популярное решение, которое реализует этот подход — Redis — своего рода стандарт в отрасли.
По разным причинам (как на уровне законодательства РФ, так и на уровне реализации рисков vendor lock-in) российские компании столкнулись с невозможностью работать с Redis в будущем.
Какие инструменты можно использовать взамен?
Свой форк Redis. Можно будет внести его в реестр отечественного ПО. Но этот вариант слишком трудозатратен. Придется выделить команду разработчиков и администраторов, поддерживать и регулярно обновлять продукт.
Форк Redis от сторонней компании. Вариант не такой сложный, как первый, но есть свои риски. Мы становимся зависимы от вендора продукта (в том числе в части выбранной им частоты и полноты обновления форка).
Аналог Redis. В идеале — со сходной функциональностью и уже внесенная в реестр отечественного ПО. С точки зрения ресурсозатрат и рисков, этот вариант приоритетный. Одним из таких аналогов является продукт VK Tech — Tarantool DB.
#tarantool
@digitize_IT — мнения и управленческий опыт ИТ-лидеров
Обсуждение 0
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram