@dba_ru

Страница 422 из 718
Pavel
16.02.2018
16:20:39
Я для себя понял, что происходит примерно следующее 1. begin 1 (!пох) 2. begin 2 (!пох) 3. select for update 1 (!ничерта не нашли пофиг) 4. select for update 2 (не блокируется предыдущим ) (!ничертане нашли пофиг) 5. insert 1 - встает в очередь за "select for update 2" (Пункт 4 в смятении, ибо тут приезжает какая-то новая бабуйня) 6. insert 2 deadlock из-за "select for update 1" (Содом и Гомора)

Кто знаком поближе с мускулем, поправте

Google
lost
16.02.2018
16:28:23
Кто знаком поближе с мускулем, поправте
без вывода innodb это гадание на кофейной гуще

Pavel
16.02.2018
16:29:35
А не, я переосмыслил, если эта фигня базируется на индексах, а в условии нет подходящего, тогда она наверно возьмет дефалтовый кластерный индекс и залочит всю таблицу, не?

Артур Евгеньевич
16.02.2018
16:29:58
Есть 100 одновременных событий. При обработке каждого из событий, мы смотрем есть и запись о пользователе в определенной таблице - (если нет, то добавляем) после чего, в другую таблицу добавляем связанные данные, где запись из предыдущей будет внешним ключём. Сейчас возникает дедлок из за того что при попытке вытащить запись о пользователе в таблице, мы запрашиваем запись с несуществующеим ключом и из за этого блокируется табилца на вставку

Ilia
16.02.2018
16:30:33
Ну тогда ничего оно не дожно блокировать. PK/FK есть ?

Только они могут Insert блокировать

Артур Евгеньевич
16.02.2018
16:31:04
сейчас два варианта или через retry хуярить или откатывать транзакцию после неудачной попытки селекта

Ilia
16.02.2018
16:31:06
И то только если UPDATE меняет ключи.

Артур Евгеньевич
16.02.2018
16:31:22
Я что ради этой херни буду этот долбаный MySQL ставить? НЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕЕ
как то я тебе не очень доверяю после этого сообщения))

Google
Pavel
16.02.2018
16:35:07
Индекс под твое условие есть?

Артур Евгеньевич
16.02.2018
16:38:43
primary key

Pavel
16.02.2018
16:38:56
если ты не нашел строк, что ты будешь блокировать?
1. Если нашел индекс, то залочу промежуток до - после, что бы не возникто фантомных записей. 2. Если не нашел, то единственный верный путь залочить кластер.

Al
16.02.2018
16:39:09
такая зхуйня примерно и происходит вопрос как это наиболее элегантно победить
я так понимаю что словарнывй запас ограничен. но ты попробуй напрягись и пиши без мата. у тебя должно получится

Артур Евгеньевич
16.02.2018
16:39:58
я так понимаю что словарнывй запас ограничен. но ты попробуй напрягись и пиши без мата. у тебя должно получится
я так понимаю у тебя у ма хватает лишь на подколкки уровня детского сада, и когда в одном месте печет высказаться хочется а сказать по факту нечего?

lost
16.02.2018
16:44:35
даже если ты не найдешь ничего

Артур Евгеньевич
16.02.2018
16:44:59
если условие не индексировано - будет лок всей таблицы... груздь
у меня не вся таблица лочится a gap lock происходит

lost
16.02.2018
16:45:13
надо же, какие ты слова знаешь...

Артур Евгеньевич
16.02.2018
16:45:17
но егохватате чтобы я не мог вставить так как вставляю определенный id

Pavel
16.02.2018
16:45:20
Гап лок по пк

lost
16.02.2018
16:45:52
какой гап лок по унику, алло

будет заблокирована только 1 запись, это же уник

Артур Евгеньевич
16.02.2018
16:47:32
lost
16.02.2018
16:47:51
меня волнует сейчас лишь вопрос формулировки

это не gap lock

Al
16.02.2018
16:49:17
это не gap lock
ты вот даже не дал ребенку слово красивое попользовать

имхо но ссуть тут в том что приложение спроектировано не правильно.

Google
lost
16.02.2018
16:50:02
старался...

Al
16.02.2018
16:50:31
заместо того что бы создать очередь и разруливать накладки на уровне приложения, товарищ пхает все подряд в базу и надеется что оно там как то само рассосется

Артур Евгеньевич
16.02.2018
16:51:40
ты вот даже не дал ребенку слово красивое попользовать
Если у тебя комплексы детские какие-то, то ты пойми что я в этом не виноват, ок?

Pavel
16.02.2018
16:55:45
Ну так-то AI прав, очередь тебя спасет

Ну либо мирись с фулл локом таблицы

Артур Евгеньевич
16.02.2018
16:56:50
Ну так-то AI прав, очередь тебя спасет
очередь чего, конкретно? фотки и так добавляются из очереди, проблема в том что они параллельно это делают, и в случае если это новая фотка, возникает то что ты описал

Pavel
16.02.2018
16:56:52
Я мускуль в окно соседа видел, может есть решения, но я их не знаю

Артур Евгеньевич
16.02.2018
16:58:04
что мешает сделать insert ignore ?)
сейчас это 1 из двух рабочих вариантов

Al
16.02.2018
16:58:38
добавляются из очереди ПАРАЛЕЛЬНО.. новое слово в технологиях

Артур Евгеньевич
16.02.2018
16:58:49
вообще как мне объяснили ошибка эта возникла, т.к 5 лет назад не подразумевалась возможность параллелльного добавления фоток

lost
16.02.2018
16:59:13
а ты взял и всё сломал?)

Артур Евгеньевич
16.02.2018
16:59:52
а ты взял и всё сломал?)
не, давно ошибка висит уже, там небольшой процент фоток с дедлоками падает меньше 0.1

Pavel
16.02.2018
17:01:17
А зачем это все было сделано?)

Al
16.02.2018
17:03:10
А зачем это все было сделано?)
наверное не понравилось что уже 5 лет работает без проблем

Артур Евгеньевич
16.02.2018
17:04:02
всмысле зачем)) бизнесс задача) При добавлении фоток пользователь становится участником сервиса одного. Раньше фотки в ручную добавлялись, а сейчас они проходят авто модерацию, и может например 100 фоток сразу добавиться) вот и дедлоки возникли

Al
16.02.2018
17:04:18
дурная голова - рукам/ногам покоя не дает (С) старый пословица

Артур Евгеньевич
16.02.2018
17:05:07
Al
16.02.2018
17:08:04
в общем предлагаю задачу интереснее. эта какая то скучная. будем придумывать оптимальный алгоритм класификации.

lost
16.02.2018
17:08:46
@AlexCAD я так понимаю ты там с попкорном засидаешь

Google
Al
16.02.2018
17:09:38
@AlexCAD я так понимаю ты там с попкорном засидаешь
мне жена с утра камин затопила в кабинете. сижу вот вытянул лапти к камину. с уноутом на коленях. думаю

Vladislav
16.02.2018
17:12:17
Некто c bel собрал игровой 3D движок в табличках Excel. В описании видео есть ссылки на нужные файлы, чтобы самостоятельно походить по лабиринту в офисных таблицах. Возвращение рубрики "Больной ублюдок, как ты это сделал?!" https://youtu.be/iCeOEQVUWZ0

lost
16.02.2018
17:13:10
норкоманы чёртовы не знаю

Al
16.02.2018
17:14:37
неожидано

Артур Евгеньевич
16.02.2018
17:14:48
Не я к тому что зачем паралель? Пакетом забрасывать не веселей?
А как пакет сформировать? Сейчас есть очередь в которую для всех юзеров пушится события добавления фоток для всех юзеров, то есть может импорт из одноклассников например 100 пользователей сразу запустить и по 500 фоток и там в разном порядке добавляться. Думаю нет возомжности с агрегировать никак

Al
16.02.2018
19:10:22
а ну вот значит, сформулировал задачу. есть набор признаков, каждый законченный набор имеет свой маркер. при этом отдельный элемент из набора может принадлежать одновременно куче маркеров. задача выяснить к какому маркеру будет относится набор имея возможность посчитать к каким маркерам принадлежит каждый элемент

решение в лоб, пересчитать статистически общую сумму маркеров от каждого элемента не принесло результата

в смысле результат настолько замысловатый что я сам окосел

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

в общем если у кого есть идеи, то типа велком

Ilia
16.02.2018
20:48:16
Янифиганипонял ...

Anton
16.02.2018
20:50:36
о, не я один такой))))

Ilia
16.02.2018
20:51:20
Нас много, просто не все такие честные, как мы с тобой.

Vasiliy
16.02.2018
21:07:33
В дерево уложить?

Al
16.02.2018
21:11:45
Нас много, просто не все такие честные, как мы с тобой.
ок пробую обьяснить еще раз. на примерах вот у тебя есть ряд овощей на каждом лежит куча признаков и маркер с названием овоща теперь у тебя есть новый овощ и ты хочешь узнать как он называется, в качестве референса у тебя есть куча признаков.

так понятнее?

Ilia
16.02.2018
21:12:44
Не не надо на примерах...

Al
16.02.2018
21:14:29
то есть если просто взять и посчитать признаки и соотнести с имеющими овощами то выясняется что оно ка кто все не очень сильно различается (мягко говоря)

Ilia
16.02.2018
21:15:14
Я так понял, что надо вычислять пересечения многих множеств и таким образом находить искомую группу

Google
Al
16.02.2018
21:15:40
угу

вот кстати да. нужно идентифицировать множество по количеству признаков и с ним соотносить

щас попробуем

Ilia
16.02.2018
21:17:29
По составу тоже

Нет разве?

Al
16.02.2018
21:18:46
По составу тоже
вот по составу. именно это сейчас и пытаюсь реализовать. ибо количество не прокатывает.

Anton
16.02.2018
21:19:37
если состав маркеров не сильно часто меняется, есть смысл при сохранении сортировать по селективности и сначала проверять самые селективные маркеры

Al
16.02.2018
21:20:23
ему по барабану селективность.

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

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

Ilia
16.02.2018
21:23:31
Т.е например если это белое, то это может быть белила, молоко, сливки, сметана, творог, если это жидкое, то это может быть вода, белила, молоко, сливки, если это сьедобное, то вода, молоко, совет, творог, А если все вместе, то получается молоко или сливки. Так?

Al
16.02.2018
21:23:49
примерно да

спасибо. ща добавим проверку состава и должон получится самолет

осталось придумать как это с базы запросить

Ilia
16.02.2018
21:27:13
Так получается просто пересечение множеств

N join ов...

Страница 422 из 718