Π’ ΠΌΠΈΡ€Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ бизнСса ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… часто встрСчаСтся Ρ‚Π΅Ρ€ΠΌΠΈΠ½ «транзакция», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρƒ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅Π΄ΠΎΡƒΠΌΠ΅Π½ΠΈΠ΅. Если Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ ΠΏΠΎΠ³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8, Ρ‚ΠΎ эта концСпция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ абстрактной ΠΈ слоТной. Однако Π½Π° самом Π΄Π΅Π»Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ основой Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ любой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

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

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

Основная ΡΡƒΡ‚ΡŒ: Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ

Главная характСристика Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ β€” это Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ воспринимаСтся систСмой ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅. НСльзя Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’ 1Π‘ это рСализуСтся Ρ‡Π΅Ρ€Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ инструкции языка запросов ΠΈ встроСнного языка программирования.

Если Π² процСссС выполнСния ΠΊΠΎΠ΄Π°, находящСгося Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, происходит ошибка (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ с Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ»ΠΈ сбой сСти), систСма автоматичСски выполняСт ΠΎΡ‚ΠΊΠ°Ρ‚ всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ВсС Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ Π² Ρ‚ΠΎ состояниС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° выполнСния этой Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΠΌΠ°Π½Π΄. Π­Ρ‚ΠΎ критичСски Π²Π°ΠΆΠ½ΠΎ для финансовых расчСтов.

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ всСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Если Π²Ρ‹ Π΄Π΅Ρ€ΠΆΠΈΡ‚Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ слишком Π΄ΠΎΠ»Π³ΠΎ, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΆΠ΄Π°Ρ‚ΡŒ освобоТдСния рСсурсов, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ очСрСдям ΠΈ зависаниям интСрфСйса.

Как это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅: ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ

Рассмотрим Ρ‚ΠΈΠΏΠΈΡ‡Π½ΡƒΡŽ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ Π² ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ систСмС. ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ «РСализация Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈ услуг». Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ систСма Π΄ΠΎΠ»ΠΆΠ½Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ нСсколько дСйствий: ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ запись Π² рСгистрС ΠΏΡ€ΠΎΠ΄Π°ΠΆ, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство Ρ‚ΠΎΠ²Π°Ρ€Π° Π½Π° складС Π² рСгистрС накоплСния ΠΈ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠΈ Π² бухгалтСрском ΡƒΡ‡Π΅Ρ‚Π΅.

Если Π±Ρ‹ эти дСйствия Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡŒ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π΅Π· объСдинСния Π² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, ΠΌΠΎΠ³Π»Π° Π±Ρ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ситуация: Ρ‚ΠΎΠ²Π°Ρ€ со склада списался, Π° бухгалтСрская ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠ° Π½Π΅ создалась ΠΈΠ·-Π·Π° Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ошибки. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π½Π° складС Ρ‚ΠΎΠ²Π°Ρ€Π° Π½Π΅Ρ‚, Π° ΠΏΠΎ Π±ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ΠΈΠΈ ΠΎΠ½ числится. Π­Ρ‚ΠΎ рассинхронизация, которая нСдопустима.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ 1Π‘, программист ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ вСсь этот ΠΊΠΎΠ΄ Π² ΠΎΠ΄Π½Ρƒ Π»ΠΎΠ³ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли созданиС ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠΈ Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ, Ρ‚ΠΎ ΠΈ списаниС Ρ‚ΠΎΠ²Π°Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ автоматичСски ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½ΠΎ. БистСма ΠΊΠ°ΠΊ Π±Ρ‹ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚: Β«Π›ΠΈΠ±ΠΎ всё ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ идСально, Π»ΠΈΠ±ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ измСнилось».

Π’ ΠΊΠΎΠ΄Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ это выглядит ΠΊΠ°ΠΊ явноС ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π°Ρ‡Π°Π»Π° ΠΈ ΠΊΠΎΠ½Ρ†Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° создаСт Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ для всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Волько послС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ всСх шагов эти измСнСния физичСски Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

πŸ’‘

ВсСгда ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. Π§Π΅ΠΌ мСньшС дСйствий Π²Ρ‹ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚Π΅, Ρ‚Π΅ΠΌ быстрСС ΠΎΠ½ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΈ Ρ‚Π΅ΠΌ мСньшС риск ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ² Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ.

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

Для управлСния этим процСссом Π² языкС запросов ΠΈ встроСнном языкС 1Π‘ прСдусмотрСны ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова. ΠžΡΠ½ΠΎΠ²Π½Ρ‹ΠΌΠΈ ΠΈΠ· Π½ΠΈΡ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ ΠΈ Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ. Π’Π°ΠΊΠΆΠ΅ сущСствуСт ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠžΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, которая позволяСт ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ измСнСния.

Когда Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π°Ρ‡Π°Π»Π°, систСма ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹. ВсС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ измСнСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅. Они Π²ΠΈΠ΄Π½Ρ‹ Π²Π°ΠΌ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса, Π½ΠΎ Π½Π΅ Π²ΠΈΠ΄Π½Ρ‹ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° фиксации.

Команда фиксации ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ всС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΈ измСнСния становятся постоянными. ПослС этого Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΡΠ½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Если ΠΆΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ситуация, систСма сама ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΊΠ°Ρ‚.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ управляСмыми ΠΈ нСуправляСмыми Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ. Π’ соврСмСнных вСрсиях 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ управляСмыС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π΄Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ большС контроля Π½Π°Π΄ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ систСмы ΠΈ ΡΠ½ΠΈΠΆΠ°ΡŽΡ‚ риск Π²Π·Π°ΠΈΠΌΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ (deadlocks).

πŸ“Š Π‘ ΠΊΠ°ΠΊΠΈΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ влоТСнности Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π»ΠΈΡΡŒ Ρ‡Π°Ρ‰Π΅?
1 ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ
2-3 уровня
Π‘ΠΎΠ»Π΅Π΅ 5 ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ
НС сталкивался

Π£Ρ€ΠΎΠ²Π½ΠΈ влоТСнности Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ

Одной ΠΈΠ· особСнностСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠΉ большой Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΡƒΡŽ. БистСма Π²Π΅Π΄Π΅Ρ‚ счСтчик ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ влоТСнности, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΈΠΌΠ΅Π½Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° диск.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ слоТный Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… этапов. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ этап ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ своСй изоляции. Π’Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ внСшнюю Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, Π·Π°Ρ‚Π΅ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Ρ‘ запускаСтС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ. ИзмСнСния Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ зафиксированы, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ внСшняя.

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

Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π°. Π Π°Π·Π½Ρ‹Π΅ части ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ написаны Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² своСм ΠΌΠΎΠ΄ΡƒΠ»Π΅, Π½Π΅ бСспокоясь ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΡƒΡŽΡ‚ с Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΌ процСссом. Однако Π·Π»ΠΎΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ услоТняСт ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ.

Π’Π°Π±Π»ΠΈΡ†Π° Π½ΠΈΠΆΠ΅ дСмонстрируСт, ΠΊΠ°ΠΊ мСняСтся состояниС систСмы Π² зависимости ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄:

Команда Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ влоТСнности Бтатус Π΄Π°Π½Π½Ρ‹Ρ… Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ для Π΄Ρ€ΡƒΠ³ΠΈΡ…
ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ 1 Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π‘ΠΊΡ€Ρ‹Ρ‚Ρ‹
ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ (Π²Π½ΡƒΡ‚Ρ€ΠΈ) 2 Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π‘ΠΊΡ€Ρ‹Ρ‚Ρ‹
Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ 1 Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π‘ΠΊΡ€Ρ‹Ρ‚Ρ‹
Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ 0 ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Ρ‹Π΅ Π’ΠΈΠ΄Π½Ρ‹

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ

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

Π­Ρ‚ΠΎ явлСниС часто Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Β«Π΄ΠΎΠ»Π³ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠ΅ΠΉΒ». НапримСр, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Π» Ρ„ΠΎΡ€ΠΌΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, систСма Π½Π°Ρ‡Π°Π»Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ, Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΡˆΠ΅Π» Π½Π° ΠΎΠ±Π΅Π΄, Π½Π΅ закрывая Ρ„ΠΎΡ€ΠΌΡƒ. Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ связанныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: транзакция Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ максимально ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ. НС стоит Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² Π½Π΅Ρ‘ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π΄ΠΎΠ»Π³ΠΈΠ΅ расчСты ΠΈΠ»ΠΈ обращСния ΠΊ внСшним рСсурсам. Π‘Π½Π°Ρ‡Π°Π»Π° собСритС всС Π΄Π°Π½Π½Ρ‹Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ быстро Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ запись.

Π’Π°ΠΊΠΆΠ΅ сущСствуСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²Π·Π°ΠΈΠΌΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ, ΠΊΠΎΠ³Π΄Π° Π΄Π²Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΆΠ΄ΡƒΡ‚ рСсурсы Π΄Ρ€ΡƒΠ³ Π΄Ρ€ΡƒΠ³Π°. БистСма 1Π‘ ΡƒΠΌΠ΅Π΅Ρ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ситуации ΠΈ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈΠ· Π½ΠΈΡ… с ошибкой, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π»ΠΈΡΡŒ Π² ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΌ порядкС.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Deadlock?

Взаимная Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° (Deadlock) Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚, ΠΊΠΎΠ³Π΄Π° Вранзакция А Π΄Π΅Ρ€ΠΆΠΈΡ‚ рСсурс 1 ΠΈ ΠΆΠ΄Π΅Ρ‚ рСсурс 2, Π° Вранзакция Π‘ Π΄Π΅Ρ€ΠΆΠΈΡ‚ рСсурс 2 ΠΈ ΠΆΠ΄Π΅Ρ‚ рСсурс 1. ОбС Π·Π°Π²ΠΈΡΠ°ΡŽΡ‚ навсСгда, ΠΏΠΎΠΊΠ° систСма Π½Π΅ Π²ΠΌΠ΅ΡˆΠ°Π΅Ρ‚ΡΡ.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

Новички часто ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, открывая Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ слишком Ρ€Π°Π½ΠΎ. Они Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Π΅Ρ‘ сразу ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ, хотя Ρ€Π΅Π°Π»ΡŒΠ½Π°Ρ запись Π΄Π°Π½Π½Ρ‹Ρ… происходит Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΠΎΠ·ΠΆΠ΅. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ рСсурсы Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ вмСсто миллисСкунд.

Другая распространСнная ошибка β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΎΡ‚ΠΊΠ°Ρ‚. НапримСр, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° элСктронного письма ΠΈΠ»ΠΈ запись Ρ„Π°ΠΉΠ»Π° Π½Π° диск. Если транзакция откатится, письмо всС Ρ€Π°Π²Π½ΠΎ ΡƒΠΉΠ΄Π΅Ρ‚, Π° Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Π΅ вСрнутся Π½Π°Π·Π°Π΄, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ рассинхронизации с внСшним ΠΌΠΈΡ€ΠΎΠΌ.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅ΡŽΡ‚ свои особСнности Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ. РСгистры свСдСний, рСгистры накоплСния ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. ПониманиС этих нюансов ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивный ΠΊΠΎΠ΄.

ВсСгда провСряйтС, Π½Π΅ Π·Π°Π±Ρ‹Π»ΠΈ Π»ΠΈ Π²Ρ‹ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ Π² Π±Π»ΠΎΠΊΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ. Если ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ошибка ΠΈ ΠΊΠΎΠ΄ прСрвСтся Π΄ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ фиксации ΠΈΠ»ΠΈ ΠΎΡ‚ΠΌΠ΅Π½Ρ‹, транзакция ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Ρ‚ΡŒΡΡ Π²ΠΈΡΠ΅Ρ‚ΡŒ Π² Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ состоянии Π΄ΠΎ Ρ€Π°Π·Ρ€Ρ‹Π²Π° соСдинСния с сСрвСром.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ выполняйтС Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ вычислСния ΠΈΠ»ΠΈ запросы ΠΊ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ внСшним источникам Π²Π½ΡƒΡ‚Ρ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. ВынСситС всю ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π±Π»ΠΎΠΊΠ° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.

Π§Π΅ΠΊ-лист ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с транзакциями

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ваш ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈ Π½Π΅ создаСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΡ€ΠΎΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ списку Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΉ. Π­Ρ‚ΠΈ простыС ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ошибок, связанных с Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒΡŽ Π΄Π°Π½Π½Ρ‹Ρ….

  • πŸš€ Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ транзакция ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ критичСски Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ записи.
  • πŸš€ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ всС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ Π²Π΅Ρ‚ΠΊΠΈ выполнСния ΠΊΠΎΠ΄Π° Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ΡΡ фиксациСй ΠΈΠ»ΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΠΎΠΉ.
  • πŸš€ Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΉ Π²Π²ΠΎΠ΄Π° ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  • πŸš€ ΠŸΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ порядок Π·Π°Ρ…Π²Π°Ρ‚Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ для прСдотвращСния Π²Π·Π°ΠΈΠΌΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ΄Π° ΠΏΠ΅Ρ€Π΅Π΄ выпуском

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

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Π²Ρ‹Π²ΠΎΠ΄Ρ‹

Вранзакция Π² 1Π‘ β€” это ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½Π°Π±ΠΎΡ€ Ρ€Π°Π·Ρ€ΠΎΠ·Π½Π΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ бизнСс-процСсс. ПониманиС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² Π΅Ρ‘ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ программистам, Π½ΠΎ ΠΈ администраторам Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ИспользованиС этого ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ваш ΡƒΡ‡Π΅Ρ‚ всСгда Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌ, Π° Π΄Π°Π½Π½Ρ‹Π΅ β€” согласованными. Однако сила Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ отвСтствСнности: Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ использованиС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ°Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ†Π΅Π»ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»Π°.

Π‘Ρ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅ΡΡŒ ΠΊ балансу ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ. ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅, Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ β€” Π·Π°Π»ΠΎΠ³ Π·Π΄ΠΎΡ€ΠΎΠ²ΡŒΡ вашСй Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π·ΡƒΡ‡Π°ΠΉΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎ управляСмым Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌ ΠΈ тСстируйтС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ систСмы ΠΏΠΎΠ΄ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ.

πŸ’‘

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Вранзакция Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ максимально ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΎΠΉ ΠΈ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ измСнСния Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΠ΅ взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.

Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сСрвСр Π²ΠΎ врСмя Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ?

Если сСрвСр Π±ΡƒΠ΄Π΅Ρ‚ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎ остановлСн Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, всС нСзафиксированныС измСнСния Π±ΡƒΠ΄ΡƒΡ‚ потСряны. ΠŸΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ запускС систСма восстановлСния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Π‘Π£Π‘Π”) автоматичСски ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ всС Π½Π΅Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π΄ΠΎ послСднСго ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ состояния.

МоТно Π»ΠΈ Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ 1Π‘ Π² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… SQL?

Π”Π°, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с внСшними Π‘Π£Π‘Π” (SQL Server, PostgreSQL) транслируСт свои ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π²native-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π£Ρ€ΠΎΠ²Π½ΠΈ влоТСнности 1Π‘ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ уровням влоТСнности Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π‘Π£Π‘Π”, Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ всС Ρ€Π°Π²Π½ΠΎ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Как ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π² Π±Π°Π·Π΅?

Администратор ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ консоль управлСния кластСром сСрвСров 1Π‘ ΠΈΠ»ΠΈ спСциализированныС запросы ΠΊ систСмным Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ Π‘Π£Π‘Π”, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ список Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… сСссий ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΈΠΌΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ.

ВлияСт Π»ΠΈ Ρ‚ΠΈΠΏ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (файловая ΠΈΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрная) Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ?

Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π΅Π΄ΠΈΠ½Π° для всСх Ρ‚ΠΈΠΏΠΎΠ² Π±Π°Π·. Однако Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ (SQLite ΠΈΠ»ΠΈ встроСнный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚) Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π½Π΅Π΅ эффСктивно ΠΏΡ€ΠΈ большом количСствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Ρ‡Π΅ΠΌ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ Π½Π° ΠΌΠΎΡ‰Π½ΠΎΠΉ Π‘Π£Π‘Π”.