MS SQL - row size limit

zVlad
Уже с Приветом
Posts: 15409
Joined: 30 Apr 2003 16:43

Post by zVlad »

tengiz wrote:............ Так как все системные транзакции заранее известны и намертво вшиты в код сервера БД, то любые дедлоки из-за неправильного порядка доступа к ресурсам в системной транзкции являются багами.

В общем - читайте статью Мохана про ARIES.


Я замечал что Вы скорее всего именно к этому и клоните. Баг - он и есть баг, в данному случае результатом такого бага будет data corruption и надо будет так или иначе восстанавливать данные.
Вы знаете Tengiz чем отличается девелопмент баз данных от их саппорта (это не наезд, чисто обмен мнением)? За год я в среднем трачу месяц на конкуренси проблем, месяц на производительность, месяц на физическую организацию и реорганизацию, месяц на рефреш тестовых копий, месяц на апгрейды и т.д. и т.п.. Мы конечно Мохана уважаем (хотя для нас достаточно лишь знать что ARIES есть и при этом считаться достаточно образованными сапортчиками), но читать всерьез это не можем, ибо если мы будет читать обо всем с чем приходится сталкиваться, то нам будет некогда саппортить.
Разъяснения Ваши были очень познавательными. Большое спасибо, Tengiz.
User avatar
YellowMan
Уже с Приветом
Posts: 1099
Joined: 30 Sep 1999 09:01
Location: Bryansk,RUSSIA >> Dublin, Ireland

Post by YellowMan »

Соучастником обозвали...я понимаю что не специально, но осадок остался :)
Я тоже хочу сказать спасибо Тенгизу за разъяснения как оно там все внутри устроено - очень познавательно получается.
Удачи@С.Смирнов
User avatar
tengiz
Уже с Приветом
Posts: 4468
Joined: 21 Sep 2000 09:01
Location: Sammamish, WA

Post by tengiz »

Merle wrote:А дедлок-монитор бдит за этими низкоуровневыми транзакциями или предполагается, что они "deadlock-free"?

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

Если я правильно понял, то дополнительных блокировок во время отката все-таки не требуется... Я правда только мельком посмотрел в краткое описание и те совсем уверен. Tengiz, не поясните?

Системная транзакция для выполнения отката действительно избегает захвата нормальных блокировок, однако она может нарваться на ожидание на латче/спинлоке, доступности памяти, доступности потока. Если код системных транзакций не содержит багов, то пользователь принципиально не в состоянии написать последовательность действий, которые могли бы вызвать дедлок (неважно, детектирумый или нет) при откате. Это вольный перевод того, что говорит Мохан.
Cheers

Return to “Вопросы и новости IT”