The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

форумы  правила/FAQ  поиск  регистрация  вход/выход  слежка  RSS
"Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  +/
Сообщение от opennews (ok) on 15-Июл-17, 10:32 
Представлен (https://groups.google.com/forum/#!msg/redis-db/5Kh3viziYGQ/5...) релиз СУБД Redis 4.0 (http://redis.io/), относящейся к классу NoSQL-систем. Redis предоставляет похожие на Memcached функции для хранения данных в формате ключ/значение, расширенные поддержкой структурированных форматов данных, таких как списки, хэши и множества, а также возможностью выполнения на стороне сервера скриптов-обработчиков на языке Lua.

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

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

Ключевые улучшения (https://raw.githubusercontent.com/antirez/redis/4.0/00-RELEA...), добавленные в Redis 4.0:


-  Реализован новый движок репликации -  PSYNC2 (Partial Replication v2), предлагающий более эффективные методы согласования обмена данными и доставки изменений между первичными и вторичными узлами. Вторичные узлы (slave) теперь могут переводиться в категорию первичных (master) без проведения полной ресинхронизации и могут на лету принять на себя репликацию на другие вторичные узлы. Кроме того, вторичные узлы теперь могут быть временно остановлены, например для проведения обновления, а после возвращения в строй доведены до актуального состояния при помощи частичной ресинхронизации, охватывающей только изменившиеся за время простоя данные.


Более того, первичный узел может быть переведён во вторичный и присоединён к новому первичному узлу с выполнением лишь частичной ресинхронизации или первичный и вторичный узлы могут поменяться местами. Значительно изменена работа при организации цепочек репликации, в которых одни вторичные узлы (sub-slave) реплицируются от других вторичных узлов. Поток репликации для slave и sub-slave теперь не отличается и идентичен потоку, отдаваемому главным первичным узлом.
Новый протокол репликации обратно совместим с прошлыми выпусками, что позволяет использовать Redis 4.0 на slave-серверах, подключаемых к master-узлам на основе старых выпусков Redis;


-  Обеспечена (https://github.com/antirez/redis/blob/unstable/src/modules/I...) возможность подключения дополнительной функциональности через модули. Redis теперь может применяться как фреймворк для создания сетевых сервисов - через модули могут быть добавлены новые возможности и структуры хранения данных, реализованы новые типы и вынесены в отдельные потоки медленные обработчики, которые не будут блокировать основной поток запросов. API для создания модулей абстрагирован от ядра Redis, что позволяет использовать один и тот же модуль с разными версиями Redis без внесения в него изменений;


-  Улучшена (http://antirez.com/news/109) работа кэша, который теперь поддерживает алгоритм замещения элементов  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 и контейнерах Docker, улучшен код определения сбоев, снижена нагрузка на CPU;

-  Добавлена поддержка активной дефрагментации памяти, которая позволяет выполнять дефрагментацию налету без остановки работы, если   применяется система распределения памяти Jemalloc (в Linux по умолчанию);

-  Снижено потребление памяти, в процессе работы тот же набор данных  теперь занимает меньше ОЗУ;

-  Модернизирован формат дампов RDB, в котором теперь поддерживаются 64-разрядные размеры блоков и предварительно отсортированные метаданные;


-  Увеличена эффективность реализации хэш-таблиц (тип dict);

-  Добавлена защита от межпротокольных атак (https://www.opennet.ru/opennews/art.shtml?num=45321), в которых используется сходство элементов протокола "POST" и "Host:" в HTTP и Redis, что позволяет отправить POST-запрос к Redis на локальной системе из запущенного в браузере web-приложения;

-  Команды RPUSHX и LPUSHX теперь могут принимать произвольное число элементов;

-  Серьёзно переработаны некоторые внутренние подсистемы.

URL: https://groups.google.com/forum/#!msg/redis-db/5Kh3viziYGQ/5...
Новость: https://www.opennet.ru/opennews/art.shtml?num=46856

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  +1 +/
Сообщение от Arcade email(ok) on 15-Июл-17, 10:32 
Ух ты, как раз ругался на топорность мастер-слейв репликации и сложность впихивания этого в продакшн. Будем посмотреть.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  –3 +/
Сообщение от dep email on 15-Июл-17, 13:18 
Что именно для вас там было топорно?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

24. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  +/
Сообщение от Zoolander on 19-Июл-17, 12:14 
Что за дурацкая привычка коверкать русский язык?

"Будем смотреть" - так правильно.

Или Пучкова начитался и обезьянничаешь?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  –5 +/
Сообщение от Аноним (??) on 15-Июл-17, 10:33 
Заметил, что memcached последнее время возродился и активно развивается -https://github.com/memcached/memcached/ Даже пару дней назад релиз 1.4.29 выпустили, в котором закрыли DoS-уязвимость CVE-2017-9951 (https://www.twistlock.com/2017/07/13/cve-2017-9951-heap-over.../)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  +8 +/
Сообщение от пох on 15-Июл-17, 11:11 
> Заметил, что memcached последнее время возродился

да уж охренеть как "возродился" - в issues мега-проблемы 2012го года (особенно хороша - "мы жрем # в конфиге как управляющий символ" - ну никак с 15го года не одолеть ее), в коммитах - какая-то сомнительная возня непойми с чем и ради чего.
issues:
Add drop_privileges() for Linux needs review/testing
#95 opened Dec 15, 2014 by viraptor
- вот с 2014го needs. Никак двадцать строчек ниасилить. Единственный автор с того самого года ниасилил себе тестовый билдхост под линуксом...

> в котором закрыли DoS-уязвимость CVE-2017-9951

которая закрывала DoS-уязвимость CVE-2016-8705, да так и ниасилила.

с другой стороны, если вас беспокоят уязвимости в memcached - вы ох..ли...э... вы выбрали совершенно неподходящий для вашей задачи сервис хранения.

И чем меньше не в меру активные рукожoпы лазят в этот код, тем лучше. А там - все равно перейдем поголовно на redis. Вот ровно потому, что у него есть вменяемые разработчики и твиттер с вмварью им платит.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

9. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  +/
Сообщение от KonstantinB (ok) on 15-Июл-17, 20:26 
> жрем # в конфиге как управляющий символ

У memcached нет конфига.

Всякие там обертки из дистрибутивов - это привет мейнтенерам дистрибутивов.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

13. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  +/
Сообщение от пох on 16-Июл-17, 12:43 
> У memcached нет конфига.

вас обманули. Поинтересуйтесь содержимым
https://github.com/memcached/memcached/blob/master/scripts/s...
(существует практически столько же, сколько и сам memcached)

> Всякие там обертки из дистрибутивов - это привет мейнтенерам дистрибутивов.

наоборот - привет рукожопому майнтейнеру вашего дистрибутива, который не знал, что у memcached'а таки есть вполне себе штатный конфиг и штатный скрипт запуска, умеющий его парсить (хреново ;-)

правда, сейчас это уже немодно, тру хипстеры каждый раз вручную юнит для systemd переписывают (который умеет читать из отдельного конфига четыре ненужных параметра, а если надо, к примеру, не торчать на внешнем интерфейсе - то "отредактируйте unit")

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

14. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  +/
Сообщение от Аноним (??) on 16-Июл-17, 12:49 
Это как раз дебиановский скрипт.


в репозиторий memcached его сунули относительно недавно, уже при Фейсбуке

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

18. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  –1 +/
Сообщение от Y (??) on 17-Июл-17, 07:08 
Не гони на юниты. Во первых тебя никто не заставляет отказываться от конфигов (если ты конечно хоть что-то разрабатываешь). Во вторых отредактировать юнит не сложнее чем отредактировать конфиг или скрипт. И там и тут простой текстовый файл, написанный по простым правилам (в случае скрипта правила немного усложняются конечно). А в третьих тот же юнит(+конфиг) дает намного больше возможностей и удобства, чем тот же "инит-скрипт" + конфиг. Начиная от того что пишется один раз, а работает на всех дистрибутивах и заканчивая тем, что не нужно скрипт 4 раз копировать что бы 6 инстасов запустить.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

19. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  –1 +/
Сообщение от пох on 17-Июл-17, 09:37 
> Не гони на юниты. Во первых тебя никто не заставляет отказываться от конфигов

там _есть_ конфиг ;-)
Феерически бессмысленный. И рекомендация "если что - поменяйте прямо в скрипте"
- соблюдая меры предосторожности, чтоб его не автопооверрайдило при апгрейде ;-)

> Начиная от того что пишется один раз, а работает на всех дистрибутивах

без ручного вмешательства все равно не работает, потому что ты не знаешь, что именно в этом дистрибутиве должно стартовать ДО (вероятно, как минимум, сеть?) и что - после (вероятно, использующий софт), и как то и другое в данном дистрибутиве угораздило называться (то что все systemd-based копипастят друг у друга, это не заслуга systemd).
Какая разница, делаем мы это редактируя заголовок или внешней интуитивно-приятной программой?
А если эту мелочь вынести за скобки - ну вот и остается start-memcached - вполне себе дистрибутивонезависимый (правда, requires perl, но все уже привыкли - pure-config-args не шибко лучше, смысл тот же)

> и заканчивая тем, что не нужно скрипт 4 раз копировать что бы 6 инстасов запустить.

этот - нужно ;-) Ну да, можно было бы и получше написать - ну так и sh скрипт тоже можно (вон, freebsd'шный mysqld вполне умеет сто инстансов - интересно, кто этим пользуется)

Единственная явно видимая польза - memcache как раз явный кандидат на услуги автоперезапускалки. Но daemontools тоже в общем-то никто не отменял.

Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

4. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  –1 +/
Сообщение от Аноним (??) on 15-Июл-17, 11:26 
хорошие новости
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  –5 +/
Сообщение от Аноним (??) on 15-Июл-17, 14:26 
> Redis обеспечивает постоянное хранение данных на диске и гарантирует сохранность БД в случае аварийного завершения работы.

Зачем людей обманываете?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  +1 +/
Сообщение от пох on 15-Июл-17, 16:23 
> Зачем людей обманываете?

а что не так? AOF в fsync mode вполне себе гарантирует и консистентность, и завершенность операций (настолько, насколько их обеспечит fs, как и у всех)

"но зачем?"

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  –1 +/
Сообщение от Аноним (??) on 15-Июл-17, 17:14 
> "но зачем?"

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

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

12. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  –2 +/
Сообщение от Аноним (??) on 16-Июл-17, 03:32 
`mount -o sync` спасёт отца русской демократии.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

20. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  –1 +/
Сообщение от Аноним (??) on 17-Июл-17, 12:45 
Интересное чтиво от автора redis - http://antirez.com/news/60. Автор redis-а не рекомендует использовать redis в качестве основной базы данных или можете оказаться без данных
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

21. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  –1 +/
Сообщение от Аноним (??) on 17-Июл-17, 13:03 
Комментатором на opennet-е и маминым админам этого к сожалению не понять
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

22. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  +/
Сообщение от пох on 17-Июл-17, 13:37 
> Комментатором на opennet-е и маминым админам этого к сожалению не понять

куда им... они даже не замечают, что по ссылке некропостинг 2013го года, и речь там о redis 2 (кто им тогда вообще пользовался, блин, и зачем?)

Сегодня никто не мешает применять его в такой позе, будет ничуть не хуже всеми любимого постгреза, и чинить в случае чего легче - "но зачем?"

Кто может нарисовать вменяемый use-case и как в нем выглядят структуры данных?

Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

23. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  +1 +/
Сообщение от Аноним (??) on 17-Июл-17, 18:54 
> Интересное чтиво от автора redis - http://antirez.com/news/60. Автор redis-а не рекомендует
> использовать redis в качестве основной базы данных или можете оказаться без
> данных

Эта заметка была написана 4 года назад, когда в Redis был только достаточно топорный периодический сброс бэкапа в файл. С тех пор появилось что-то похожее на журналирование.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

15. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  –1 +/
Сообщение от Аноним (??) on 16-Июл-17, 12:52 
>в случае проблем позволяя откатить изменения

Какой командой?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  +/
Сообщение от ваш К.О. on 17-Июл-17, 01:42 
> Какой командой?

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

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

16. "Выпуск СУБД Redis 4.0 с новым движком репликации и поддержко..."  –1 +/
Сообщение от Аноним (??) on 16-Июл-17, 12:54 
>и ведение на диске лога изменений

Как это включить?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема


  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor