The OpenNET Project / Index page

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

Выпуск СУБД Redis 3.2

06.05.2016 19:38

После года разработки состоялся релиз СУБД Redis 3.2, относящейся к классу NoSQL-систем и развиваемой при содействии компании VMware. Redis предоставляет похожие на Memcached функции для хранения данных в формате ключ/значение, расширенные поддержкой структурированных форматов данных, таких как списки, хэши и множества, а также возможностью выполнения на стороне сервера скриптов-обработчиков на языке Lua. В отличие от Memcached, Redis обеспечивает постоянное хранение данных на диске и гарантирует сохранность БД в случае аварийного завершения работы. Исходные тексты проекта распространяются в рамках лицензии BSD. Клиентские библиотеки доступны для большинства популярных языков, включая Perl, Python, PHP, Java, Ruby и Tcl.

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

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

  • GEO API с возможностью индексирования координат по широте и долготе, вычисления расстояния и указания допустимого радиуса вокруг искомой точки при формировании запросов;
  • Новая команда BITFIELD, позволяющая использовать строки как битовый массив из набора целых чисел. Числа в массиве можно инкрементировать и декрементировать для использования в качестве счётчиков, настраивать поведение при переполнении;
  • Многочисленные улучшения в Redis Cluster, который позволяет развернуть конфигурацию в которой данные автоматически распределяются между несколькими узами Redis. Добавлены средства ребалансировки в redis-trib и улучшена система миграции реплицированных данных. В нестабильной ветке появилась возможность создания узлов за трансляторами адресов и использования средств Docker по перенаправлению портов.
  • Реализован альтернативный способ репликации Lua-скриптов - "репликация эффекта от работы скрипта", при котором вместо репликации самого скрипта реплицируется последовательность команд записи, получаемых в результате выполнения скрипта. При данном режиме репликации Redis сохраняет все команды выполняемые движком Lua, которые приводят к изменению данных в БД, и затем повторяет эти команды на slave-серверах;
  • Добавлен мощный отладчик скриптов Lua, который можно использовать из redis-cli;
  • Увеличена эффективность использования памяти, реализовано новое внутреннее представление списков, значительно экономящих память при хранении больших списков;
  • Реализовано согласование времени жизни ключей на первичных и slave-серверах при выполнении операций чтения;
  • В команду SPOP добавлена поддержка опционального аргумента со счётчиком;
  • В RDB добавлены AUX-поля и увеличена скорость загрузки RDB-файлов;
  • Обеспечена возможность использования Sentinel для мониторинга масштабируемости первичных серверов.


  1. Главная ссылка к новости (http://antirez.com/news/104...)
  2. OpenNews: Представлена Serenity, Redis-совместимая транзакционная СУБД с дисковым хранилищем
  3. OpenNews: Проект по созданию варианта СУБД Redis, переписанного на языке Rust
  4. OpenNews: Выпуск БД Redis 3.0
  5. OpenNews: Ядро операционной системы стало узким местом при выполнении операций в СУБД Redis
  6. OpenNews: Cравнение производительности СУБД Redis, Tarantool, CouchBase и Memcached
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/44383-redis
Ключевые слова: redis, nosql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (24) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Какаянахренразница (ok), 21:54, 06/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ответ на комментарий гражданина Шталя А. (ныне удалённый): это не сишник, это программист на Lua.

    Redis есть гуд. Не далее, как сегодня (или это было вчера? надо больше спать), перевёл Minetest сервера на redis. Ничё так.

     
     
  • 2.2, A.Stahl (ok), 22:10, 06/05/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я знаю, что это не сишник. Сишнику не пришло бы в голову демонстрировать свою говорящую голову в углу видео про Redis. Это только хипстеры так могут.
     
     
  • 3.3, Аноним (-), 22:24, 06/05/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Благодаря этому "хипстеру" редис есть гуд. Может ли тов. Штааль похвастаться чем-то настолько же хорошим и полезным? Или он разработок своих стесняется так же, как и появления в подобных роликах без косметики?
     
     
  • 4.11, Аноним (-), 02:11, 07/05/2016 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Его уже неоднократно принужда показать свой гитхаб или закнуться. Ничего не показал, воняет под каждой новостью
     
  • 2.16, Аноним (-), 14:05, 07/05/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > перевёл Minetest сервера на redis

    Он умеет работать с Redis Cluster? Или как решается проблема "распухания" карты?

     
     
  • 3.20, Какаянахренразница (ok), 06:33, 08/05/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Мне, с моими тремя игроками, распухание карты в ближайшее время вряд ли грозит, поэтому я не знаю. Из беглого гугления я сделал вывод, что кластер работает прозрачно для клиента -- т.е. достаточно указать адрес:порт одного узла и дальше кластер сам внутри себя будет определять, с какого узла считывать и в какой узел записывать. Я даже близко не спец по БД, но думаю, что проблем быть не должно (база-то не реляционная, связей между записями нет).
     

  • 1.4, Анонче (?), 22:28, 06/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Когда выйдет СУБД Morkov - позовите!
     
     
  • 2.15, Аноним (-), 12:48, 07/05/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Когда выйдет СУБД Morkov - позовите!
    > [b]Re[/b]mote [b]Di[/b]ctionary [b]S[/b]erver

    Когда выучишь хотя бы один  иностранный язык и поймешь, насколько глупы такие шутки — можешь не звать.

     
     
  • 3.21, neponyal (?), 16:53, 08/05/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И В чем собственно глупость? Почему Вам отсутствие знания иностранных языков не мешает?
    Почему некоторые программные продукты могут называться Питонами, Перлами и прочь,
    а тут какого-то неумного анонима это напрягает?
     
     
  • 4.22, Аноним (-), 22:58, 08/05/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > И В чем собственно глупость?

    А некоторые считают, что громко портить воздух — тоже смешно. И ведь не объяснишь …

    > Почему Вам отсутствие знания иностранных языков не мешает?

    А с чего это аноним так решил? По себе судит?
    Меня бы незнание пары-тройки языков, как минимум, напрягало.
    Но если аноним считает, что ему это не мешает …


    > а тут какого-то неумного анонима это напрягает?

    https://www.opennet.ru/~neponyal
    > Участник: neponyal
    > Тип: Аноним

    Самокритично. Хотя, осознание проблемы — первый шаг к ее решению! Дерзайте!

     

  • 1.5, Аноним (5), 22:39, 06/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    tarantool лудше
     
     
  • 2.6, Аноним (-), 23:26, 06/05/2016 [^] [^^] [^^^] [ответить]  
  • +3 +/
    чем?
     
     
  • 3.7, Anonismus (?), 23:32, 06/05/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Чем Redis
     
  • 2.18, njunkie (ok), 16:57, 07/05/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Разработчики тарантула не знают что такое ORM, потому и наваяли ЭТО. Простите, но юзать БД от таких специалистов как-то страшно даже
     
     
  • 3.24, Аноним (5), 09:36, 10/05/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    орм для убогих инвалидов

    откройте для себя всю мощь SQL и хранимые процедуры на скриптовых языках

     

  • 1.8, одуванчик (?), 23:40, 06/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Такой вопрос, если оно постоянно в ОЗУ, значит кешировать ничего не надо? И что будет если БД больше размера ОЗУ?
     
     
  • 2.10, Алексей (??), 01:29, 07/05/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    What happens if Redis runs out of memory?

    Redis will either be killed by the Linux kernel OOM killer, crash with an error, or will start to slow down. With modern operating systems malloc() returning NULL is not common, usually the server will start swapping, and Redis performance will degrade, so you'll probably notice there is something wrong.

    The INFO command will report the amount of memory Redis is using so you can write scripts that monitor your Redis servers checking for critical conditions.

    Redis has built-in protections allowing the user to set a max limit to memory usage, using the maxmemory option in the config file to put a limit to the memory Redis can use. If this limit is reached Redis will start to reply with an error to write commands (but will continue to accept read-only commands), or you can configure it to evict keys when the max memory limit is reached in the case you are using Redis for caching.

    We have documentation if you plan to use Redis as an LRU cache.

     

  • 1.12, Ilya Indigo (ok), 03:39, 07/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Когда для php7 соответствующее pecl-расширение будет собираться и работать?
     
     
  • 2.13, Аног (?), 09:39, 07/05/2016 [^] [^^] [^^^] [ответить]  
  • +/
    С гитхаба phpredis собирается на ура
     
     
  • 3.14, Ilya Indigo (ok), 10:16, 07/05/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > С гитхаба phpredis собирается на ура

    Нужно, что бы оно из pecl-а так собиралось, на ура.

     

  • 1.19, увася (?), 20:07, 07/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    они транзакции то допилили? раньше была какая-то хрень при обрыве сокета
     
     
  • 2.25, Аноним (5), 09:37, 10/05/2016 [^] [^^] [^^^] [ответить]  
  • +/
    он сказал "транзакции в NoSQL бд".
    бугога.
     

  • 1.23, увася (?), 01:28, 09/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Redis поддерживает транзакции, позволяющие выполнить за один шаг группу команд, гарантируя непротиворечивость и последовательность (команды от других запросов не могут вклиниться) выполнения заданного набора команд, а в случае проблем позволяя откатить изменения.

    Ага, читаем доку: "Why Redis does not support roll backs?" http://redis.io/topics/transactions

    Нифига это не транзакции например в команде SETNX нифига не откатывается

     
  • 1.26, noVMware (?), 13:21, 10/05/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >развиваемой при содействии компании VMware

    VMware уже не та

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру