Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Вопрос-Ответ Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3      [все]
 Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Nick-name
Member

Откуда:
Сообщений: 700
Поясню, свой странный вопрос, я впервые с толкнулся с серверами очередей, пример использования был на примере сбора заявок(сообщений) в очередь с последующей их обработкой.
Вот чего я не понял, в чем преимущество перед тем, как если бы я просто писал эти заявки в базу а потом читал?

Наверно просто пример не очень хороший привели.
4 авг 20, 08:20    [22177258]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
WildSery
Member

Откуда: да, оттуда.
Сообщений: 20225
Поставить в очередь можно на порядки быстрее, чем сразу обработать и поместить в БД.
4 авг 20, 09:22    [22177272]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 2337
Nick-name,

Когда бд сдохнет можно сделать две бд и раскидывать им запросы из очереди.
4 авг 20, 09:50    [22177282]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Nick-name
Member

Откуда:
Сообщений: 700
WildSery,

Смотрите, мы в базу можем писать как в очередь
4 авг 20, 09:52    [22177284]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
WildSery
Member

Откуда: да, оттуда.
Сообщений: 20225
Nick-name,

Вы можете даже на бумажку их записывать, как в очередь. Только если диктовать будут медленно и по одному.
4 авг 20, 10:02    [22177286]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Nick-name
Вот чего я не понял, в чем преимущество перед тем, как если бы я просто писал эти заявки в базу а потом читал?

Это примерно как преимущество велосипеда перед самолётом. Для задач, выстроенных на очередях, СУБД имеет миллиард лишней функциональности, которая в этом случае с одной стороны не используется, а с другой - мешает и тормозит процесс.
4 авг 20, 11:28    [22177325]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Nick-name
Member

Откуда:
Сообщений: 700
WildSery,

То есть, поток данных должен быть таким, что в базу вставлять не успевают? Я наверно просто с такими нагрузками не сталкивался, ну собственно по тому и спросил. С настолько нагруженными проектами я просто не сталкивался
4 авг 20, 11:29    [22177326]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
WildSery
Member

Откуда: да, оттуда.
Сообщений: 20225
Nick-name,

Стоит отметить, что какой-то заоблачной нагрузки не требуется.
Просто локальный пик в течение нескольких секунд, и СУБД захлебнулась. А брать более крутое железо, которое выдержит - выкидывание денег на ветер.

Сообщение было отредактировано: 4 авг 20, 11:58
4 авг 20, 12:00    [22177339]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
WildSery
Просто локальный пик в течение нескольких секунд, и СУБД захлебнулась.

Вспомнил, как собеседовался в "Тройку диалог", и тамошний директор ИТ говорил мне "Тысячи одновременно работающих пользователей не выдержит никакая СУБД, хоть Oracle хоть кто".

P.S. Потом вспомнил другого знакомого, который писал в ирке что-то типа "Я тщательно проверял, вышло что Oracle говно, а MySQL - вещь". Потом выяснилось, что он пытался работать с базой в режиме "соединился, сделал один DML и отсоединился", и к тому же прописал параметр "работа с энергонезависимым raid-массивом" при отсутствии энергонезависимости - и всё жаловался, что после аварийных отключений Оракл каждый раз долго поднимается, потому что проверяет и чинит базу.

Сообщение было отредактировано: 4 авг 20, 12:25
4 авг 20, 12:23    [22177347]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
booby
Member

Откуда:
Сообщений: 2534
Nick-name
Поясню, свой странный вопрос, я впервые с толкнулся с серверами очередей, пример использования был на примере сбора заявок(сообщений) в очередь с последующей их обработкой.
Вот чего я не понял, в чем преимущество перед тем, как если бы я просто писал эти заявки в базу а потом читал?

Наверно просто пример не очень хороший привели.

это вопрос из серии "детских", что лучше - разглядывать бузину в огороде, или беседовать с дядькой в Киеве?

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

Работа с очередью - всегда событийна - ты не знаешь, когда получишь, и требуется разобраться, что с полученным делать.
А когда отправляешь сам - ты ни понятия не имеешь, что произойдет с отправленным, ни ждёшь от жизни немедленно ничего,
но, может быть, потом получишь квиток уведомления о доставке твоего сообщения.

Т.е. работа с очередью естественно асинхронна.
И в этой её событийности и асинхронности принципиальная сложность в организации взаимодействия.
На которую ты идешь сознательно, добровольно превращая простой императивный режим запрос-ответ в сложный асинхронный,
путем внедрения дополнительного уровня косвенности.

Примерно так решаются вообще все проблемы - какие бы затруднения у тебя не возникли - внедри дополнительный уровень косвенности и забудь о своих проблемах, теперь они не твои.

Ну, и, в базах данных интерфейсы работы с очередями тоже вполне успешно работают.
Хотя многие при этом предпочитают наляпывать свои собственные, рукописные уровни косвенности,
потому что стандартные "работают не так".
4 авг 20, 13:22    [22177407]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Nick-name
Поясню, свой странный вопрос, я впервые с толкнулся с серверами очередей, пример использования был на примере сбора заявок(сообщений) в очередь с последующей их обработкой.
Вот чего я не понял, в чем преимущество перед тем, как если бы я просто писал эти заявки в базу а потом читал?

Наверно просто пример не очень хороший привели.

Очередь подходит для временного хранения заявок. До того как БД их начнет обрабатывать. Это даст
преимущество в децентрализации и в неком буфере когда заявки пойдут очень быстро (в 100-в 1000 раз
быстрее чем номинальная скорость обработки).

Но глубина деталей (всех глубин) этого вопроса настолько глубока что нам автору придется рассказать все
все нюансы архитектур многозвенных систем.
4 авг 20, 13:57    [22177426]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
WildSery
Member

Откуда: да, оттуда.
Сообщений: 20225
softwarer
Вспомнил, как собеседовался в "Тройку диалог", и тамошний директор ИТ говорил мне "Тысячи одновременно работающих пользователей не выдержит никакая СУБД, хоть Oracle хоть кто".
Как давно это было?
"640K ought to be enough for anybody" (ц)
4 авг 20, 14:12    [22177441]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
WildSery
Как давно это было?

Довольно давно. Но моему ответ "Да вы что, у нас на московском сервере ещё лет пять назад было постоянно полторы тысячи пользователей" он так и не поверил. Собственно, вопрос начался с того, что у них MSSQL начал захлёбываться при 80-ти пользователях, и они начали накручивать всякие трёхзвенки итп., чтобы снять эту проблему.

Сообщение было отредактировано: 4 авг 20, 14:45
4 авг 20, 14:47    [22177466]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Надо уточнять идет речь о подключенных пользователях или о транзакциях.
4 авг 20, 14:52    [22177474]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 4155
Nick-name
WildSery,

То есть, поток данных должен быть таким, что в базу вставлять не успевают? Я наверно просто с такими нагрузками не сталкивался, ну собственно по тому и спросил. С настолько нагруженными проектами я просто не сталкивался


Вставка записей в базу - это может быть просто инсерт, а может быть еще и обработка в триггерах и т.д.
Вставляя запись приложение работает синхронно, т.е. будет ждать в точке вставки завершения.
Использование очередей - это разные варианты добавления асинхронности, чего нет в РСУБД. Но с поддержкой транзакционности, так, в частности , работает SQL Server Service Broker.
4 авг 20, 15:48    [22177509]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
Ролг Хупин

Вставляя запись приложение работает синхронно, т.е. будет ждать в точке вставки завершения....

Завершения чего ?
4 авг 20, 16:10    [22177520]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Wizandr
Member

Откуда: Империя Добра
Сообщений: 37071
очередии нужны очень редко
в 99 процентов случаем можно вставлять в БД и потом запускать джобу для асинхронной обработки вставленных данных

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

короче если возникает вопрос нужна ли очередь - это значит что очередь не нужна
4 авг 20, 16:37    [22177531]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
База защищена со всех сторон как крепость. И даже от выключения power есть защита.
Если вы сделали insert, то нужно потом как-то физически повредить БД чтоб ваша запись
была утеряна.

У очередей очень слабый контракт на хранение данных. Грубо говоря не все MQ-системы
по дефолту хранят ваши сообщения на диске. Многие из них хотя и хранят но могут писать
не сразу а с неким лагом по времени. Тюнинг очередей - это отдельный челендж и реально
мало программистов занимаются этой задачей. Обычно их интерес заканчивается на том
что "месседж зашел оно и ладненько". А админы БД и девопсы тоже очередью не занимаются.
Для админов БД - это просто неинтересно. Экспертиза не растет. Девопсам - обычно
так.... Поставил. Работает. Не трогай. Тоесть обычно сервер мессенджей - это "дитя без глаза".
И если упавшую БД аккуратно поднимают. Лечат и рекаверят Redo/WAL, то упавший
сервер мессенджей будет убит и рестартован со сбросом частичных логов. Если не дай
бох во время старта он скажет что хранилище повреждено и его логическая структура
неожиданно мешает нормальному старту.
4 авг 20, 16:48    [22177539]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 4155
Leonid Kudryavtsev
Ролг Хупин

Вставляя запись приложение работает синхронно, т.е. будет ждать в точке вставки завершения....

Завершения чего ?


Операции вставки записи в таблицу в данном примере.
4 авг 20, 17:03    [22177551]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Андрей Юниор
Member

Откуда: Москва
Сообщений: 749
Ролг Хупин
Вставка записей в базу - это может быть просто инсерт, а может быть еще и обработка в триггерах и т.д.

Непонятно, причём тут триггеры и другие обработки? Вставка в MQ - это добавить сообщение и больше ничего - или что ещё происходит? Никто не мешает в базе сделать стэйдж, в котором принципиально не будет триггеров. В котором из операцией будет только чтение и запись. С чего вдруг это будет работать медленно?
4 авг 20, 19:04    [22177602]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
crutchmaster
Member

Откуда: оттуда.
Сообщений: 2337
softwarer
Но моему ответ "Да вы что, у нас на московском сервере ещё лет пять назад было постоянно полторы тысячи пользователей" он так и не поверил. Собственно, вопрос начался с того, что у них MSSQL начал захлёбываться при 80-ти пользователях, и они начали накручивать всякие трёхзвенки итп., чтобы снять эту проблему.

Пользователи могут быть сильно разные.
5 авг 20, 04:19    [22177705]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
witte
Member

Откуда:
Сообщений: 431
mayton
База защищена со всех сторон как крепость. И даже от выключения power есть защита.
Если вы сделали insert, то нужно потом как-то физически повредить БД чтоб ваша запись
была утеряна.

В MQ тоже самое. Я сейчас конкретно про IBM MQ.
mayton
У очередей очень слабый контракт на хранение данных. Грубо говоря не все MQ-системы
по дефолту хранят ваши сообщения на диске. Многие из них хотя и хранят но могут писать
не сразу а с неким лагом по времени.

Если сообщение попадает в очередь, помеченную как персистентная или на сообщении явно выставить свойство персистентности, то оно попадает в транзакционный лог и при рестарте, если был коммит, будет восстановлено автоматически. Это ничем не отличается от рестарта того же Oracle RDBMS. Это работает даже на циркулярных логах в MQ, не говоря уже о линейных.
mayton
Тюнинг очередей - это отдельный челендж и реально
мало программистов занимаются этой задачей. Обычно их интерес заканчивается на том
что "месседж зашел оно и ладненько". А админы БД и девопсы тоже очередью не занимаются.
Для админов БД - это просто неинтересно. Экспертиза не растет. Девопсам - обычно
так.... Поставил. Работает. Не трогай. Тоесть обычно сервер мессенджей - это "дитя без глаза".

Описан подход shit in - shit out. Конкретно MQ тут совершенно не при чём. Это ортогонально продукту.
mayton
И если упавшую БД аккуратно поднимают. Лечат и рекаверят Redo/WAL, то упавший
сервер мессенджей будет убит и рестартован со сбросом частичных логов. Если не дай
бох во время старта он скажет что хранилище повреждено и его логическая структура
неожиданно мешает нормальному старту.

С чего такие фантазии? Queue manager в MQ, в определённом смысле, можно рассматривать тоже как БД, только специализированная. Она оптимизирована ровно на 2 операции: положить сообщение в очередь и вычитать его. Эти операции контролируются транзакциями (как локальными, так и глобальными). Тупой рестарт после потери питания я описал выше, а восстановление очереди с сообщениями гарантирует линейное логирование и забота о том что нужные транзакционные логи не пропали (собственно ровно как и с Oracle RDBMS). Да, для этого нужен администратор MQ. Но если нет администратора того или иного ПО, то это значит информация, контролируемая этим ПО, бизнесу не нужна.
5 авг 20, 14:17    [22177987]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
witte
Member

Откуда:
Сообщений: 431
Nick-name
Поясню, свой странный вопрос, я впервые с толкнулся с серверами очередей, пример использования был на примере сбора заявок(сообщений) в очередь с последующей их обработкой.
Вот чего я не понял, в чем преимущество перед тем, как если бы я просто писал эти заявки в базу а потом читал?

Наверно просто пример не очень хороший привели.

Вы, скорее всего, судите с точки зрения своего окопа, т.е. конкретной БД конкретной системы. MQ нужны для интеграции систем в довольно большом бизнесе (банки из первой 20-ки, например).
По преимуществам:
- не обязательно знать откуда приходит сообщение
- обработка асинхронная
- заливка и обработка могут быть разнесены по времени
- нагрузка на обрабатывающую систему может быть сглажена
- не нужно гадать откуда придёт сообщение с точки зрения сети
- работа не только в топологии точка-точка, но и в топологии publish-subscribe
- интеграция систем, написанных на разных платформах и языках (например можно интегрировать систему написанную на Коболе на мэйнфрейме черти когда с современными системами со всеми плюшками правильного перевода кодовых страниц и т.п.)
Это то что сходу в голову приходит.
Ну и в зависимости от выбранного ПО есть свои решения по DR и HA.
5 авг 20, 14:28    [22177994]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394
Время от времени в тематических разделах появляются люди с вопросом "как сделать очередь в БД". Внезапно в процессе реализации своих идей у них обнаруживается столько геморроя, что наиболее эффективным ответом уже давно стал "не надо делать очереди в БД". Потому что БД - для хранения данных. А если нужна очередь - так и ступай к очереди.
5 авг 20, 14:34    [22178002]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
А в чем проблема с очередями в БД ?

https://docs.oracle.com/cd/E18283_01/appdev.112/e16760/d_aq.htm
5 авг 20, 15:04    [22178039]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
witte
Member

Откуда:
Сообщений: 431
Андрей Юниор

Непонятно, причём тут триггеры и другие обработки? Вставка в MQ - это добавить сообщение и больше ничего - или что ещё происходит?

На локальную очередь в MQ тоже триггер можно повесить. Например при достижении определённой глубины очереди запустить сервер, который эти сообщения начнёт обрабатывать. И MQ умеет контролировать состояние серверов: например запускать их вместе со стартом Queue Manager если нужно и следить за состоянием (есть такой pid или нет).
5 авг 20, 16:23    [22178090]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
witte, по поводу MQ. Вы взяли коммерческий дорогой вариант очереди который не все форумские
читатели себе позволяют. Если вы со мной не согласны - мы сделаем голосование по
MQ-системам и решим какую долю IBM-MQ занимает от общего числа инсталляций.
5 авг 20, 18:56    [22178169]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
witte

Если сообщение попадает в очередь, помеченную как персистентная или на сообщении явно выставить свойство персистентности, то оно попадает в транзакционный лог и при рестарте, если был коммит, будет восстановлено автоматически. Это ничем не отличается от рестарта того же Oracle RDBMS. Это работает даже на циркулярных логах в MQ, не говоря уже о линейных.

Я думаю что для вас имеет смысл посмотреть доклад Алименкова, ставший уже нетленкой.

+
5 авг 20, 18:58    [22178170]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
witte
Member

Откуда:
Сообщений: 431
mayton
witte, по поводу MQ. Вы взяли коммерческий дорогой вариант очереди который не все форумские
читатели себе позволяют. Если вы со мной не согласны - мы сделаем голосование по
MQ-системам и решим какую долю IBM-MQ занимает от общего числа инсталляций.

Стоп, какие доли рынка, какие деления на коммерческий / не коммерческий продукт? Никаких вводных на эту тему не было, не надо уводить в сторону. Ну или тогда пишите тоже с конкретикой: продукт Х - жалкое поделие, так как теряет персистентные сообщения. Ваше исходное сообщение к конкретно какому продукту относилось?

PS: Я себе слабо представляю что писатели открытых продуктов не знают как писать в транзакционные логи и не умеют восстанавливать очередь накатом из бэкапа. OpenMQ же вполне себе умеет не терять сообщения при должном подходе.
5 авг 20, 19:23    [22178180]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
witte
Member

Откуда:
Сообщений: 431
mayton
witte

Если сообщение попадает в очередь, помеченную как персистентная или на сообщении явно выставить свойство персистентности, то оно попадает в транзакционный лог и при рестарте, если был коммит, будет восстановлено автоматически. Это ничем не отличается от рестарта того же Oracle RDBMS. Это работает даже на циркулярных логах в MQ, не говоря уже о линейных.

Я думаю что для вас имеет смысл посмотреть доклад Алименкова, ставший уже нетленкой.

+

Что там, тезисно, и какие противоречия Вы нашли с тем что было процитировано, а то тратить час своего времени как-то лень (я java занимаюсь очень факультативно)

PS: MQ - не тождественно JMS.
5 авг 20, 19:33    [22178184]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
witte
mayton
witte, по поводу MQ. Вы взяли коммерческий дорогой вариант очереди который не все форумские
читатели себе позволяют. Если вы со мной не согласны - мы сделаем голосование по
MQ-системам и решим какую долю IBM-MQ занимает от общего числа инсталляций.

Стоп, какие доли рынка, какие деления на коммерческий / не коммерческий продукт? Никаких вводных на эту тему не было, не надо уводить в сторону. Ну или тогда пишите тоже с конкретикой: продукт Х - жалкое поделие, так как теряет персистентные сообщения. Ваше исходное сообщение к конкретно какому продукту относилось?

PS: Я себе слабо представляю что писатели открытых продуктов не знают как писать в транзакционные логи и не умеют восстанавливать очередь накатом из бэкапа. OpenMQ же вполне себе умеет не терять сообщения при должном подходе.

Я предлагаю - голосование.

Вы вышли с тезисом что IBM-MQ покрывает все задачи. Я утверждаю что это не так. IBM-MQ это нишевый продукт.
Его ставят - только те кто уже плотно сидит на игле IBM-лицензий. Перформанс его - тоже под вопросом.
Месседжи он - тоже теряет.
5 авг 20, 20:06    [22178192]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
witte
mayton
пропущено...

Я думаю что для вас имеет смысл посмотреть доклад Алименкова, ставший уже нетленкой.

+

Что там, тезисно, и какие противоречия Вы нашли с тем что было процитировано, а то тратить час своего времени как-то лень (я java занимаюсь очень факультативно)

PS: MQ - не тождественно JMS.

Не буду тезисно. Смотрите. Соглашайтесь или не соглашайтесь. Но я не буду пересказывать.
5 авг 20, 20:07    [22178193]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
witte
Member

Откуда:
Сообщений: 431
mayton

Я предлагаю - голосование.

Вы уже второй раз пытаетесь увести тему в сторону через голосование. У Вас своих тезисов нет для оппонирования?
mayton
Вы вышли с тезисом что IBM-MQ покрывает все задачи.

Нет, я вышел с абсолютно другим тезисом: на примере IBM MQ я опровергнул Ваши высказывания. Вместо него мог стоять и другой продукт, не суть важно.
mayton
Я утверждаю что это не так. IBM-MQ это нишевый продукт.
Его ставят - только те кто уже плотно сидит на игле IBM-лицензий.

IBM MQ - это message-orienetd middleware? Да. Тогда при чём здесь какая-то притянутая нишевость?
Меня абсолютно не волнует его market share. Если Вас это интересует - голосуйте, но это абсолютно не аргумент.
mayton
Перформанс его - тоже под вопросом.
Месседжи он - тоже теряет.

Вы с ним вообще работали в высоко нагруженных системах? Где?
Я Вам открою страшную тайну: перформанс того же Oracle RDBMS тоже под вопросом. И транзакции он тоже умеет терять. Для того чтобы вопросов не было надо всего лишь планировать (DR/HA в том числе), подписывать соответствующий SLA, с учётом того сколько денег дали, иметь адекватную архитектуру, уметь использовать (программировать в том числе) и поддерживать/мониторить.

Ещё раз повторю вопрос по существу: на основании какого продукта были сделаны выводы, описанные в Вашем первом посте этого топика?
5 авг 20, 20:34    [22178200]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
witte

Нет, я вышел с абсолютно другим тезисом: на примере IBM MQ я опровергнул Ваши высказывания. Вместо него мог стоять и другой продукт, не суть важно.

Я еще раз повторю медленно. Большинство систем класса MQ (message-queues). В дефолтной
конфигурации. Имеют свойство терять сообщения. Это я видел на своём опыте. Это связано
с их дефолтной конфигурацией. Их никто не переконфигурирует обычно ибо всем пофиг.
Их никто не тюнит потому что всем пофиг. И IBM-MQ обычно НЕ покумают ибо не хотят
платить лишее. Специалистов по конфигурированию Apache-Active-MQ, Rabbit-MQ
и прочее *MQ обычно мало. Очень мало. Или даже ничтожно мало.
5 авг 20, 20:40    [22178202]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
witte
Member

Откуда:
Сообщений: 431
mayton
witte

Нет, я вышел с абсолютно другим тезисом: на примере IBM MQ я опровергнул Ваши высказывания. Вместо него мог стоять и другой продукт, не суть важно.

Я еще раз повторю медленно. Большинство систем класса MQ (message-queues). В дефолтной
конфигурации. Имеют свойство терять сообщения. Это я видел на своём опыте. Это связано
с их дефолтной конфигурацией. Их никто не переконфигурирует обычно ибо всем пофиг.
Их никто не тюнит потому что всем пофиг. И IBM-MQ обычно НЕ покумают ибо не хотят
платить лишее. Специалистов по конфигурированию Apache-Active-MQ, Rabbit-MQ
и прочее *MQ обычно мало. Очень мало. Или даже ничтожно мало.

Ну так бы и сказали: на моих проектах всем было пофиг на данные. Это короче и абстрактный MQ здесь не причём.
Дожили, оказывается поставить свойство персистентности на очереди или явно указать на сообщении - это теперь ракетная наука. Вопрос о DR/HA пока оставим за скобками.
Это говорит только о качестве специалистов и не более. Ну или о специфике Ваших проектов, мне сложно судить.
На моих проектах таких проблем не возникало. Ибо стоимость потерянного сообщения была высока и было не пофиг. И администраторы тоже находились.

Ну так и что там с Вашим опытом IBM MQ? Откуда тезисы про проблемы с производительностью и потерей персистентных сообщений? Я не защищаю именно этот продукт, мне просто интересно.
5 авг 20, 21:03    [22178209]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
witte
mayton
пропущено...

Я еще раз повторю медленно. Большинство систем класса MQ (message-queues). В дефолтной
конфигурации. Имеют свойство терять сообщения. Это я видел на своём опыте. Это связано
с их дефолтной конфигурацией. Их никто не переконфигурирует обычно ибо всем пофиг.
Их никто не тюнит потому что всем пофиг. И IBM-MQ обычно НЕ покумают ибо не хотят
платить лишее. Специалистов по конфигурированию Apache-Active-MQ, Rabbit-MQ
и прочее *MQ обычно мало. Очень мало. Или даже ничтожно мало.

Ну так бы и сказали: на моих проектах всем было пофиг на данные. Это короче и абстрактный MQ здесь не причём.
Дожили, оказывается поставить свойство персистентности на очереди или явно указать на сообщении - это теперь ракетная наука. Вопрос о DR/HA пока оставим за скобками.
Это говорит только о качестве специалистов и не более. Ну или о специфике Ваших проектов, мне сложно судить.
На моих проектах таких проблем не возникало. Ибо стоимость потерянного сообщения была высока и было не пофиг. И администраторы тоже находились.

Ну так и что там с Вашим опытом IBM MQ? Откуда тезисы про проблемы с производительностью и потерей персистентных сообщений? Я не защищаю именно этот продукт, мне просто интересно.

Голосуем? Я не утверждаю что мой опыт репрезентативен. Я просто говорю то что видел.
5 авг 20, 21:28    [22178214]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
witte
Member

Откуда:
Сообщений: 431
mayton
witte
пропущено...

Ну так бы и сказали: на моих проектах всем было пофиг на данные. Это короче и абстрактный MQ здесь не причём.
Дожили, оказывается поставить свойство персистентности на очереди или явно указать на сообщении - это теперь ракетная наука. Вопрос о DR/HA пока оставим за скобками.
Это говорит только о качестве специалистов и не более. Ну или о специфике Ваших проектов, мне сложно судить.
На моих проектах таких проблем не возникало. Ибо стоимость потерянного сообщения была высока и было не пофиг. И администраторы тоже находились.

Ну так и что там с Вашим опытом IBM MQ? Откуда тезисы про проблемы с производительностью и потерей персистентных сообщений? Я не защищаю именно этот продукт, мне просто интересно.

Голосуем? Я не утверждаю что мой опыт репрезентативен. Я просто говорю то что видел.

За что голосуем? За то что если на данные пофиг, то вопрос их потери - это только вопрос времени и применяемый инструмент тут уже и не важен? Да, я согласен с этим тезисом.
5 авг 20, 21:33    [22178217]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Anti_Hacker
Member

Откуда: Латвия, Рига
Сообщений: 287
Все очень просто, мир девелопмента ушел в микросервисную архитектуру. Если к примеру пришел новый заказ, Sales система делает делает сообщение и вбрасывает что мол заказан создант и что система со своей задачей справилась. В тоже время к примеру есть два подписщика на это сообщение: Invoice система и Notification система. Один модуль создаст накладную, другой отправить сообщение клиенту (мейд/смс) и так далее.. У каждого микросервиса как правило своя база.
6 авг 20, 08:00    [22178288]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Anti_Hacker
Все очень просто, мир девелопмента ушел в микросервисную архитектуру.

Каждый кулик считает своё болото миром девелопмента...
6 авг 20, 09:35    [22178324]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394
witte
Ну так бы и сказали: на моих проектах всем было пофиг на данные. Это короче и абстрактный MQ здесь не причём.

Вообще-то при чём. В очередях нет данных. Они для запросов.

И вот, кстати, очередной пациент с очередью в БД: https://www.sql.ru/forum/1328055/optimizaciya-parallelnoy-vyborki
Идите, расскажите ему как это делается правильно.
6 авг 20, 14:12    [22178583]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
witte
Member

Откуда:
Сообщений: 431
Dimitry Sibiryakov
witte
Ну так бы и сказали: на моих проектах всем было пофиг на данные. Это короче и абстрактный MQ здесь не причём.

Вообще-то при чём. В очередях нет данных. Они для запросов.

О как, а application data и доп. свойства в сообщении тогда это что? Не данные, которые на другом конце будут обработаны?
6 авг 20, 14:34    [22178609]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394
witte
а application data и доп. свойства в сообщении тогда это что?

Мусор, который не жалко потерять.
7 авг 20, 14:08    [22179153]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
witte
Member

Откуда:
Сообщений: 431
Dimitry Sibiryakov
witte
а application data и доп. свойства в сообщении тогда это что?

Мусор, который не жалко потерять.

Банк, отсылающий в очередь заявку на одобрение кредита в скоринговую систему и ожидающий ответа, почему-то думает совсем иначе. А так-то да, во всяких SWIFT-ах вообще модно чатики из мусорных сообщений устраивать. А персистентность сообщений вообще трусы придумали.

mayton,
Оказывается Ваш опыт вполне репрезентативен. Вот ещё один пример.

Сообщение было отредактировано: 7 авг 20, 14:39
7 авг 20, 14:39    [22179180]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394
witte
Банк, отсылающий в очередь заявку на одобрение кредита в скоринговую систему и ожидающий ответа, почему-то думает совсем иначе.

Они просто оптимисты. Если нужна надёжность, то данные в БД - отдельно, заявка на их обработку в очереди - отдельно.
8 авг 20, 13:54    [22179540]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
hVostt
Member

Откуда:
Сообщений: 19317
Забыли, что очереди это не только СУБД, это ещё и логика.

На сообщение, помещённое в очередь может в итоге быть запись/изменение в нескольких СУБД, в нескольких совершенно разных приложений, и выполнение определённой логики.

Как-то странно в этом ключе вообще обсуждать Очередь vs СУБД.

Я предлагаю на этой волне обсудить что лучше = круглое или зелёное.
Аргументы в студию!
8 авг 20, 15:42    [22179568]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
tchingiz
Member

Откуда:
Сообщений: 39027
hVostt


Я предлагаю на этой волне обсудить что лучше = круглое или зелёное.
Аргументы в студию!

8 авг 20, 23:24    [22179687]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
witte
Member

Откуда:
Сообщений: 431
Dimitry Sibiryakov
witte
Банк, отсылающий в очередь заявку на одобрение кредита в скоринговую систему и ожидающий ответа, почему-то думает совсем иначе.

Они просто оптимисты. Если нужна надёжность, то данные в БД - отдельно, заявка на их обработку в очереди - отдельно.

Ну и почему же персистентное сообщение в очереди MQ - это ненадёжно? На примере того же запроса на обработку в скоринговой системе, пожалуйста. А то как-то голословно.
9 авг 20, 12:13    [22179771]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
kolobok0
Member

Откуда:
Сообщений: 2180
Anti_Hacker
...микросервисную архитектуру. Если к примеру ....


я бы сказал немного по другому.
имхо = MQ подход (не скажу что появился, хотя по ощущениям это так) очень хорошо решает задачи для микросервисной архитектуры. И да, она более продвинутая чем монолитная КС система. Заковыка как правило начинается там, где программисты которые вчера тужились писать серваки - пытаются писать микросервисы.

(круглый)
ЗЫ
Не факт что бд в каждом микросервисе - это не тот же самый монолит :) с точки зрения фукнциональной разбивки это уже монолит...
9 авг 20, 12:16    [22179772]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
kolobok0
Member

Откуда:
Сообщений: 2180
witte
...почему же персистентное сообщение в очереди MQ - это ненадёжно?....


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


(круглый)
9 авг 20, 12:18    [22179773]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
witte
Member

Откуда:
Сообщений: 431
kolobok0
witte
...почему же персистентное сообщение в очереди MQ - это ненадёжно?....


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

Вопрос был не о том для чего очереди а именно о надёжности. Может MQ обеспечить восстановление очереди и сообщение после media failure или нет? Может MQ обеспечить гарантированную доставку сообщения или нет?
А то коллега утверждает что в банках сплошные оптимисты работают.
9 авг 20, 12:37    [22179778]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394
witte
А то коллега утверждает что в банках сплошные оптимисты работают.

А вы таки утверждаете, что банки готовы увидеть ответ на заявку в скоринговую систему, пришедший через пару суток после его отправки, поскольку сервер очереди внезапно упал и его всё это время подымали с восстановлением этой самой очереди?..
9 авг 20, 14:07    [22179798]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
hVostt
Member

Откуда:
Сообщений: 19317
witte
Может MQ обеспечить гарантированную доставку сообщения или нет?


Если бы не могли, нафиг бы такие очереди не упёрлись и никто бы их не использовал.
Странные вообще вопросы. Про какие конкретно MQ речь.
9 авг 20, 21:45    [22179900]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
bukinator
Member

Откуда:
Сообщений: 45
Опять флуд развели на несколько страниц, обсуждают одно, а вопрос был про другое. Никто не спрашивал про надежность хранения данных в очередях, спросили элементарный вопрос, который я перефразирую оот аффтара еще раз (и от нескольких других человек с первой страницы):

зачем использовать очереди (MQ) и передавать туда данные для последующего чтения обработчиками, когда можно сохранять НЕОБРАБОТАННЫЕ (в виде простого JSON) данные в СУБД, а дальше в тех же обработчиках запускать джобы, которыми читать эти данные абсолютно по ТОЙ ЖЕ АНАЛОГИИ, как это происходит с очередями?

А то вспомнили и про триггеры в БД, и про надежность хранения, и еще про что-то, а на вопрос по сути было только 2 противоречивых ответа:

1) очередь якобы нужна:
автор
Для задач, выстроенных на очередях, СУБД имеет миллиард лишней функциональности, которая в этом случае с одной стороны не используется, а с другой - мешает и тормозит процесс.


2)очередь якобы не нужна:
автор
очередии нужны очень редко
в 99 процентов случаем можно вставлять в БД и потом запускать джобу для асинхронной обработки вставленных данных


так в итоге "нужна" или "не нужна" и легко заменяется табличкой в СУБД? Если второе, то почему очереди пихают вообще везде?
17 май 21, 13:20    [22323061]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53394
Я могу перефразировать этот вопрос ещё короче: "зачем использовать готовые очереди, если их можно реализовать самому в СУБД". Так ответ становится ещё более очевидным.
17 май 21, 13:44    [22323071]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
bukinator
Member

Откуда:
Сообщений: 45
автор
Я могу перефразировать этот вопрос ещё короче: "зачем использовать готовые очереди, если их можно реализовать самому в СУБД". Так ответ становится ещё более очевидным.

Я понял, что вы намекаете, что готовый MQ якобы проще использовать. Но вот мне ( я думаю, что еще куче других людей) кажется все наоборот, что гораздо проще развернуть SQL-сервер c 1 табличкой и из паблишеров записывать данные туда, а из джобов консумеров читать оттуда (казалось бы, что может быть проще)?
17 май 21, 13:49    [22323077]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
bukinator
автор
Я могу перефразировать этот вопрос ещё короче: "зачем использовать готовые очереди, если их можно реализовать самому в СУБД". Так ответ становится ещё более очевидным.

Я понял, что вы намекаете, что готовый MQ якобы проще использовать. Но вот мне ( я думаю, что еще куче других людей) кажется все наоборот, что гораздо проще развернуть SQL-сервер c 1 табличкой и из паблишеров записывать данные туда, а из джобов консумеров читать оттуда (казалось бы, что может быть проще)?

А вдруг 2 раза прочитаешь то что уже записано? Контракт очередей такое не предусматривает. А SELECT в БД - позволяет.
17 май 21, 13:56    [22323085]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Dima T
Member

Откуда:
Сообщений: 15795
bukinator
так в итоге "нужна" или "не нужна" и легко заменяется табличкой в СУБД? Если второе, то почему очереди пихают вообще везде?

Все определяется производительностью: очереди быстрее работают и легче масштабируются.
17 май 21, 14:12    [22323093]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
bukinator
Member

Откуда:
Сообщений: 45
автор
. А SELECT в БД - позволяет.


Begin transaction
Select
Delete
Commit
17 май 21, 14:28    [22323104]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
bukinator
автор
. А SELECT в БД - позволяет.


Begin transaction
Select
Delete
Commit

Ты серъезно считаешь что это выгодно и дешево?

Сообщение было отредактировано: 17 май 21, 14:28
17 май 21, 14:36    [22323107]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
booby
Member

Откуда:
Сообщений: 2534
mayton
bukinator
пропущено...


Begin transaction
Select
Delete
Commit

Ты серъезно считаешь что это выгодно и дешево?


В любом случае нечто подобное, независимо от того, дорого это или ненадёжно, медленно на диске или расточительно в памяти, будет происходить.

Весь вопрос в том, как обеспечить "select" единственному котролирующему удаление читателю так, что бы не просто другой
удалятель не прочитал, а ещё и не простаивали невычитанными соседние сообщения, предназначенные другому читателю.
Вот почти и всё.
17 май 21, 14:50    [22323118]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
И чтобы он не завис в сети, потеряв commit.
17 май 21, 15:01    [22323125]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
booby
Member

Откуда:
Сообщений: 2534
mayton
И чтобы он не завис в сети, потеряв commit.


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

Сообщение было отредактировано: 17 май 21, 15:07
17 май 21, 15:15    [22323134]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
Или зачем нам Оракле когда есть LevelDb.
17 май 21, 15:47    [22323154]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
xerxf
Member

Откуда:
Сообщений: 261
bukinator
Если второе, то почему очереди пихают вообще везде?

мода - страшное дело.. Как начнётся на какой нибудь подход мода- так его и начинают пихать везде. где надо и не надо.
Я помню одно время было модно наглухо закрывать доступы к таблицам и весь доступ к данным делать только через хранимки. и такие же холивары были с объяснением того, что так не делают только те, кто застрял в каменном веке.. А сейчас мода, что любая логика в БД это фу фу, жуткий легаси и нормальные люди так не делают. и другие подходы пролетели и закончились. наверняка так и очереди с микросервисами пройдут и остануться там, где это реально оправдано. ну, или в жутком легаси, на который нормальным программистам и смотреть то западло :-)
17 май 21, 20:08    [22323311]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
xerxf
Member

Откуда:
Сообщений: 261
bukinator
автор
Я могу перефразировать этот вопрос ещё короче: "зачем использовать готовые очереди, если их можно реализовать самому в СУБД". Так ответ становится ещё более очевидным.

Я понял, что вы намекаете, что готовый MQ якобы проще использовать. Но вот мне ( я думаю, что еще куче других людей) кажется все наоборот, что гораздо проще развернуть SQL-сервер c 1 табличкой и из паблишеров записывать данные туда, а из джобов консумеров читать оттуда (казалось бы, что может быть проще)?

А вот так делать точно не надо. паблишеры и консьюмеры это классическая задачка на использование очередей. смысл изобретать велосипед?
17 май 21, 20:10    [22323313]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
bantik
Member

Откуда:
Сообщений: 501
Nick-name
Поясню, свой странный вопрос, я впервые с толкнулся с серверами очередей, пример использования был на примере сбора заявок(сообщений) в очередь с последующей их обработкой.
Вот чего я не понял, в чем преимущество перед тем, как если бы я просто писал эти заявки в базу а потом читал?

Наверно просто пример не очень хороший привели.


Ну как минимум в горизонтальной масштабируемости. Допустим ваши сервисы льют друг другу через Kafka события, даже еще допустим в парадигме Event-Carried State Transfer - т.е. по факту у вас чуть не в двойном-тройном размере вся база будет в оперативке. Ну и смысл скажете - что мешало положить все сущности в бД и транзачить их SQL update ... Вот как раз тем - что даже супер-пупер компьютер - это всего 256 ядер.. а количество нод в узлах Kafka, да еще с кучей реплик топика - может быть бесконечно.. и добавлять можно мягко, по мере развития бизнеса
18 май 21, 00:25    [22323391]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
bukinator
Member

Откуда:
Сообщений: 45
автор
Begin transaction
Select
Delete
Commit

автор
Ты серъезно считаешь что это выгодно и дешево?

Ну, я на низком уровне не шарю, как работает код СУБД, но я как бы знаю, что транзакции замедляют запросы, т.к., во-первых, заблокирует чтение первого селекта второй транзакций до окончания первой транзакции (если вторая транзакция вообще еще пойдет в тот же момент), а во-вторых, транзакции тратят время на запись в лог транзакций, но неужели они прямо таки НАСТОЛЬКО это все замедляют, что это вмиг становится невыгодно и дорого?
18 май 21, 13:16    [22323564]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
bukinator,

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

Как результат, программист делает убогую однопотоковую реализацию недо-очереди на СУБД, а ругаем транзакции и базы данных за якобы "медленность".

IMHO
18 май 21, 13:29    [22323578]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
softwarer
Member

Откуда: 127.0.0.1
Сообщений: 65894
Блог
Leonid Kudryavtsev
Замедляют не транзакции, а программисты

Транзакции тоже замедляют. Их поддержка имеет свою цену, и немалую.

Другой вопрос, что в типичной ситуации "1% тормозов от транзакций, 99% - от программиста" типичный программист борется с транзакциями.
18 май 21, 13:46    [22323596]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
mayton
Member

Откуда: loopback
Сообщений: 51389
bukinator
автор
Begin transaction
Select
Delete
Commit

автор
Ты серъезно считаешь что это выгодно и дешево?

Ну, я на низком уровне не шарю, как работает код СУБД, но я как бы знаю, что транзакции замедляют запросы, т.к., во-первых, заблокирует чтение первого селекта второй транзакций до окончания первой транзакции (если вторая транзакция вообще еще пойдет в тот же момент), а во-вторых, транзакции тратят время на запись в лог транзакций, но неужели они прямо таки НАСТОЛЬКО это все замедляют, что это вмиг становится невыгодно и дорого?

Была статья Стоунбрейкера где он потратил немало человеко-часов на анализ куда сгорают мега-флопы в реляционных
БД и ... узнал что на 30% на поддержку механики блокировок и версий. После этого старик тронулся рассудком.
Проклял свои разработки и впал в тоску и печаль. Одел хитон и ходил с посохом и рассказывал что надо разделять
OLAP и хранилища на разные системы и тому подобное.
18 май 21, 16:59    [22323733]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
booby
Member

Откуда:
Сообщений: 2534
mayton,

по крайней мере, он не утопился, как другой человек, внезапно осознавший,
что multiversion concurrency control, это рабочая модель, а не техническая ошибка.
18 май 21, 18:11    [22323773]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Dima T
Member

Откуда:
Сообщений: 15795
bukinator
автор
Begin transaction
Select
Delete
Commit

автор
Ты серъезно считаешь что это выгодно и дешево?

Ну, я на низком уровне не шарю, как работает код СУБД, но я как бы знаю, что транзакции замедляют запросы, т.к., во-первых, заблокирует чтение первого селекта второй транзакций до окончания первой транзакции (если вторая транзакция вообще еще пойдет в тот же момент), а во-вторых, транзакции тратят время на запись в лог транзакций, но неужели они прямо таки НАСТОЛЬКО это все замедляют, что это вмиг становится невыгодно и дорого?

Допустим медленнее в 5 раз это тормоз или нет? Если у тебя используется 1% доступной производительности, то 5% тоже не тормоз, но если ты нагрузил на 30%, то у тебя уже нет 150%, а только 100%, будет тупить.

Вобщем ты можешь купить железяку помощнее, сеть сделать побыстрее, т.е. вложить бабла, а можешь сменить алгоритм.
18 май 21, 21:07    [22323836]     Ответить | Цитировать Сообщить модератору
 Re: Поясните, в чем преимущество серверов очередей перед базой данных  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9651
mayton

...
Была статья Стоунбрейкера где он потратил немало человеко-часов на анализ куда сгорают мега-флопы в реляционных
БД и ... узнал что на 30% на поддержку механики блокировок и версий. После этого старик тронулся рассудком.
Проклял свои разработки и впал в тоску и печаль. Одел хитон и ходил с посохом и рассказывал что надо разделять
OLAP и хранилища на разные системы и тому подобное.

1. Какие блокировки и версии в OLAP системах?
2. Подозреваю, в большинстве систем мега-флопы сгорают на сортировках. На ORDER BY'ах. Блокировки и версии стоят в сторонке и завидуют.
19 май 21, 14:21    [22324175]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3      [все]
Все форумы / Вопрос-Ответ Ответить