Релиз нереляционной БД Redis 3.0

Разработка: Python: Релиз нереляционной БД Redis 3.0
Спустя полтора года вышел релиз БД Redis 3.0. Данную БД относят к NoSQL-системам. Разработка ПО ведется под контролем компании VMware. В Redis реализован функционал хранения данных в формате ключ/значение, очень похожий на Memcached. В программе присутствуют:
  • возможность запускать на бэкэнде созданные на языке Lua скрипты-обработчики;
  • поддерживаются структурированные форматы информации: списки; хеши; множества.
В случае краха системы Redis обеспечивает сохранность данных на жестком диске (чего не делает тот-же Memcached). Исходный код программы доступен по лицензии BSD. Доступны клиентские библиотеки для большого количества языков программирования, в том числе: Perl, Python, PHP, Java и Ruby.
Поддерживаются многокомандные транзакции; гарантируется непротиворечивость и последовательность (создаются блокировки, другие запросы будут приостановлены до завершения текущего); в случае появления ошибки — присутствует возможность отката. Работа идет с базой данных, которая полностью находится в кеше оперативной памяти. Управление данными производится с помощью команд инкремента/декремента, стандартных операций для работы с множествами и списками (объединение, пересечение), переименования ключей, множественных выборок и функций сортировки. Работать можно в двух режимах: с периодической синхронизацией данных на диске либо хранить на жестком диске лог транзакций. При работе во втором режиме гарантируется возможность полного восстановления данных в случае краха. Поддерживается настройка репликации в режиме master/slave (один сервер является основным, с ним работают пользователи, остальные — подчиненные, данные на них попадают только из основного сервера, доступны в режиме «только чтение»).

Основные изменения в третьей версии:
  • для настройки распределенного хранилища БД внедрен Redis Cluster. Появилась возможность распределять данные на несколько узлов, построить отказоустойчивую систему, в которой данные зеркалируются. Теперь при выходе из строя одного узла система продолжает работать;
  • появился новый тип кодирования объектов, — «embedded string», позволяющий использовать кэш в разы эффективнее;
  • улучшен алгоритм кеширования LRU;
  • появилась команда WAIT (используется для ожидания полной передачи блока на подчиненные сервера);
  • в команде MIGRATE появились опции COPY и REPLACE, реализовано кэширование соединений;
  • появилась возможность приостановить клиентские запросы с помощью команды CLIENT PAUSE;
  • оптимизирована производительность команд BITCOUNT и INCR;
  • полностью переработан режим AOF (Append Only File), — снижена задержка выполнения операций записи на медленных дисках;
  • появилась возможность указывать величину размерности памяти с помощью команды CONFIG SET («CONFIG SET maxmemory 200mb»);
  • изменился формат логирования — теперь в нем можно увидеть тип узла (master/slave);
  • переписан код организации блокировок и отслеживания выходных буферов.

1 комментарий

Satchitananda
Надо попробовать в деле, а то давно уже хотел заюзать редиску, да не где было

Оставить комментарий