The OpenNET Project / Index page

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

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

28.04.2022 10:26

Опубликован релиз СУБД Redis 7.0, относящейся к классу NoSQL-систем. Redis предоставляет функции для хранения данных в формате ключ/значение, расширенные поддержкой структурированных форматов данных, таких как списки, хэши и множества, а также возможностью выполнения на стороне сервера скриптов-обработчиков на языке Lua. Код проекта поставляется под лицензией BSD. Дополнительные модули, в которых предлагаются расширенные возможности для корпоративных пользователей, такие как RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, с 2019 года поставляются под проприетарной лицензией RSAL. Развитие открытых вариантов данных модулей под лицензией AGPLv3 пытался продолжить проект GoodFORM, который последнее время находится в стагнации.

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

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

Ключевые изменения в Redis 7.0:

  • Добавлена поддержка функций, выполняемых на стороне сервера. В отличие от ранее поддерживаемых скриптов на языке Lua, функции не привязаны к приложению и нацелены реализацию дополнительной логики, расширяющей возможности сервера. Функции обрабатываются неразрывно с данными и в привязке к БД, а не к приложению, в том числе реплицируются и сохраняются в постоянном хранилище.
  • Предложена вторая редакция ACL, позволяющая управлять доступом к данным на основе ключей и допускающая определение разных наборов правил доступа к командам с возможностью привязки нескольких селекторов (наборов полномочий) к каждому пользователю. Каждый ключ может быть отождествлён с определённым полномочиями, например, можно ограничить доступ только чтением или записью определённого подмножества ключей.
  • Предоставлена работающая в кластере секционированная (sharded) реализация парадигмы распространения сообщений по подписке (Publish-Subscribe), при которой сообщение отправляется определённому узлу, к которому привязан канал сообщений, после чего это сообщение перенаправляется остальным узлам, входящим в секцию (shard). Клиенты могут получать сообщения по подписке на канал, как подключаясь к основному узлу, так и ко вторичным узлам секции. Управление производится при помощи команд SSUBSCRIBE, SUNSUBSCRIBE и SPUBLISH.
  • Добавлена поддержка обработки подкоманд в большинстве контекстов.
  • Добавлены новые команды:
  • Предоставлена возможность обработки сразу нескольких конфигураций в одном вызове CONFIG SET/GET.
  • В утилиту redis-cli добавлены опции "--json", "-2", "--scan", "--functions-rdb".
  • Клиентам по умолчанию отключён доступ к настройкам и командам, влияющим на безопасность (например, отключены команды DEBUG и MODULE, запрещено изменение конфигураций с флагом PROTECTED_CONFIG). В redis-cli прекращён вывод в файл с историей команд, содержащих конфиденциальные данные.
  • Внесена большая порция оптимизаций, нацеленных на повышение производительности и снижение потребления памяти. Например, существенно снижено потребление памяти при включении режима кластера, при выполнении операций copy-on-write и при работе с хэшами и ключами zset. Улучшена логика сброса данных на диск (вызова fsync). Сокращено число сетевых пакетов и обращений к системным вызовам при отправке ответов клиенту. Повышена эффективность репликации.
  • Устранена уязвимость CVE-2022-24735 в окружении для исполнения Lua-скриптов, позволяющая осуществить подстановку своего Lua-кода и добиться его выполнения в контексте другого пользователя, в том числе имеющего более высокие привилегии.

    Дополнительно можно отметить уязвимость (CVE-2022-0543) в пакетах с Redis для Ubuntu и Debian (проблема специфична для отдельных сборок и не связана самим Redis), позволяющую выполнить произвольный код на языке Lua на удалённом сервере и обойти механизм sandbox-изоляции окружения для выполнения скриптов в Redis.

  • Устранена уязвимость CVE-2022-24736, позволяющая добиться аварийного завершения процесса redis-server из-за разыменования нулевого указателя. Атака совершается через загрузку специально оформленных Lua-скриптов.


  1. Главная ссылка к новости (https://github.com/redis/redis...)
  2. OpenNews: Выпуск СУБД Redis 6.0
  3. OpenNews: Создатель СУБД Redis передал сопровождение проекта сообществу
  4. OpenNews: Обновление СУБД Redis 6.2.6, 6.0.16 и 5.0.14 с устранением 8 уязвимостей
  5. OpenNews: Компания Redis Labs перевела модули с Commons Clause на собственную несвободную лицензию
  6. OpenNews: Изменение лицензионной политики проекта Redis
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/57100-redis
Ключевые слова: redis, nosql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (91) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, А где же каменты (?), 10:32, 28/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –7 +/
    Как БД и мемкэшд соотносятся? Сравнили зелёное и длинное.
     
     
  • 2.3, Аноним (3), 10:46, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +12 +/
    Так редиска же часто как кэш используется. Вполне валидное сравнение.
     
  • 2.5, Аноним (5), 10:46, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ну Redis в своё время был предложен как замена memcached с поддержкой сброса кэша на диск, а уже потом превратился в комбайн.
     
  • 2.7, Igor (??), 10:52, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ну обозвать redis СУБД - это чья та больная фантазия. Сами они себя называют "in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker".
    т.е. именно "системой хранения данных в памяти".
     
     
  • 3.21, Аноним (21), 12:18, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Так он не только в памяти хранит так всё нормально.  
     
  • 3.44, Аноним (44), 15:01, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ну обозвать redis СУБД - это чья та больная фантазия.

    Ну, Berkeley DB именуется СУБД вполне официально. Так что можно быть локальным KV и всё равно считаться СУБД.
    Или, может, дело в том, что за ними Оракл, а любой продукт оракла автоматически считается СУБД?

     
  • 2.9, Аноним (9), 10:58, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На самом деле удобная вещь. Записал значение как в key-value бд, выставил ему время жизни, всё ты в шоколаде. Как ещё использовать я не представляю, только как кэш.
     
     
  • 3.10, Igor (??), 11:04, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Ну - например у нас редиска используется как "общая память" для обмена информацией между процессами АСУТП.
     
     
  • 4.13, Аноним (9), 11:21, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как вариант. Я использую, чтобы не создавать лишнюю нагрузку от пользователей дорогими запросами там, где общие данные и им совсем не требуется актуальность. Но и сервис не то чтобы нагруженный, просто зачем тратить секунды там где нет никакого смысла их тратить. Несколько видов кеширования, это один из них. Возможно, стоит рассмотреть возможность применения для IPC, но у меня нет IPC на данный момент. Раньше Redis никогда не использовал, а тут решил пощупать что-то.
     
     
  • 5.25, Аноним (21), 12:35, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Редис бывает и просто технических кешем например для того же celery. Т.е. не для пользователей, а для сервисов ака месседж брокер
     
     
  • 6.39, Аноним (44), 14:48, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    "Кэш для пользователей" - это скорее varnish/nginx/haproxy.
    С тем, что в редисе хранится, в любом случае взаимодействует код, а не пользователь.
     
  • 3.12, Ivan (??), 11:18, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +5 +/
    У него еще куча полезных фич, кроме key/value стораджа.
    Например:
    - pub/sub
    - shared lock
     
  • 2.17, Lost Inside (ok), 11:36, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    А вот так. И то и другое на кейвалуях. Redis - это по сути отказоустойчивый Memcached, плюс-минус.
     
  • 2.40, ryoken (ok), 14:50, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>зелёное и длинное

    ...Огурец что ли..?

     
     
  • 3.74, Аноним (74), 20:50, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    крокодил :)
     

  • 1.4, Аноним (4), 10:46, 28/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Многопоточность так и не прикрутили?
     
     
  • 2.15, Массоны Рептилоиды (?), 11:31, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В 4 прикрутили, в 6 докрутили
     
  • 2.16, Аноним (16), 11:31, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Потому что она всё так же ненужна.
     
  • 2.26, Z (??), 12:49, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зачем?
     
     
  • 3.108, Фняк (?), 13:16, 09/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Иногда запросов так много, что одно ядро не справляется. А ядер в сервере обычно много и у них не особо высокая частота. Можно конечно устроить закат солнца вручную, но удобнее когда оно из коробки есть
     
  • 2.31, Аноним (44), 13:53, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Давно уже.
    https://keydb.dev/ - форк редиса с многопоточностью. Кодовая база регулярно синхронизируется с апстримом.
     
     
  • 3.100, Аноним (100), 04:42, 30/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Давно уже.
    > https://keydb.dev/

    Его нету под FreeBSD, фтопку.

     

  • 1.8, Аноним (9), 10:56, 28/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я только знаю, что 6.2.6 работал с luajit-2.0.5 (2.1.0 выдаёт ошибки), и в 6.2.7 зависимость от lua-5.1 который жуткое старьё и легаси. Ничего не вижу про это в новости.
     
     
  • 2.29, Аноним (21), 13:16, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Это кстати же камень в огород всем небезопасных jit версий любых языков и их вариаций.  И тут поняли что jit в общем и целом ненужен.  
     

  • 1.11, Аноним (11), 11:17, 28/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ребята, а реально запилить сайт который будет использовать только редиску, без любого SQL?
     
     
  • 2.14, Аноним (16), 11:26, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Без проблем. В целом можно даже на диск скидывать сторадж, но будет медленнее.  
     
  • 2.41, Аноним (44), 14:51, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > Ребята, а реально запилить сайт который будет использовать только редиску, без любого SQL?

    Разработчики из одного известного жёлтого "дофига хай-тек" банка ухитрились даже на нём видеохостинг сделать, для внутренних нужд. Причём на одном инстансе, без шардирования и сохранения (была репликация, но отвалилась по дороге).

    Были очень удивлены, когда место стало заканчиваться.

     
     
  • 3.70, Аноним (70), 19:03, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Прям туда где value писали видео?
     
     
  • 4.78, Аноним (44), 22:40, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    По-моему, в value писали JSON, в одном из полей которого был base64-кодированный видеофайл.
     
     
  • 5.80, Аноним (80), 01:37, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    современные ойтишнеги очень любят стрелять себе в ноги
     
     
  • 6.90, Аноним (44), 11:30, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Специфика корпоративной культуры разработки. По-моему, такая культура формируется во всех более-менее крупных корпорациях - менеджеры получают премии за количество новых проектов, а не за их работоспособность, а разработчики набираются из бывших курьеров и таксистов, которым не хватило интеллекта для навигации по городу.
     

  • 1.18, Без аргументов (?), 11:47, 28/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А кто нить работает в хайлоаде? На чем крутятся какие-нибудь комменты в ВК и других соцсетях?
     
     
  • 2.19, bOOster (ok), 12:04, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    На кластере серверов.
     
  • 2.20, Аноним (21), 12:15, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В ВК хз у нас все крутится в мемкеше работает быстро есть не просит.  
     
     
  • 3.23, амоним (?), 12:23, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    в мемкеше данные коментов? а тип если кластер умрет - их не жалко?
     
     
  • 4.24, Аноним (21), 12:28, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Заново греть кеши? При запросе все данные в том числе предиктовые запрашиваются из БД и попадают мемкеш и от туда запрашиваются пользователем. Как их перестают запрашивать данные удаляются.

    Ты спросишь про валидацию кешей вот там велосипед на велосипеде. Ака консистеностность в конечном счете.  

     
     
  • 5.42, Аноним (44), 14:52, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "В программировании есть две реально сложных проблемы - именование сущностей и валидация кэшей. Все остальное - простые проблемы" © не помню кто
     
     
  • 6.45, Аноним (45), 15:13, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Джефф Этвуд, один из основателей Stack Overflow
     
  • 6.47, Просто интересно (?), 15:42, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А чем плохи Hazel Cache и Ignite Cache?

    https://stackoverflow.com/questions/31932836/hazelcast-vs-ignite-benchmark

    Они же сами все автоматически синхронизируют на всех узлах или нет?

     
     
  • 7.63, Аноним (44), 18:29, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    А кто сказал, что они обязательно плохи?
    Просто они гораздо сильнее интегрируются в логику приложения, и хорошо заходят, если у вас энтерпрайз Java и SpringEverything (по крайней мере, Hazelcast)
     
  • 7.84, eRIC (ok), 07:39, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > А чем плохи Hazel Cache и Ignite Cache?

    GridGain еще есть, пока на практике не попробуешь, не поймешь

     
  • 6.85, Брат Анон (ok), 07:52, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Имена сущностей и ИНВАЛИДАЦИЯ
    кешей.

    Вот и выросло поколение, которое не умеет в классиков.

     
     
  • 7.105, Аноним (105), 02:48, 01/05/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Автор данной фразы, как и её каноническое написание, вообще не очень точно известны. Её приписывают Тиму, но по его же словам, он её сам слышал от кого-то.
     
  • 2.22, амоним (?), 12:22, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • –4 +/
    сейчас появились оч быстрые железки по диску, и ... можно на небольшом кол-ве железа процессить оч большие объемы.
    понятное дело, что в вк там кластер, потому что ну очень много + отказоустойяиво нужно.
    но этт нк рокет сайнс. ну нагрузки много, но она примитивная. шардированный доступ в зубы, и вперед. тут больше архитектурное решение решает.
    а так: мускул, каучбэйз, аероспайк, кассандра.
    хотя кауч и аероспайк в рф вероятно уже не продаются, так что если про вк говорим - наверное без них )
     
     
  • 3.38, Аноним (44), 14:39, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > а так: мускул, каучбэйз, аероспайк, кассандра.

    Если про couchbase и aerospike ещё плюс-минус попадание, то кеши в кускуле или кассандре - это прямо первоапрельская шутка (причём не очень умная).

     
     
  • 4.66, амоним (?), 18:54, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    вопрос был как сделаны коменты? или где кеш лежит?
    вроде как про комменты
     
  • 4.67, амоним (?), 18:56, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    про шутки - почитай для чего фб вообще делал кассандру изначально
     
  • 4.68, амоним (?), 18:59, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    мускл - ну ты попробуй положить в него кей-валуе данные, дать ему 256 гиг памяти под кеш, пачку pcie ssd, и несколько зионов платинум проца. скажешь потом, где проблема, и где оно хуже кауча.
     
     
  • 5.77, Аноним (44), 22:37, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > ну ты попробуй положить в него кей-валуе данные, дать ему 256 гиг памяти под кеш, пачку pcie ssd, и несколько зионов платинум проца

    Лучше всё-таки 1 Тб оперативки, а то вдруг данных много окажется, гигабайт, например.

    И в итоге получится что-то, способное догнать по скорости Redis на Pentium 4.

     
  • 3.86, Брат Анон (ok), 07:56, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вот когда ты напишешь тест хоть один по сравнению скорости кеша в памяти с кешем на диске, да посчитаешь сколько бабла тебе потребуется для уравнивания их скоростей -- вот тогда и приходи комменты писать.
     
     
  • 4.92, амоним (?), 12:09, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    о как! т.е. кеш рсубд, живет на диске?
    расскажу по секрету - нет ) он живет в памяти, внезапно, как и данные редиса. и в мускле, и пг и оракле.
    и прогрев кеша нужен и в редисе (хм, данные на диске, если рестарт, то нужно сильно думать).
    а внезапно аероспайк и придумывали, чтобы хранить данные на диске, не парясь на инмемори и не парится, если их ну оч много.
     
     
  • 5.97, Брат Анон (ok), 16:13, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > о как! т.е. кеш рсубд, живет на диске?

    Ну давай, расскажи мне, как поднять постгрес без диска, вперде))
    И как гарантировать, что те данные что должны быть в памяти не будут вытеснены на диск в Постгресе/Оракле/что там у тебя ещё есть. И как данные шарить между нодами, которые поднимаются и ложатся по требованию.

     
     
  • 6.102, амоним (?), 10:33, 30/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    балин... ну о чем спорить? в память положил, из памяти взял. но тогда вычитка с диска, и инвалидация - ручками. хочешь, чтобы это работало само - база данных, с кучей кеша данных и/или ключей. все упирается в объем данных, время и желание делать велосипеды.
    зашардировать данные в редисе - фокус. проверять схему - фокус. реплицировать при высокой летенси сети (xdc) и высокой нагрузке - фокус.
    юзать как локальный кеш сервиса - отлично работает.
    ну как-то так...
     
  • 2.46, Без аргументов (?), 15:16, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Благодарю за ответы. Но интересно, если в РСУБД все как-то атомарно связано транзакциями, констрейтами, в общем, конторолем на уровне СУБД, то как здесь решается проблема синхронизация первичных и прочих агрегированных данных, статистики и прочих витрин? Получается, с помощью бизнес-логики приложения или сервисов?
     
     
  • 3.50, Аноним (44), 15:55, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Такое ощущение, что вы просто накопипастили случайные фразы из первых ссылок по выдаче гугла.
     
     
  • 4.56, Без аргументов (?), 17:18, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Просто я работал с одной нераспределенной БД Oracle и Maria DB в рамках одного корпоративного монолита. А про остальное не знаю, вот и спрашиваю.
     
  • 4.57, Без аргументов (?), 17:20, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Одно дело, когда целостность данных конролируется триггерами и прочими связями самой БД. А как это в монгах и редисах я даже не представляю. И полагаю, что это делается на уровне модели софта.
     
     
  • 5.61, Аноним (44), 18:24, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Что вы подразумеваете под "целостностью данных" в key-value storage?
     
     
  • 6.75, Без аргументов (?), 22:08, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Именно там как раз нет, а получается, на уровне софта значит решают вопрос или вообще не решают?
     
     
  • 7.79, Аноним (44), 23:29, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Именно так Понятие целостности , а точнее, консистентности данных, вообще раст... большой текст свёрнут, показать
     
  • 5.87, Брат Анон (ok), 08:03, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    NoSQL база хранит агрегат. Т. е. одна запись не раскидывается по нескольким таблицам, а значит для поддержания консистентности объекта -- транзакции не нужны. Если речь идеи о ссылках в объекте на другие объекты -- ссылки в NoSQL у нормальных людей постоянны (но вовсе не значения по ссылкам). Если же критично изменение конкретного числа объектов одновременно -- да, там используются всë теже транзакции. Но в голове всегда держим: транзакции гарантируют консистентность, но не гарантируют целостность. Тут поможет только фактор репликации "три". За счëт отсутствия необходимости транзакции на раскладывание сложного объекта -- NoSQL работает быстрее на запись/чтение. Вопрос быстрого поиска решается фильтрами Блума (да, индексы никто не отменял).
     
  • 3.69, амоним (?), 19:02, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да нету там целосности. если целосность нужна (межсервисная), она реализуется тем, что операции умеют накатываться, откатываться, есть очереди для достижения консистентности к определенному моменту, ечть контроль, если очереди мертвых сообщений.
    читай кафка, читай дельта-лямбда архитектуры, читай евент процессинг, гугли оркестрация, и проч.
     
     
  • 4.76, Без аргументов (?), 22:09, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Благодарю
     
  • 4.88, Брат Анон (ok), 08:07, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вы не понимаете, что такое "консистентность" и "целостность".
    В NoSQL (сюрприз-сюрприз) есть как механизмы поддержания консистентности (нет, не так как в РСУБД) так и целостности.
     
     
  • 5.93, амоним (?), 12:27, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    да, русские термины перепутал, сорри.
    имелось ввиду консистентность реализуется руками. встроенных механизмов нету.
    с целостностью тоже не все очевидно. все что кей-валуе гарантирует - что есть кей, и что есть валуе. а вот что там - ...
    так что снова руками.
    тут конешн, все от конкретной бд зависит, их оч много.
     
     
  • 6.98, Брат Анон (ok), 16:17, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > да, русские термины перепутал, сорри.
    > имелось ввиду консистентность реализуется руками. встроенных механизмов нету.

    Ну вот не надо гнать. всё уже давно есть.

    > с целостностью тоже не все очевидно. все что кей-валуе гарантирует - что
    > есть кей, и что есть валуе. а вот что там -
    > ...
    > так что снова руками.

    Нет, давно уже не руками.

    > тут конешн, все от конкретной бд зависит, их оч много.

    Именно. Не все васяны одинаково полезны. Но все приличные васяны давно уже умеют и консистентность, и целостность.

     
     
  • 7.103, амоним (?), 10:37, 30/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >> имелось ввиду консистентность реализуется руками. встроенных механизмов нету.
    > Ну вот не надо гнать. всё уже давно есть.
    >> с целостностью тоже не все очевидно. все что кей-валуе гарантирует - что
    >> есть кей, и что есть валуе. а вот что там -
    >> ...
    >> так что снова руками.
    > Нет, давно уже не руками.
    >> тут конешн, все от конкретной бд зависит, их оч много.
    > Именно. Не все васяны одинаково полезны. Но все приличные васяны давно уже
    > умеют и консистентность, и целостность.

    приличные васяны, это монга, да?)

    ps CAP теорема как бэ -  консистентность... ну в общем трейдоф )

     
  • 2.60, Аноним (4), 18:09, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Aerospike, Scylla
     
  • 2.104, InuYasha (??), 13:57, 30/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    реббиты, эластики, постгресы + мемкаши и лоад-балансеры
     

  • 1.35, Тот Самый (?), 14:26, 28/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    >Redis обеспечивает постоянное хранение данных на диске и гарантирует сохранность БД в случае аварийного завершения работы

    Ошибочное и вводящее в заблуждение утверждение.

    Redis может работать как "in memory only", так и с дисковым хранилищем. Все зависит от настроек. Можно настроить сохранение на диск, например, после 500 успешных записей, или по таймеру.

    Для того, что-бы *гарантировать* сохранность БД в случае аварийного завершения работы, надо настроить сохранение на диск после *каждой* операции записи. Только в таком режиме Redis ни кому не нужен.

     
     
  • 2.37, Аноним (44), 14:31, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да нет, БД-то сохранится в любом случае, если save или aof включен.
    Сохранность данных каждой операции - это уже явный перебор.
    Даже в "больших и сложных" БД для этого нужен синхронный режим, который сильно просаживает производительность и поэтому нафиг не сдался.
     
     
  • 3.48, Просто интересно (?), 15:44, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    А чем Редиска лучше Тарантула?
     
     
  • 4.83, eRIC (ok), 07:34, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    > А чем Редиска лучше Тарантула?

    Редиской :)

     
  • 2.89, Брат Анон (ok), 08:08, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Чушь написали. Гуглите "сигналы ОС и их перехват".
     
     
  • 3.91, Аноним (44), 11:52, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И какой сигнал отправится процессам, если я выдерну оба блока питания?
     
     
  • 4.96, Брат Анон (ok), 16:11, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > И какой сигнал отправится процессам, если я выдерну оба блока питания?

    А у вас размах рук 1500 км?

     
     
  • 5.99, Аноним (99), 17:51, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вы когда-нибудь видели стоечный сервер?
     
     
  • 6.101, Брат Анон (ok), 09:28, 30/04/2022 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Вы когда-нибудь видели стоечный сервер?

    Вы когда-нибудь слышали, что реплики одной и той же базы нельзя размещать не то что в одной стойке -- даже в одном дата-центре?

     
     
  • 7.106, Аноним (105), 02:50, 01/05/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    И кто ж запрещает-то? Хоть на одном сервере размещай.
     
     
  • 8.107, Брат Анон (ok), 10:05, 01/05/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Запрещает требование высокодоступности и высоконадёжности ... текст свёрнут, показать
     
  • 8.109, Аноним (109), 12:25, 02/06/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Рациональное мышление ... текст свёрнут, показать
     

  • 1.49, Za Navalnogo (?), 15:44, 28/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >Дополнительные модули, в которых предлагаются расширенные возможности для корпоративных пользователей, такие как RediSearch, RedisGraph, RedisJSON, RedisML, RedisBloom, с 2019 года поставляются под проприетарной лицензией RSAL.

    И нормальная авторизация тоже проприетарно. Walled garden для неосиляторов IPC. У неосиляторов такая судьба - страдать и платить, платить и страдать.

     
     
  • 2.51, Аногим (?), 16:14, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > нормальная авторизаци

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

     
     
  • 3.53, Za Navalnogo (?), 16:22, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >Критерий нормальности давай

    Без плейнтекста, например. И с tls. С каких пор там в редисе всё это появилося, не подскажешь? И сколько редис жил без этого?

     
     
  • 4.59, Аноним (59), 17:51, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я иначе как через mTLS с Редисом только на локалхосте разговаривал. Мне юниксвей позволяет иметь такие базовые вещи не дожидаясь пока разработчики у себя реализуют. Что тебе мешает — загадка.
     
     
  • 5.65, Аноним (44), 18:36, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Не, это не юниксвей, а модульная архитектура в целом и service mesh в частности.
    Юниксвей - это когда "чего нет - то нам не нужно!!!1"
     
     
  • 6.82, Аноним (105), 03:59, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Можно и до сервис-меша. С сервис-мешем, конечно же, значительно удобнее.
     
  • 5.72, Za Navalnogo (?), 19:30, 28/04/2022 [^] [^^] [^^^] [ответить]  
  • –6 +/
    >Мне юниксвей

    У тебя и докер юниксвей, да?

    >Я иначе как через mTLS с Редисом только на локалхосте разговаривал.

    И до использования хешей пропатчил, ага. Хорошо ты так с темы соскочил, любитель мусорного софта.

     
     
  • 6.81, Аноним (105), 03:37, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем тебе для mTLS произвольного tcp-сокета докер, болезный?
     

  • 1.94, Аноним (94), 13:41, 29/04/2022 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Помню, что в свое время столкнулись с каким-то ограничением на размеры толи списка толи словаря в этом Redis и это прям как-то было очень проблемно. Сейчас все еще есть ограничения на размеры этих сущностей. Вообще есть где-то бенчмарки на максимальные обьемы и отзывчивость Redis? Кто-то делал?
     
     
  • 2.95, Вы забыли заполнить поле Name (?), 14:04, 29/04/2022 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно есть. Расскажете как уперлись в лимит в 4 лярда элементов в словаре?
     

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



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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