Увидел свет (http://groups.google.com/group/redis-db/msg/7261246761086753) стабильный релиз хранилища Redis 2.0 (http://code.google.com/p/redis/), относящегося к классу NoSQL-систем и предоставляющего похожие на Memcached функции для хранения данных в формате ключ/значение. Активное кэширование данных в оперативной памяти позволяет добиться фантастической производительности (http://code.google.com/p/redis/wiki/Benchmark): 110000 операций записи или 81000 операций чтения в секунду на сервере с CPU Xeon X3320 2.5 ГГц. В отличие от Memcached, Redis обеспечивает постоянное хранение данных на диске и гарантирует сохранность БД в случае аварийного завершения работы. Исходные тексты проекта распространяются в рамках лицензии BSD.Redis позволяет использовать, помимо строк, в качестве значений списки, хэши и множества. Для управления данными поддерживаются такие команды, как инкремент/декремент, стандартные операции над списками и множествами (объединение, пересечение), переименование к...
URL: http://groups.google.com/group/redis-db/msg/7261246761086753
Новость: http://www.opennet.me/opennews/art.shtml?num=27875
А что за ниша предназначена для данного вида БД?
организация storage key-value баз данных. Для многих программ реляционная модель не подходит, а с помощью NoSQL можно сделать все просто. И по производительности будет значительно быстрее реляционных хранилищ.
мне интересно другое, есть ли у Redis поддержка транзакций? У MongoDB нет, что чревато потерей и кашей данных при резком выключении сервера. Есть тут те, кто пробовал Redis?
Поддержка транзакций. Новые команды MULTI, EXEC и DISCARD позволяют выполнить за один шаг группу команд, гарантируя непротиворечивость и последовательность (команды от других запросов не могут вклиниться) выполнения заданной группы команд, а в случае проблем позволяя откатить изменения;
А как насчет блокировок?
Вы про http://code.google.com/p/redis/wiki/BlpopCommand ?
в принципе оно решает проблему если посылать данные по ключу за запрос. т.е. если 2 клиента попробуют писать в один ключ - она поставит их в очередь. Но речь таки о транзакциях: если мы пишем блок данных, который логически связан за один запрос. Выключили свет и записалась только часть. Что тогда?
>Поддержка транзакций. Новые команды MULTI, EXEC и DISCARD позволяют выполнить за один
>шаг группу команд, гарантируя непротиворечивость и последовательность (команды от других запросов
>не могут вклиниться)да, это понятно, а если невозможно завершение записи? по правилам транзакция должна откатиться, удалить недописанные данные и сообщить об этом
>по правилам транзакция должна
>откатиться, удалить недописанные данные и сообщить об этомПри выключенном питании? =)
При следующем старте.
Наш гура высказался дословно так: "Редис - база с оч условным durability" (вероятно, относится к осмотренному ранее).
> добавлен механизм, позволяющий держать в ОЗУЧё, прям таки в ОЗУ, иль всё ж в VM? (а то понимаете ли VM разный бывает)
> использовать не системный swap
Интересно, а система об этом как узнает, если вдруг вся оперативка кончится?
>Интересно, а система об этом как узнает, если вдруг вся оперативка кончится?
>В начале работы запрашивается кусок памяти, который используется под буферв в/в. И если этого куска не хватает, то часть сбрасывается на диск. Это они и назвали не системный swap
прикольно. но вопрос то в том - не свалится ли этот кусок в системный своп при определенных условиях?
а то будет из системного в не системный гонять. и наоборот.
>а то будет из системного в не системный гонять. и наоборот.Могу только предположить, что для Базы Данных отводится персональный сервер. Потому не зачем там запускать какие-либо программы. И следовательно ни что не потребует ОС заниматься swap-ом
ЗЫ. Всегда использовал для буферов 4Кб, но в прошлом году пересмотрел свою позицию и размахнулся аж на 64Кб. И конечно получил выигрыш в скорости. Однако Ваш вопрос заставил меня задуматься - а всегда ли будет этот выигрыш. И не стоит ли для критичных участков алгоритма вернуться к 4Кб.
>Могу только предположить, что для Базы Данных отводится персональный серверне жирно ли будет? ключевое слово: виртуализация. Ваш К.А.
>>Могу только предположить, что для Базы Данных отводится персональный сервер
>
>не жирно ли будет? ключевое слово: виртуализация. Ваш К.А.Как "К.А."-то расшифровывается?
>>>Могу только предположить, что для Базы Данных отводится персональный сервер
>>
>>не жирно ли будет? ключевое слово: виртуализация. Ваш К.А.
>
>Как "К.А."-то расшифровывается?Капитан Ачевиднасть