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

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

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

АрхитСктура хранСния ΠΈΡ‚ΠΎΠ³ΠΎΠ² Π² рСгистрах накоплСния

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

Π’Π°Π±Π»ΠΈΡ†Π° ΠΈΡ‚ΠΎΠ³ΠΎΠ² физичСски хранится Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ. Когда происходит ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, систСма Π½Π΅ просто записываСт Π½ΠΎΠ²Ρ‹Π΅ строки, Π½ΠΎ ΠΈ обновляСт ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΈΡ‚ΠΎΠ³ΠΎΠ². Π­Ρ‚ΠΎΡ‚ процСсс называСтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ постинга. Если Ρ‚ΠΈΠΏ рСгистра позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡ‚ΠΎΠ³ΠΈ (Ρ„Π»Π°Π³ Β«Π˜Ρ‚ΠΎΠ³ΠΈΒ» установлСн Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ), Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… систСма стрСмится ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сводной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

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

πŸ’‘

Для рСгистров с большим количСством ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ (Π±ΠΎΠ»Π΅Π΅ 5-7) часто цСлСсообразнСС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΡ‚ΠΎΠ³ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ индСксация Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π΄Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² сильнСС, Ρ‡Π΅ΠΌ ΡƒΡΠΊΠΎΡ€ΡΡ‚ΡŒ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡ‚ΠΎΠ³ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ зависят ΠΎΡ‚ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°. БистСма Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΡ‚ΠΎΠ³ΠΈ Π½Π° Π½Π°Ρ‡Π°Π»ΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° ΠΈ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Ρ‹ Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄. Π­Ρ‚ΠΎ позволяСт Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ состояниС Π½Π° Π»ΡŽΠ±ΡƒΡŽ Π΄Π°Ρ‚Ρƒ ΠΏΡƒΡ‚Π΅ΠΌ слоТСния Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ остатка ΠΈ ΠΎΠ±ΠΎΡ€ΠΎΡ‚ΠΎΠ². ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ этой логичСской Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Ρ‡Π΅Ρ‚ Β«ΠžΠ±ΠΎΡ€ΠΎΡ‚Π½ΠΎ-сальдовая Π²Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒΒ» Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅Π²Π΅Ρ€Π½Ρ‹Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΡ‚ Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ.

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ рассинхронизации Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ появлСния ошибок

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

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΎΠΉ распространСнной ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ являСтся использованиС Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΈΠ»ΠΈ прямых запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ±Ρ…ΠΎΠ΄ стандартного ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° 1Π‘. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹, ΠΏΡ‹Ρ‚Π°ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΈΡˆΡƒΡ‚ SQL-запросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ. Π’Π°ΠΊΠΈΠ΅ дСйствия Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‚ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ приводят ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ пСрСсчСт ΠΈΡ‚ΠΎΠ³ΠΎΠ² становится Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ измСнСния, сдСланныС ΠΌΠΈΠΌΠΎ Π½Π΅Π΅.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΡΠΌΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ† Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· SQL-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, pgAdmin ΠΈΠ»ΠΈ SSMS) катСгоричСски Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… систСмах. Π­Ρ‚ΠΎ СдинствСнный способ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ расхоТдСниС ΠΌΠ΅ΠΆΠ΄Ρƒ двиТСниями ΠΈ ΠΈΡ‚ΠΎΠ³Π°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ стандартными срСдствами ΠΆΡƒΡ€Π½Π°Π»Π° рСгистрации.

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

  • πŸ”Œ Π’Π½Π΅Π·Π°ΠΏΠ½ΠΎΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ питания сСрвСра 1Π‘ ΠΈΠ»ΠΈ сСрвСра Π‘Π£Π‘Π” Π²ΠΎ врСмя интСнсивной записи.
  • πŸ’» Ошибки Π² ΠΊΠΎΠ΄Π΅ Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… прямыС SQL-запросы ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ рСгистров.
  • πŸ”„ Π‘Π±ΠΎΠΈ ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиями ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.
  • πŸ› Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ ошибки Π‘Π£Π‘Π” (PostgreSQL, MSSQL), приводящиС ΠΊ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΡŽ страниц Π΄Π°Π½Π½Ρ‹Ρ….

Диагностика Ρ‚Π°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ начинаСтся с формирования ΠΎΡ‚Ρ‡Π΅Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ явноС расхоТдСниС. НапримСр, остаток Ρ‚ΠΎΠ²Π°Ρ€Π° Π½Π° складС Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ Ρ€Π°Π²Π΅Π½ Π½ΡƒΠ»ΡŽ, хотя ΠΏΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄Ρ‹ Π΅ΡΡ‚ΡŒ. Π’ этом случаС администратор Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ восстановлСния. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… сигналов ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ошибки накопятся ΠΈ исправлСниС Π·Π°ΠΉΠΌΠ΅Ρ‚ Π΄Π½ΠΈ.

АвтоматичСский ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΉ Ρ€Π΅ΠΆΠΈΠΌΡ‹ пСрСсчСта

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

Для глобального восстановлСния Π΄Π°Π½Π½Ρ‹Ρ… сущСствуСт Ρ€Π΅ΠΆΠΈΠΌ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ пСрСсчСта ΠΈΡ‚ΠΎΠ³ΠΎΠ². Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· интСрфСйс администрирования ΠΈΠ»ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 ΠΏΡƒΡ‚ΡŒ ΠΊ этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ выглядит ΠΊΠ°ΠΊ АдминистрированиС β†’ ΠžΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Π½ΠΈΠ΅ β†’ ΠŸΠ΅Ρ€Π΅ΡΡ‡Π΅Ρ‚ ΠΈΡ‚ΠΎΠ³ΠΎΠ². ΠŸΡ€ΠΈ запускС этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ систСма Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ измСнСния Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΡΠΈΡΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° врСмя выполнСния.

πŸ“Š Как часто Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ пСрСсчСта ΠΈΡ‚ΠΎΠ³ΠΎΠ²?
ЕТСмСсячно ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°
Раз в год послС обновлСния
Никогда, всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ
ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎ, Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с ΠΆΠ΅Π»Π΅Π·ΠΎΠΌ

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

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ процСсс пСрСсчСта являСтся рСсурсоСмкой ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ. Он создаСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΡƒΡŽ подсистСму ΠΈ процСссор сСрвСра Π‘Π£Π‘Π”. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ врСмя, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ вносят Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π½Π΅ рСкомСндуСтся. Π›ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π° Π½ΠΎΡ‡Π½ΠΎΠ΅ врСмя ΠΈΠ»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Π΅, ΠΊΠΎΠ³Π΄Π° Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° систСму минимальна.

ВСхничСскиС аспСкты выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Π‘Π£Π‘Π”

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния сСрвСра Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, пСрСсчСт ΠΈΡ‚ΠΎΠ³ΠΎΠ² прСдставляСт собой ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ SQL-запросов. Π‘Π½Π°Ρ‡Π°Π»Π° систСма ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈΡ‚ΠΎΠ³ΠΎΠ² для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ рСгистра. Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ½Π° выполняСт запрос с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ (GROUP BY) ΠΏΠΎ всСм измСрСниям рСгистра, суммируя количСства ΠΈ суммы ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вставляСтся ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈΡ‚ΠΎΠ³ΠΎΠ².

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ этого процСсса Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ зависит ΠΎΡ‚ индСксов. Если Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ индСксы ΠΏΠΎ полям ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ, процСсс Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Π‘Π΅Ρ€Π²Π΅Ρ€Ρƒ придСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΠ΅ сканированиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Full Table Scan), Ρ‡Ρ‚ΠΎ для Ρ‚Π°Π±Π»ΠΈΡ† с дСсятками ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² записСй ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ часы. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π΄ запуском пСрСсчСта рСкомСндуСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ выполнСния запросов.

SELECT РСгистратор, Π‘ΡƒΠΌΠΌΠ°, ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ

FROM РСгистрНакоплСния.ΠžΡΡ‚Π°Ρ‚ΠΊΠΈΠ’ΠΎΠ²Π°Ρ€ΠΎΠ²

WHERE ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ ΠœΠ•Π–Π”Π£ '2026.01.01' И '2026.12.31'

GROUP BY Π‘ΠΊΠ»Π°Π΄, НомСнклатура

Π’ процСссС Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ… Π‘Π£Π‘Π” создаСт Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ сортировки. Если Π½Π° дискС, Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌ ΠΏΠΎΠ΄ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ (tempdb Π² MSSQL ΠΈΠ»ΠΈ pg_temp Π² PostgreSQL), нСдостаточно мСста, опСрация ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ ошибкой. Администратор Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Ρ€Π°Π½Π΅Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π½Π° систСмных Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… сСрвСра Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… имССтся свободноС пространство, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰Π΅Π΅ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ хотя Π±Ρ‹ Π² 1.5 Ρ€Π°Π·Π°.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ пСрСсчСт ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ½ΡƒΡ‚ΡŒ?

Частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° зависания β€” Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ (locks). Если Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ пСрСсчСта Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ пытаСтся провСсти Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Ρ‚ΠΎΡ‚ ΠΆΠ΅ рСгистр, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. Π’ MSSQL это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ deadlock, Π° Π² PostgreSQL β€” ΠΊ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΌΡƒ оТиданию. ΠŸΠ΅Ρ€Π΅Π΄ запуском ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² Π±Π°Π·Π΅ Π½Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… Π΄ΠΎΠ»Π³ΠΈΡ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ.

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

ВлияниС пСрСсчСта Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы

Запуск ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ пСрСсчСта ΠΈΡ‚ΠΎΠ³ΠΎΠ² ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ колоссальноС влияниС Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ всСй ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° процСссор сСрвСра Π‘Π£Π‘Π” ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ 100%. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ ΠΈ сортировки Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов. Если сСрвСр Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½, Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ Π½Π° этом ΠΆΠ΅ хостС Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΡ‹Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΡƒ рСсурсов.

ОсобСнно ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ являСтся влияниС Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΡƒΡŽ подсистСму. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ пСрСсчСта Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° (I/O). Π§Ρ‚Π΅Π½ΠΈΠ΅ всСх Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΈ запись Π½ΠΎΠ²Ρ‹Ρ… ΠΈΡ‚ΠΎΠ³ΠΎΠ² Π½Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ дисковыС массивы. Если Π² вашСй инфраструктурС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Π΅ HDD вмСсто SSD, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° систСмы для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΠ°ΡΡ‚ΡŒ Π² дСсятки Ρ€Π°Π·. ΠžΡ‚Ρ‡Π΅Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠΈΠ½ΡƒΡ‚Π°ΠΌΠΈ, Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² β€” Π·Π°Π²ΠΈΡΠ°Ρ‚ΡŒ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠžΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π Π΅ΠΆΠΈΠΌ пСрСсчСта ΠΈΡ‚ΠΎΠ³ΠΎΠ² РСкомСндация
Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° CPU 10-30% 80-100% Π—Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π² Π½Π΅Ρ€Π°Π±ΠΎΡ‡Π΅Π΅ врСмя
Дисковый I/O Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ ΠŸΠΈΠΊΠΎΠ²Ρ‹ΠΉ (Sequential) Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SSD диски
Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ записСй ΠšΡ€Π°Ρ‚ΠΊΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ (Table Lock) ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
Π‘Π΅Ρ‚Π΅Π²ΠΎΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Низкий Высокий (ΠΌΠ΅ΠΆΠ΄Ρƒ 1Π‘ ΠΈ Π‘Π£Π‘Π”) ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Π½Π°Π»

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ влияниС, ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ администраторы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ частичного пСрСсчСта. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ‚ΠΎΠ³ΠΈ Π·Π° всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ сущСствования Π±Π°Π·Ρ‹, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄. НапримСр, Ссли ошибка ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π° послСдний ΠΊΠ²Π°Ρ€Ρ‚Π°Π», Π½Π΅Ρ‚ смысла ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π·Π° послСдниС 5 Π»Π΅Ρ‚. Π­Ρ‚ΠΎ сократит врСмя выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ снизит Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° систСму.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ названия ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (БухгалтСрия, Π£Π’, Π—Π£ΠŸ). ВсСгда ΡΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Ρ€Π΅Π»ΠΈΠ·Ρƒ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ критичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π‘Ρ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΠΈ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΈ оптимизация Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π›ΡƒΡ‡ΡˆΠΈΠΉ способ Π±ΠΎΡ€ΡŒΠ±Ρ‹ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΈΡ‚ΠΎΠ³ΠΎΠ² β€” это ΠΈΡ… ΠΏΡ€ΠΎΡ„ΠΈΠ»Π°ΠΊΡ‚ΠΈΠΊΠ°. РСгулярноС обслуТиваниС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики Π‘Π£Π‘Π” ΠΈ Ρ€Π΅ΠΈΠ½Π΄Π΅ΠΊΡΠ°Ρ†ΠΈΡŽ, ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ. Бтатистика распрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ… позволяСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ запросов Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивныС ΠΏΠ»Π°Π½Ρ‹ выполнСния, Ρ‡Ρ‚ΠΎ ускоряСт ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ².

Π’Π°ΠΊΠΆΠ΅ рСкомСндуСтся Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚Π½Ρ‹Π΅ задания Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ цСлостности Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… конфигурациях Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΠΎΡ‡ΡŒΡŽ). Они ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Π΅ суммы ΠΈΠ»ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΎΡ‡Π½Ρ‹Π΅ остатки ΠΈ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ администратору ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ… Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡ… замСтят ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ. Π Π°Π½Π½Π΅Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ позволяСт ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ быстро ΠΈ с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Π°ΠΌΠΈ.

β˜‘οΈ ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ пСрСсчСту ΠΈΡ‚ΠΎΠ³ΠΎΠ²

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

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

πŸ’‘

РСгулярноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики Π² Π‘Π£Π‘Π” ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π·Π° отсутствиСм прямых SQL-ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΉ ΡΠ½ΠΈΠΆΠ°ΡŽΡ‚ риск рассинхронизации ΠΈΡ‚ΠΎΠ³ΠΎΠ² Π½Π° 90%.

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

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ процСсс пСрСсчСта ΠΈΡ‚ΠΎΠ³ΠΎΠ², Ссли ΠΎΠ½ слишком Π΄ΠΎΠ»Π³ΠΎ выполняСтся?

ΠŸΡ€Π΅Ρ€Ρ‹Π²Π°Ρ‚ΡŒ процСсс Π½Π°ΡΠΈΠ»ΡŒΡΡ‚Π²Π΅Π½Π½ΠΎ (Ρ‡Π΅Ρ€Π΅Π· диспСтчСр Π·Π°Π΄Π°Ρ‡ ΠΈΠ»ΠΈ kill сСссии Π² Π‘Π£Π‘Π”) ΠΊΡ€Π°ΠΉΠ½Π΅ Π½Π΅ рСкомСндуСтся. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈΡ‚ΠΎΠ³ΠΎΠ² Π² частично ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΌ состоянии, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹ΠΌ ошибкам. Π›ΡƒΡ‡ΡˆΠ΅ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ, Π² ΠΊΡ€Π°ΠΉΠ½Π΅ΠΌ случаС, ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ Π±Π°Π·Ρƒ ΠΈΠ· Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ, сдСланной ΠΏΠ΅Ρ€Π΅Π΄ стартом.

НуТно Π»ΠΈ ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ‚ΠΎΠ³ΠΈ послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ обновлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ?

НС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½ΠΎ ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Если ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ структуру рСгистров накоплСния (Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ измСрСния, ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΈΠΏΡ‹ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²), пСрСсчСт Π½ΡƒΠΆΠ΅Π½ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Если измСнСния ΠΊΠ°ΡΠ°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ справочников ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², стандартный ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ обновлСния ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ справляСтся сам. Однако профилактичСский пСрСсчСт Π½Π΅ ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ пСрСсчСт ΠΈΡ‚ΠΎΠ³ΠΎΠ² ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ быстро Π½Π° тСстовой Π±Π°Π·Π΅, Π½ΠΎ ΠΎΡ‡Π΅Π½ΡŒ Π΄ΠΎΠ»Π³ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ?

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

ВлияСт Π»ΠΈ вСрсия ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ пСрСсчСта?

Π”Π°, Π½ΠΎΠ²Ρ‹Π΅ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 8.3.20 ΠΈ Π²Ρ‹ΡˆΠ΅) содСрТат ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с рСгистрами ΠΈ Π‘Π£Π‘Π”. Они ΠΌΠΎΠ³ΡƒΡ‚ эффСктивнСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ возмоТности соврСмСнных вСрсий PostgreSQL ΠΈΠ»ΠΈ MS SQL Server. ОбновлСниС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ часто Π΄Π°Π΅Ρ‚ прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‚Π°ΠΊΠΈΡ… рСсурсоСмких ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли послС пСрСсчСта ΠΈΡ‚ΠΎΠ³ΠΈ всС Ρ€Π°Π²Π½ΠΎ Π½Π΅ сошлись?

Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Π²ΠΎΠΆΠ½Ρ‹ΠΉ сигнал, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠ΅ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π‘Π£Π‘Π” ΠΈΠ»ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ошибок Π² Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ. НСобходимо ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… срСдствами Π‘Π£Π‘Π” (DBCC CHECKDB для MS SQL ΠΈΠ»ΠΈ pg_checksums для PostgreSQL). Π’Π°ΠΊΠΆΠ΅ стоит ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΆΡƒΡ€Π½Π°Π» рСгистрации 1Π‘ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ошибок провСдСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².