Новости и события » Hi-Tech » Выпуск СУБД Redis 4.0 с новым движком репликации и поддержкой модулей

Выпуск СУБД Redis 4.0 с новым движком репликации и поддержкой модулей

Представлен релиз СУБД Redis 4.0, относящейся к классу NoSQL-систем и развиваемой при содействии компании VMware. Redis предоставляет похожие на Memcached функции для хранения данных в формате ключ/значение, расширенные поддержкой структурированных форматов данных, таких как списки, хэши и множества, а также возможностью выполнения на стороне сервера скриптов-обработчиков на языке Lua.

В отличие от Memcached, Redis обеспечивает постоянное хранение данных на диске и гарантирует сохранность БД в случае аварийного завершения работы. Исходные тексты проекта распространяются в рамках лицензии BSD. Клиентские библиотеки доступны для большинства популярных языков, включая Perl, Python, PHP, Java, Ruby и Tcl. Redis поддерживает транзакции, позволяющие выполнить за один шаг группу команд, гарантируя непротиворечивость и последовательность (команды от других запросов не могут вклиниться) выполнения заданного набора команд, а в случае проблем позволяя откатить изменения. Все данные в полном объеме кэшируются в оперативной памяти.

Для управления данными предоставляются такие команды, как инкремент/декремент, стандартные операции над списками и множествами (объединение, пересечение), переименование ключей, множественные выборки и функции сортировки. Поддерживается два режима хранения: периодическая синхронизация данных на диск и ведение на диске лога изменений. Во втором случае гарантируется полная сохранность всех изменений. Возможна организация master-slave репликации данных на несколько серверов, осуществляемая в неблокирующем режиме. Доступен также режим обмена сообщениями "публикация/подписка", при котором создается канал, сообщения из которого распространяются клиентам по подписке.

Ключевые улучшения, добавленные в Redis 4.0:

  • Реализован новый движок репликации - PSYNC2, предлагающий более эффективные методы согласования обмена данными и доставки изменений между первичными и вторичными узлами. Вторичные узлы (slave) теперь могут переводиться в категорию первичных (master) без проведения полной ресинхронизации и могут на лету принять на себя репликацию на другие вторичные узлы. Кроме того, вторичные узлы теперь могут быть временно остановлены, например для проведения обновления, а после возвращения в строй доведены до актуального состояния при помощи частичной ресинхронизации, охватывающей только изменившиеся за время простоя данные;
  • Обеспечена возможность подключения дополнительной функциональности через модули. Redis теперь может применяться как фреймворк для создания сетевых сервисов - через модули могут быть добавлены новые возможности и структуры хранения данных, реализованы новые типы и вынесены в отдельные потоки медленные обработчики, которые не будут блокировать основной поток запросов;
  • Улучшена работа кэша, который теперь поддерживает алгоритм замещения элементов LRU (Least-Frequently Used), который обеспечивает вытеснение на основе частоты обращения к элементу, а не на основе времени последнего обращения (LRU, Least Recently Used);
  • Операции DEL, FLUSHDB и FLUSHALL теперь могут выполняться в отдельном потоке, не блокирующем основной обработчик, если вместо DEL применяется команда UNLINK или в командах FLUSH* указана опция ASYNC;
  • Представлена новая команда SWAPDB, которая позволяет полностью и мгновенно заменить одно содержимое БД на другое. Замена выполняется атомарно без ощутимых задержек;
  • Реализован новый комбинированный режим сброса данных на диск, который сочетает использование полного дампа RDB и AOF-лога (Append Only File), отражающего изменения, внесенные с момента создания дампа;
  • В число поддерживаемых платформ добавлены платы Raspberry Pi, работа на которых теперь проверяется для каждого выпуска Redis;
  • Добавлена новая команда MEMORY и ее варианты "MEMORY USAGE", "MEMORY OVERHEAD" и "MEMORY DOCTOR", предоставляющие средства для анализа использования памяти в Redis и диагностики проблем;
  • Расширены возможности Redis Cluster, в котором появилась поддержка запуска узлов в контейнерах с NAT, улучшен код определения сбоев, снижена нагрузка на CPU;
  • Добавлена поддержка активной дефрагментации памяти, которая позволяет выполнять дефрагментацию налету без остановки работы, если применяется система распределения памяти Jemalloc (в Linux по умолчанию).

Сучасні та економічні методи зведення будівель

Сучасні та економічні методи зведення будівель

У сучасному будівництві швидкість, економічність та універсальність є ключовими факторами при виборі технологій і матеріалів. Швидкомонтовані сталеві будівлі повністю відповідають цим вимогам, завдяки чому вони набувають великої популярності у різних сферах...

сегодня 10:39

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

Вверх