На предыдущую страницу
#База данных #СУБД

Redis

Redis (Remote Dictionary Server) — система управления базами данных, основанных не на SQL (Structured Query Language). Главное отличие — программа работает с кэшем данных, а не со значениями напрямую. Это повышает производительность при работе с базами данных (БД) в несколько раз.

Информация, с которой работает Redis, хранится в виде «словаря». Каждому ключу соответствует единственное значение.

Если провести аналогию с рынком СХД (систем хранения данных), то Redis — это как Pure Storage. Узкая специализация и максимальное быстродействие.

Особенности

Основные параметры, которые выделяют Redis среди остальных СУБД (систем управления базами данных):

  1. Объем данных, с которыми работает Redis, не превышает объема оперативной памяти.
  2. Работает с разными типами данных: строчный, списочный, числовой, хэш-таблицы и др.
  3. Внутри Redis нет разграничения на пользователей или группы. Отсутствует контроль доступа.
  4. СУБД поддерживает масштабируемость. Клиенты могут создавать как несколько узлов с одним главным, так и кластеры.
  5. Продукт не работает с языком запросов (SQL), а по схеме «ключ-значение».
  6. Redis поддерживает репликацию. Информация может переноситься с главного узла на другие бесконечное количество раз в зависимости от настроек.
  7. В случае утери данных восстановление производится одним из двух способов. Первый предполагает работу со снимками (snapshot), а второй — журнал упреждающей записи.
  8. Для управления узлами Redis используется программное обеспечение Sentinel, которое включено в дистрибутив. Оно поддерживает мониторинг, систему уведомлений, автопереключение на активный узел и другие функции.
  9. СУБД поддерживает множество языков программирования: Python, Ruby, PHP, Perl, Java и др.

Области применения

Redis используют в определенных сферах обработки данных, например, при работе с Machine Learning в качестве быстрого хранилища данных. Благодаря программному продукту огромный объем данных обрабатываются в незначительный промежуток времени.

Другой вариант — аналитика данных в реальном времени. Например, сервис Amazon Kinesis использует Redis как хранилище информации в памяти для дальнейшей обработки. Задержки при таком подходе измеряются миллисекундами.

Третий вариант предполагает совместную работу с реляционными СУБД. Redis используют как высокодоступный кэш для загрузки видео, метаданных, сохранения наиболее часто повторяющихся запросов к БД и т. д.

В веб-сфере Redis применяют для чатов или лент новостей. Продукт создает очереди по упрощенному алгоритму, что увеличивает быстродействие при множестве одновременных запросов.

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

Redis лучше всего подходит для использования в качестве временного хранилища с высокой скоростью обработки данных совместно с другой СУБД (например, MySQL). Надежность и отказоустойчивость обеспечивается интегрированными механизмами репликации и восстановления данных.

Оцените данную статью