Представлен релиз БД Redis 2.0.0

7 сентября 2010 года

Увидел свет стабильный релиз хранилища Redis 2.0, относящегося к классу NoSQL-систем и предоставляющего похожие на Memcached функции для хранения данных в формате ключ/значение. Активное кэширование данных в оперативной памяти позволяет добиться фантастической производительности: 110000 операций записи или 81000 операций чтения в секунду на сервере с CPU Xeon X3320 2.5 ГГц. В отличие от Memcached, Redis обеспечивает постоянное хранение данных на диске и гарантирует сохранность БД в случае аварийного завершения работы. Исходные тексты проекта распространяются в рамках лицензии BSD.

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

По заявлению разработчиков, версия 2.0.0 ознаменовала значительную переработку кодовой базы. Из новых возможностей можно отметить:

  • Поддержка виртуальной памяти. Версии 1.x требовали обязательного дублирования всех данных в ОЗУ, что накладывало заметные ограничения на общий размер базы. В Redis 2.0.0 добавлен механизм, позволяющий держать в ОЗУ только ключи, а значения перемещать по мере необходимости в специальный файл подкачки (используется собственная реализация, не системный swap);
  • Поддержка транзакций. Новые команды MULTI, EXEC и DISCARD позволяют выполнить за один шаг группу команд, гарантируя непротиворечивость и последовательность (команды от других запросов не могут вклиниться) выполнения заданной группы команд, а в случае проблем позволяя откатить изменения;
  • Поддержка хранения хэшей, дающих возможность привязать к ключу набор из дополнительных пар ключ/значение. Для обработки данных нового типа представлены команды: HSET, HGET, HDEL, HLEN, HKEYS;
  • Режим обмена сообщениями "публикация/подписка", при котором создается канал, сообщения из которого распространяются клиентам по подписке;
  • Поддержка блокирующего режима выборки списков (команды BLPOP и BRPOP), что позволяет заблокировать операцию чтения списка ключей, до того момента, пока все ключи не будут добавлены в базу (один клиент ждет пока другой клиент не добавит определенные записи);

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

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Представлен релиз БД Redis 2.0.0», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.