Π’ ΠΌΠΈΡ€Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ бизнСса ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ являСтся Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ создаСт слоТный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠ° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ сразу нСсколько рСгистров накоплСния, Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ΠΈΠΈ ΠΈ расчСтов. Если Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ записи ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ сбой систСмы, ΠΎΠ±Ρ€Ρ‹Π² сСти ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ с Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π² нСконсистСнтном состоянии. Π§Π°ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ, Π° Ρ‡Π°ΡΡ‚ΡŒ β€” Π½Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ошибкам Π² ΡƒΡ‡Π΅Ρ‚Π΅.

ИмСнно для прСдотвращСния Ρ‚Π°ΠΊΠΈΡ… катастрофичСских сцСнариСв Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. Π­Ρ‚ΠΎ Π½Π΅ просто тСхничСская Π΄Π΅Ρ‚Π°Π»ΡŒ для программистов, Π° Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ инструмСнт обСспСчСния надСТности бизнСса. Вранзакция позволяСт ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ Ρ€Π°Π·Ρ€ΠΎΠ·Π½Π΅Π½Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π΅Π΄ΠΈΠ½Ρ‹ΠΉ логичСский Π±Π»ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΠΈΠ±ΠΎ выполнится Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π»ΠΈΠ±ΠΎ Π½Π΅ выполнится вовсС. ПониманиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° критичСски Π²Π°ΠΆΠ½ΠΎ ΠΊΠ°ΠΊ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΈ для администраторов систСм.

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ атомарности Π΄Π°Π½Π½Ρ‹Ρ…

Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ понятиСм Π² обсуТдСнии надСТности Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… являСтся свойство атомарности. Вранзакция Π² 1Π‘ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ дСйствий воспринимаСтся систСмой ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅. Если хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ шаг Π² Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ошибкой, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ измСнСния, ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ΅Π΄ΡˆΠΈΠ΅ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… этого Π±Π»ΠΎΠΊΠ°, возвращая Π±Π°Π·Ρƒ Π² исходноС состояниС. Π­Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ появлСниС Β«Π±ΠΈΡ‚Ρ‹Ρ…Β» Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΠΎΠ²Π°Ρ€ списан со склада, Π½ΠΎ дСньги Π½Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΏΠΎ кассС.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ основан Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ… ΠΈ ΠΆΡƒΡ€Π½Π°Π»Π°Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ сСрвСром 1Π‘ ΠΈ Π‘Π£Π‘Π” (SQL Server, PostgreSQL ΠΈΠ»ΠΈ встроСнной Π±Π°Π·ΠΎΠΉ). Когда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, систСма фиксируСт Ρ‚ΠΎΡ‡ΠΊΡƒ сохранСния. ВсС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ записи Π² рСгистры ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° подтвСрТдСния. Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ изоляции Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ опрСдСляСт, насколько эти измСнСния Π²ΠΈΠ΄Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π² процСссС выполнСния. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ уровня ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ «грязным» чтСниям ΠΈΠ»ΠΈ ΠΏΠΎΡ‚Π΅Ρ€Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ.

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° взаимодСйствуСт с Π‘Π£Π‘Π”. Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ транзакциями ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ лоТится Π½Π° ΠΏΠ»Π΅Ρ‡ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘. Π’ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ (SQL) 1Π‘ Π΄Π΅Π»Π΅Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‡Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄Π²ΠΈΠΆΠΊΡƒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ Ρ‚ΠΎΠ½ΠΊΠΎΠΉ настройки. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этих Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ часто становится ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ зависаний ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π² ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ срСдС.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ сущСствСнно ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ всСй систСмы, удСрТивая Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ объСм ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°.

πŸ“Š Π‘Ρ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ Π»ΠΈ Π²Ρ‹ с ошибками провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² 1Π‘?
Π”Π°, часто
Иногда Π±Ρ‹Π²Π°Π΅Ρ‚
Π Π΅Π΄ΠΊΠΎ
Никогда Π½Π΅ сталкивался

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ использования Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ

НС ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ скрипт ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ явного управлСния транзакциями. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ автоматичСски ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ стандартныС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½ΠΎΠ³ΠΎ задания. Однако ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ слоТныС сцСнарии, Π³Π΄Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ этим процСссом. К Ρ‚Π°ΠΊΠΈΠΌ случаям относятся массовыС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, слоТныС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ пСрСсчСта ΠΈΡ‚ΠΎΠ³ΠΎΠ² ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ Π±Π°Π·Ρ‹ Ρ‡Π΅Ρ€Π΅Π· HTTP-соСдинСниС ΠΈΠ»ΠΈ COM-соСдинСниС.

Рассмотрим Ρ‚ΠΈΠΏΠΈΡ‡Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ: ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя конфигурациями. НСобходимо ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Ρ‹, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ структуру ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ. Если запись Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π±Π°Π·Ρƒ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ ошибкой Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠΈ, Π° пСрвая ΡƒΠΆΠ΅ успСла ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΊΠ°ΠΊ Β«ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉΒ», Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ рассинхронизация. ИспользованиС Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ позволяСт Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ статус измСнится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ физичСской записи Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ систСму. Π­Ρ‚ΠΎ обСспСчиваСт Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ мСТсистСмного взаимодСйствия.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ критичСский сцСнарий β€” слоТныС Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΊΠΎΠ½Ρ†Π΅ мСсяца ΠΈΠ»ΠΈ Π³ΠΎΠ΄Π°. Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ мСсяца часто Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя дСсятки ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… пСрСсчСтов. Если Π½Π° 50-ΠΌ шагС ΠΈΠ· 100 ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ сбой, Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€Ρƒ придСтся Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ с частично Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌΠΈ расчСтами. ΠžΠ±Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ всСго процСсса закрытия ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π² ΠΎΠ΄Π½Ρƒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ (ΠΈΠ»ΠΈ ΡΠ΅Ρ€ΠΈΡŽ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ) позволяСт Π»ΠΈΠ±ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄, Π»ΠΈΠ±ΠΎ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ всС измСнСния ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ снова послС устранСния ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ ошибки.

  • πŸ”’ МассовоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²: ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ†Π΅Π½ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄.
  • πŸ”„ Π‘Π»ΠΎΠΆΠ½Ρ‹ΠΉ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ: синхронизация ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ 1Π‘ ΠΈΠ»ΠΈ внСшними сСрвисами.
  • πŸ“Š Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΡ‚ΠΎΠ³ΠΎΠ²: пСрСсчСт рСгистров накоплСния ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ историчСских Π΄Π°Π½Π½Ρ‹Ρ….
πŸ’‘

Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ для массового измСнСния Π΄Π°Π½Π½Ρ‹Ρ…, всСгда тСстируйтС Π΅Ρ‘ Π½Π° ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ‹. Ошибка Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Β«Π·Π°ΠΌΠΎΡ€ΠΎΠ·ΠΈΡ‚ΡŒΒ» Ρ€Π°Π±ΠΎΡ‚Ρƒ всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ транзакциями Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠ΄Π°

Для программиста 1Π‘ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ транзакциями рСализуСтся Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΈΠ»ΠΈ встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ языка. Основной Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ всСгда слСдуСт ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρƒ: Π½Π°Ρ‡Π°Π»ΠΎ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ дСйствий, фиксация (commit) ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚ (rollback). Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ нСявноС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ссли Π½Π΅ прСдусмотрСна ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок.

Π’ ΠΊΠΎΠ΄Π΅ это выглядит ΠΊΠ°ΠΊ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ. ПослС этого Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ записи. Если всС ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, вызываСтся Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ. Если ΠΆΠ΅ Π² Π±Π»ΠΎΠΊΠ΅ ΠΊΠΎΠ΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСдаСтся Π² Π±Π»ΠΎΠΊ Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π³Π΄Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΏΡ€ΠΈ ошибкС β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых частых ΠΏΡ€ΠΈΡ‡ΠΈΠ½ зависанияровок Π² Π±Π°Π·Π΅.

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ;

// Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ критичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ;

РСгистрНакоплСния.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ;

Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ;

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ;

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка ΠΏΡ€ΠΈ записи Π΄Π°Π½Π½Ρ‹Ρ…:" + ОписаниСОшибки);

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ понятиС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. Π₯отя ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈΡ… синтаксичСски, с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π‘Π£Π‘Π” это часто эмулируСтся Ρ‡Π΅Ρ€Π΅Π· Ρ‚ΠΎΡ‡ΠΊΠΈ сохранСния (savepoints). Глубокая Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ нСпрСдсказуСмому повСдСнию Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ, поэтому рСкомСндуСтся Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ структуру Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ максимально плоской. Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ нСзависимых ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ изоляции, Π° лишь ΡƒΡΠ»ΠΎΠΆΠ½ΡΡŽΡ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΎΡ‚ΠΊΠ°Ρ‚Π°.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ΄Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4

Π£Ρ€ΠΎΠ²Π½ΠΈ изоляции ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ доступа

Когда Π² систСмС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ мноТСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΠΈ Π·Π° рСсурсы. Π£Ρ€ΠΎΠ²Π½ΠΈ изоляции Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊ ΠΎΠ΄Π½Π° транзакция Π²ΠΈΠ΄ΠΈΡ‚ измСнСния, сдСланныС Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ транзакциями. Π’ 1Π‘ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ, ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ «грязных» Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ явно Π·Π°Π΄Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π² зависимости ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡.

БущСствуСт нСсколько классичСских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ уровня изоляции. ΠŸΠ΅Ρ€Π²Π°Ρ β€” «грязноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Β», ΠΊΠΎΠ³Π΄Π° транзакция Π²ΠΈΠ΄ΠΈΡ‚ нСзафиксированныС измСнСния Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, которая впослСдствии ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒΡΡ. Вторая β€” Β«Π½Π΅ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π΅Π΅ΡΡ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Β», ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ двумя чтСниями Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Π’Ρ€Π΅Ρ‚ΡŒΡ β€” Β«Ρ„Π°Π½Ρ‚ΠΎΠΌΠ½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Β», появлСниС Π½ΠΎΠ²Ρ‹Ρ… строк Π² Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ОписаниС Риск для ΡƒΡ‡Π΅Ρ‚Π°
ГрязноС Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π§Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ИспользованиС Π½Π΅Π²Π΅Ρ€Π½Ρ‹Ρ… остатков
ΠΠ΅ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰Π΅Π΅ΡΡ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π”Π°Π½Π½Ρ‹Π΅ измСнились ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ РасхоТдСниС Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ…
ΠŸΠΎΡ‚Π΅Ρ€ΡΠ½Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠŸΠΎΡ‚Π΅Ρ€Ρ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²
Π€Π°Π½Ρ‚ΠΎΠΌΠ½ΠΎΠ΅ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ПоявлСниС Π½ΠΎΠ²Ρ‹Ρ… записСй Π² Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ Ошибка Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹Ρ… суммах

ΠŸΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ уровня изоляции ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ, Π½ΠΎ сниТаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы ΠΈΠ·-Π·Π° роста количСства Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. finding balance β€” ΠΊΠ»ΡŽΡ‡Π΅Π²Π°Ρ Π·Π°Π΄Π°Ρ‡Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΠΎΡ€Π° систСмы. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв стандартных настроСк 1Π‘ достаточно, Π½ΠΎ ΠΏΡ€ΠΈ написании высоконагруТСнных ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ трСбуСтся ручная настройка.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ возмоТности настройки ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ изоляции ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ Ρ‚ΠΈΠΏΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π‘Π£Π‘Π”. ВсСгда ΡΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ с тСхничСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

Диагностика ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ошибок Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ

Π Π°Π±ΠΎΡ‚Π° с транзакциями Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ сопряТСна с риском возникновСния ошибок, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ (deadlocks) ΠΈΠ»ΠΈ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹ оТидания. Π’Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Π΄Π²Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΆΠ΄ΡƒΡ‚ рСсурсы, ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³ΠΎΠΌ, создавая Π·Π°ΠΌΠΊΠ½ΡƒΡ‚Ρ‹ΠΉ ΠΊΡ€ΡƒΠ³ оТидания. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΈ Π‘Π£Π‘Π” ΠΈΠΌΠ΅ΡŽΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ обнаруТСния Ρ‚Π°ΠΊΠΈΡ… ситуаций, автоматичСски выбирая Β«ΠΆΠ΅Ρ€Ρ‚Π²ΡƒΒ» ΠΈ откатывая ΠΎΠ΄Π½Ρƒ ΠΈΠ· Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ.

Для диагностики ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ администраторам слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» рСгистрации 1Π‘ ΠΈ срСдства ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π‘Π£Π‘Π”. Π’ ΠΆΡƒΡ€Π½Π°Π»Π΅ рСгистрации Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ события ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ «Вранзакция» ΠΈ Β«Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°Β». Анализ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ позволяСт Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Β«Π΄ΠΎΠ»Π³ΠΈΠ΅Β» ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ тормозят всю систСму. Часто ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ становится Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ запрос ΠΈΠ»ΠΈ отсутствиС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… индСксов.

ΠŸΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ошибки Β«ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» оТидания Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈΒ» Π½Π΅ стоит слСпо ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚. Π­Ρ‚ΠΎ лишь маскируСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ. НСобходимо ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΊΠΎΠ΄Π°: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, транзакция выполняСтся Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΈΠ»ΠΈ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ слишком ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΊΠΎΠ΄Π°, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π½Π° мСньшиС части ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ порядка обращСния ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ часто Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Ρ€Π°Π΄ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Deadlock Π² 1Π‘?

Deadlock (Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°) β€” это ситуация, ΠΊΠΎΠ³Π΄Π° Π΄Π²Π° ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ процСсса Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΆΠ΄Π΅Ρ‚ освобоТдСния рСсурса, Π·Π°Ρ…Π²Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ процСссом. Π‘Π£Π‘Π” ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ это ΠΈ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· процСссов.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с транзакциями

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы 1Π‘ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»Π³ΠΎ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ. Π§Π΅ΠΌ дольшС Π°ΠΊΡ‚ΠΈΠ²Π½Π° транзакция, Ρ‚Π΅ΠΌ Π²Ρ‹ΡˆΠ΅ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ начинаСтся с ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. ВсС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ записи Π² Π±Π°Π·Ρƒ (Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ справочников, слоТныС вычислСния Π² памяти), Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ вынСсСны Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.

ИспользованиС управляСмых Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ вмСсто автоматичСских Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ прирост скорости Π² спСцифичСских сцСнариях. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ явно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΠ»ΠΈ записи Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, избСгая Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ всСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ знания структуры ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ позволяСт ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ†ΠΈΡŽ Π·Π° рСсурсы.

ΠŸΡ€ΠΈ записи ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° 1Π‘ автоматичСски устанавливаСт Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ. Если Π²Ρ‹ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π½Π°Ρ‡Π°Π»ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ваша транзакция встанСт Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ оТидания. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ бизнСс-процСссов ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ситуаций, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ постоянно ΠΊΠΎΠ½ΠΊΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‚ Π·Π° ΠΎΠ΄Π½ΠΈ ΠΈ Ρ‚Π΅ ΠΆΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹.

πŸ’‘

Π—ΠΎΠ»ΠΎΡ‚ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: Π΄Π΅Π»Π°ΠΉΡ‚Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ максимально ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ. ВыноситС всю ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π±Π»ΠΎΠΊΠ° ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ - Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ.

МоТно Π»ΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ послС Π΅Ρ‘ фиксации?

НСт, послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ измСнСния ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ постоянными ΠΈ записанными Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…. ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ копирования ΠΈ восстановлСния (RESTORE) ΠΈΠ»ΠΈ написав ΠΊΠΎΠΌΠΏΠ΅Π½ΡΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, которая Π²Π΅Ρ€Π½Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² исходноС состояниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠ΅ΠΉ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΠΈ SQL Π±Π°Π·Π΅?

Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ транзакциями ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘. Π’ SQL-вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π‘Π£Π‘Π” (MS SQL, PostgreSQL), Ρ‡Ρ‚ΠΎ обСспСчиваСт Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡƒΡ‡Π΅Ρ‚Π° особСнностСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π‘Π£Π‘Π”.

Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Π·Π°Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ ΠΏΡ€ΠΈ ошибкС?

Если Π² Π±Π»ΠΎΠΊΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ Π½Π΅ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΎΡ‚ΠΊΠ°Ρ‚, транзакция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° сСанса ΠΈΠ»ΠΈ Π΄ΠΎ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΡƒΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…, Ρ‡Ρ‚ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с этими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ зависаниС систСмы.

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ, какая транзакция Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ?

Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ консоль администрирования сСрвСров 1Π‘ ΠΈΠ»ΠΈ встроСнныС срСдства ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° Π‘Π£Π‘Π” (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, sp_who2 Π² MS SQL). Π’ ΠΆΡƒΡ€Π½Π°Π»Π΅ рСгистрации 1Π‘ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… транзакциях ΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… сСансах.