powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF: Как вы делаете пакетные операции?
25 сообщений из 179, страница 3 из 8
EF: Как вы делаете пакетные операции?
    #38888153
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУhVostt, что ты там бурлишь себе под нос, транзактщионщик? Иди паси коз, и не забудь их оттестировать

МСУ ты в своём репертуаре: пук-пук-пук в лужу. И сел в лужу. Ведь ты единственный в мире знаешь, как работать с БД без транзакций
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888169
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУP.S. Хвост, купи себе уже голову
Мне — зачем?
Ну как бы без головы трудно нынче. Хотя ты прав, и так сойдёт

hVosttРасскажи-ка, как ты обходишься без транзакций людям.
А я разве без них обхожусь?

hVosttМСУ ты в своём репертуаре: пук-пук-пук в лужу. И сел в лужу. Ведь ты единственный в мире знаешь, как работать с БД без транзакций
В данном случае лужа - это твоё лицо. Да, так и есть. Пук в лужу? Ну хорошо, пускай будет так
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888170
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КПро лишние блокировки, в том числе повышающие вероятность мёртвой блокировки, выше уже написали.

Наблюдал случай, один админ самовольно решил почистить таблицу с логами. Откуда ему было знать, что MSSQL выполняет команду delete from Log where EntryDate < @d в одной транзакции. Он сначала пару часов ждал, пока оно удалится. Потом ему надоело ждать, он отменил запрос. Потом все столько же ждали, пока отменится транзакция. На всё ушло часов ~6.

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

А как выкрутились из ситуации? Забили на чистку логов?
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888173
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУА я разве без них обхожусь?

Ты только недавно говорил «АПРИОРИ ОПАСНА И ВРЕДНА», скажи, ты не осёл случайно? Упёртое тупое животное. Сам сказал «опасна и вредна» и тут же даёшь заднюю.
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888176
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttА как выкрутились из ситуации? Забили на чистку логов?очевидно, операции, затрагивающие такие большие объемы просто делаются в цикле частями. Тут целостность транзакции не нужна. Мало того, суммарно на это уйдет в разы меньше времени, так как СУБД не потребуется делать не*$*ически огромную запись в лог транзакций, а потом ее коммитить.
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888185
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУ,

И ещё скажи мне, как вот это твоё высказывание:

МСУпредставь себе ситуацию, когда ночной джоб перелопатил 29.9К сотрудников и по каким-то причинам упал

Согласуется с твоими ссылками про проблемы в многопользовательской среде, ведь как бы «ночной джоб» работает обычно с БД в одно рыло, монопольно?

Я всё жду не дождусь от тебя реальный проблемный кейс.
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888197
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProhVosttА как выкрутились из ситуации? Забили на чистку логов?очевидно, операции, затрагивающие такие большие объемы просто делаются в цикле частями. Тут целостность транзакции не нужна. Мало того, суммарно на это уйдет в разы меньше времени, так как СУБД не потребуется делать не*$*ически огромную запись в лог транзакций, а потом ее коммитить.

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

Интересны примеры с бизнес-данными. Когда же это действительно вредно.
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888261
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУА я разве без них обхожусь?

Ты только недавно говорил «АПРИОРИ ОПАСНА И ВРЕДНА», скажи, ты не осёл случайно? Упёртое тупое животное. Сам сказал «опасна и вредна» и тут же даёшь заднюю.
Ты реально дурак? Выдрал фразу из контекста и прикинулся идиотом?

МСУПлюс, на реальных массивах данных транзакционность априори вредна и опасна. Это ж тебе не пару тыщ строк обновить.

Разницу видишь между "транзакционность вредна" и "транзакционность вредна больших выборках"? Убей уже себя, глупый
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888269
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttМСУ,

И ещё скажи мне, как вот это твоё высказывание:

МСУпредставь себе ситуацию, когда ночной джоб перелопатил 29.9К сотрудников и по каким-то причинам упал

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

hVosttЯ всё жду не дождусь от тебя реальный проблемный кейс.
Ты дурак? :) Нет, честно ответь, ты идиот?
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888292
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУТы реально дурак? Выдрал фразу из контекста и прикинулся идиотом?

МСУПлюс, на реальных массивах данных транзакционность априори вредна и опасна. Это ж тебе не пару тыщ строк обновить.

Разницу видишь между "транзакционность вредна" и "транзакционность вредна больших выборках"? Убей уже себя, глупый

Реальные массивы данные === большие выборки? Ты случаем, не таджик?
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888293
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНу ты чайник, я плачу...
БД - это многопользователськая среда. Однорылый джоб - это такой же клиент из 100500 других клиентов этой БД. Если тупой джоб заюзает повышенный уровень изоляции транзакции, он может заблокировать ресурсы (дедлоки), из-за чего другие пользователи (и сервисы), работающие с залоченными таблицами будут отсасывать. Учи матчасть уже, клоун.

Ты же говорил про ночной джоб. Ладно, ты по ходу упорот, забываешь то, что сам сказал 5 минут назад. Тебе в психиатрию надо.
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888297
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУhVosttЯ всё жду не дождусь от тебя реальный проблемный кейс.
Ты дурак? :) Нет, честно ответь, ты идиот?

Я не виноват, что ты не в состоянии до сих пор привести проблемный кейс. Алексей и то с ходу привёл, хотя не совсем то, что я просил, ведь изначально обсуждалась бизнес-логика и бизнес-данные, а не чистка логов. Но тоже сойдёт.
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888352
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КПро лишние блокировки, в том числе повышающие вероятность мёртвой блокировки, выше уже написали.

Наблюдал случай, один админ самовольно решил почистить таблицу с логами. Откуда ему было знать, что MSSQL выполняет команду delete from Log where EntryDate < @d в одной транзакции. Он сначала пару часов ждал, пока оно удалится. Потом ему надоело ждать, он отменил запрос. Потом все столько же ждали, пока отменится транзакция. На всё ушло часов ~6.

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

А как выкрутились из ситуации? Забили на чистку логов?Так и делаем:hVosttПро чистки логов понятно, их надо делать серией TOP-ов

hVostt, тем более логи вообще не несут никакой полезной нагрузки, оказывающей влияние на целостность бизнес-данных. Интересны примеры с бизнес-данными. Когда же это действительно вредно.Не нужно баловаться с избыточностями, тогда бороться за целостность транзакциями не придётся. :-)
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888363
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе нужно баловаться с избыточностями, тогда бороться за целостность транзакциями не придётся. :-)необходимость транзакций порождается далеко не всегда избыточностью.
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888421
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНе нужно баловаться с избыточностями, тогда бороться за целостность транзакциями не придётся. :-)

Т.е. всё зависит от требований, задач и ситуации. «Транзакции = плохо» такое же нелепое утверждение, как и «Транзакция = хорошо».

Какие-то абстрактные «реальные массивы данных» о которых с упорством глупого прыщавого юнца вещает МСУ, для которых злые транзакции «априори опасна и вредна», это ровным счётом ни о чём.

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

Есть реальный пример, где такая ситуация недопустима в принципе — банковская система. Но почему только там ошибки не допускаются, а где-то ещё могут допускаться, особенно в рамках крупной организации. Что это за глупость такая, типа часть сотрудников «не загрузилась»? Это что вообще? Это не нормально. Либо всё, либо ничего, если сама задача не подразумевает иное (когда на первом месте стоит задача хоть что-то обработать, не обращая внимания на ошибки).

В общем, глобальные утверждения что дескать что-то там есть беспощадное зло, без контекста реальных задач , простительны лишь прыщавым студентам, у которых просто ещё нет опыта. Взрослым опытным серьёзным людям нести такую ахинею непростительно.
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888423
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProАлексей КНе нужно баловаться с избыточностями, тогда бороться за целостность транзакциями не придётся. :-)необходимость транзакций порождается далеко не всегда избыточностью.Но избыточность всегда порождает необходимость транзакций. :-)

Второй случай: сущность хранится в нескольких таблицах. Больше случаев не припомню.
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888436
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВторой случай: сущность хранится в нескольких таблицах. Больше случаев не припомню.

Так это не избыточность, это нормализация. Обычно так и получается. Если сущность хранится полностью в одной таблице, это скорее всего справочник.
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888450
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КНе нужно баловаться с избыточностями, тогда бороться за целостность транзакциями не придётся. :-)

Т.е. всё зависит от требований, задач и ситуации. «Транзакции = плохо» такое же нелепое утверждение, как и «Транзакция = хорошо».Этого никто не говорил. Говорили, что транзакции нужно делать как можно короче. МСУ даже МСДН цитировал. :-)

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

1. Избыточность.
2. Сущность хранится в нескольких таблицах.
3. Сущность хранится в нескольких записях.

hVosttЕсть реальный пример, где такая ситуация недопустима в принципе — банковская система. Но почему только там ошибки не допускаются, а где-то ещё могут допускаться, особенно в рамках крупной организации. Что это за глупость такая, типа часть сотрудников «не загрузилась»? Это что вообще? Это не нормально. Либо всё, либо ничего, если сама задача не подразумевает иное (когда на первом месте стоит задача хоть что-то обработать, не обращая внимания на ошибки).Банковская система - типичный пример избыточности на почве распределённости хранения данных. Конечно там нужны транзакции, распределённые.
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888453
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КВторой случай: сущность хранится в нескольких таблицах. Больше случаев не припомню.

Так это не избыточность, это нормализация. Обычно так и получается. Если сущность хранится полностью в одной таблице, это скорее всего справочник.А я и не называю это избыточностью. :-)
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888473
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЭтого никто не говорил. Говорили, что транзакции нужно делать как можно короче. МСУ даже МСДН цитировал. :-)

А я в свою очередь не утверждал обратного, и с этим не спорил. Нет смысла лепить транзакции там, где они не нужны, или искать другие пути решения, если на первом место стоит производительность.
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888505
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КЭтого никто не говорил. Говорили, что транзакции нужно делать как можно короче. МСУ даже МСДН цитировал. :-)

А я в свою очередь не утверждал обратного, и с этим не спорил. Нет смысла лепить транзакции там, где они не нужны, или искать другие пути решения, если на первом место стоит производительность.Однако тут ты предлагал сеанс репликации данных выполнять в одной транзакции, что не есть хорошо. :-)
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888507
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полный пипец
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888509
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КЭтого никто не говорил. Говорили, что транзакции нужно делать как можно короче. МСУ даже МСДН цитировал. :-)

А я в свою очередь не утверждал обратного, и с этим не спорил. Нет смысла лепить транзакции там, где они не нужны, или искать другие пути решения, если на первом место стоит производительность.
не сдавайся
производительность не отменяет транзакционность
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888512
ViPRos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это надо ж - можно значит без транзакций убить элемент справочника с сотней другой ссылок
...
Рейтинг: 0 / 0
EF: Как вы делаете пакетные операции?
    #38888513
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttРеальные массивы данные === большие выборки? Ты случаем, не таджик?
Реальные массивы данных - это большие хранилища, террабайты, десятки террабайт. Это тебе не 10Gb база твоего ларька по продаже сигарет.

hVosttТы же говорил про ночной джоб. Ладно, ты по ходу упорот, забываешь то, что сам сказал 5 минут назад. Тебе в психиатрию надо.
Какая разница, ночной он или дневной? Ты не допускаешь, что пользователи могут работать в разных часовых поясах?

hVosttЯ не виноват, что ты не в состоянии до сих пор привести проблемный кейс. Алексей и то с ходу привёл, хотя не совсем то, что я просил, ведь изначально обсуждалась бизнес-логика и бизнес-данные, а не чистка логов. Но тоже сойдёт.
Тебе уже 3 человека рассказали про проблемные кейсы. Я же не виноват, что ты идиот и понималка сломана. Объяснить очевидное разжевать, макнуть тебя с головой - а тебе всё мало. Крепкий орешек
...
Рейтинг: 0 / 0
25 сообщений из 179, страница 3 из 8
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF: Как вы делаете пакетные операции?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]