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

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

АрхитСктура рСгистров свСдСний ΠΈ понятиС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

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

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

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ пСрСзаписи фактичСски прСдставляСт собой связку ΠΈΠ· Π΄Π²ΡƒΡ… дСйствий: поиска ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ записи ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ ΠΈ Π΅Ρ‘ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ обновлСния ΠΈΠ»ΠΈ удалСния с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠΉ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² высоконагруТСнных систСмах Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊ ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с пСриодичСскими рСгистрами свСдСний ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄. Π—Π°ΠΏΠΈΡΡŒ с ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΌ ΠΎΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ, Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ Π½ΠΎΠ²ΠΎΠΉ историчСской записью, Π° Π½Π΅ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒΡŽ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ.

Π Π΅ΠΆΠΈΠΌΡ‹ записи: Различия ΠΌΠ΅ΠΆΠ΄Ρƒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ элСмСнтом управлСния ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ записи являСтся свойство РСТимЗаписи Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π°Π±ΠΎΡ€Π° записСй. ИмСнно этот ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΈΠΊΡ‚ΡƒΠ΅Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅, ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ входящиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΆΠ΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ Π² Π±Π°Π·Π΅. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ссли Π²Ρ‹ создаСтС Π½ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ записСй Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠΠ°Π±ΠΎΡ€Π—Π°ΠΏΠΈΡΠ΅ΠΉ(), Ρ€Π΅ΠΆΠΈΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСн Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‰Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅.

Для выполнСния пСрСзаписи Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ РСТимЗаписиРСгистраБвСдСний.Π—Π°ΠΏΠΈΡΡŒ. Π’ этом Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски выполняСт поиск записСй с ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌΠΈ измСрСниями (ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ, Ссли рСгистр пСриодичСский). Если такая запись Π½Π°ΠΉΠ΄Π΅Π½Π°, Π΅Ρ‘ рСсурсы ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ значСниями ΠΈΠ· Π½ΠΎΠ²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π°. Если запись Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, ΠΎΠ½Π° создаСтся Π·Π°Π½ΠΎΠ²ΠΎ. Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ бСзопасный ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ способ обновлСния Π΄Π°Π½Π½Ρ‹Ρ….

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π΅ΠΆΠΈΠΌ РСТимЗаписиРСгистраБвСдСний.ΠŸΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² спСцифичСских сцСнариях, ΠΊΠΎΠ³Π΄Π° записи рСгистра свСдСний ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Ρ‹ рСгистратору. Однако для стандартной Π·Π°Π΄Π°Ρ‡ΠΈ пСрСзаписи ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ½ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π΄ΠΊΠΎ. ИспользованиС Ρ€Π΅ΠΆΠΈΠΌΠ° Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π΄ΡƒΠ±Π»Π΅ΠΉ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ситуации "ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ записи", Ρ‡Ρ‚ΠΎ остановит Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибок.

  • πŸ”Ή Π Π΅ΠΆΠΈΠΌΠ—Π°ΠΏΠΈΡΡŒ β€” обновляСт ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ записи ΠΈΠ»ΠΈ создаСт Π½ΠΎΠ²Ρ‹Π΅, Ссли ΠΈΡ… Π½Π΅Ρ‚.
  • πŸ”Ή Π Π΅ΠΆΠΈΠΌΠ”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ β€” создаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠ²Ρ‹Π΅ записи, Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.
  • πŸ”Ή Π Π΅ΠΆΠΈΠΌΠ£Π΄Π°Π»Π΅Π½ΠΈΠ΅ β€” удаляСт записи, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ измСрСниям Π² Π½Π°Π±ΠΎΡ€Π΅, игнорируя значСния рСсурсов.
πŸ“Š Какой Ρ€Π΅ΠΆΠΈΠΌ записи Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
Π—Π°ΠΏΠΈΡΡŒ (ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅)
Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ (Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½ΠΎΠ²Ρ‹Π΅)
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅
АвтоматичСски

Алгоритм пСрСзаписи Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° встроСнном языкС

РСализация Π»ΠΎΠ³ΠΈΠΊΠΈ пСрСзаписи Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ выполнСния Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… шагов. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ рСгистра, Π·Π°Ρ‚Π΅ΠΌ создаСм Π½Π°Π±ΠΎΡ€ записСй, заполняСм Π΅Π³ΠΎ ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, записываСм Π² Π±Π°Π·Ρƒ. Π’Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ поля, Ρ‡Ρ‚ΠΎΠ±Ρ‹ систСма ΠΌΠΎΠ³Π»Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ†Π΅Π»Π΅Π²ΡƒΡŽ запись.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, Π³Π΄Π΅ ΠΌΡ‹ обновляСм курс Π²Π°Π»ΡŽΡ‚Ρ‹ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π΄Π°Ρ‚Ρ‹. Π‘Π½Π°Ρ‡Π°Π»Π° создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π°Π±ΠΎΡ€Π° записСй. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ обращаСмся ΠΊ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ записСй ΠΈ добавляСм Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт. Π’ этом элСмСнтС ΠΌΡ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ заполняСм всС измСрСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ входят Π² ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡. ПослС этого заполняСм рСсурсы Π½ΠΎΠ²Ρ‹ΠΌΠΈ значСниями.

Π€ΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ этапом являСтся Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(). Π’ этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ SQL-запрос ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Если Ρ€Π΅ΠΆΠΈΠΌ записи установлСн Π²Π΅Ρ€Π½ΠΎ, старыС Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Ρ‚Π΅Ρ€Ρ‚Ρ‹ Π½ΠΎΠ²Ρ‹ΠΌΠΈ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ дСйствий для Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ обновлСния справочной ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΠšΡƒΡ€ΡΠ’Π°Π»ΡŽΡ‚Ρ‹(Π’Π°Π»ΡŽΡ‚Π°, Π”Π°Ρ‚Π°ΠšΡƒΡ€ΡΠ°, ΠΠΎΠ²Ρ‹ΠΉΠšΡƒΡ€Ρ)

// ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ рСгистра

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π Π΅Π³ΠΈΡΡ‚Ρ€Π° = РСгистрыБвСдСний.ΠšΡƒΡ€ΡΡ‹Π’Π°Π»ΡŽΡ‚;

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½Π°Π±ΠΎΡ€ записСй

НаборЗаписСй = ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π Π΅Π³ΠΈΡΡ‚Ρ€Π°.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠΠ°Π±ΠΎΡ€Π—Π°ΠΏΠΈΡΠ΅ΠΉ();

// УстанавливаСм Ρ€Π΅ΠΆΠΈΠΌ записи для пСрСзаписи ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…

НаборЗаписСй.РСТимЗаписи = РСТимЗаписиРСгистраБвСдСний.Π—Π°ΠΏΠΈΡΡŒ;

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡƒΡŽ запись Π² Π½Π°Π±ΠΎΡ€Π΅

ΠΠΎΠ²Π°ΡΠ—Π°ΠΏΠΈΡΡŒ = НаборЗаписСй.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

// ЗаполняСм измСрСния (ΠΊΠ»ΡŽΡ‡ΠΈ)

ΠΠΎΠ²Π°ΡΠ—Π°ΠΏΠΈΡΡŒ.Π’Π°Π»ΡŽΡ‚Π° = Π’Π°Π»ΡŽΡ‚Π°;

ΠΠΎΠ²Π°ΡΠ—Π°ΠΏΠΈΡΡŒ.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ = Π”Π°Ρ‚Π°ΠšΡƒΡ€ΡΠ°;

// ЗаполняСм рСсурсы (Π΄Π°Π½Π½Ρ‹Π΅)

ΠΠΎΠ²Π°ΡΠ—Π°ΠΏΠΈΡΡŒ.ΠšΡƒΡ€Ρ = ΠΠΎΠ²Ρ‹ΠΉΠšΡƒΡ€Ρ;

ΠΠΎΠ²Π°ΡΠ—Π°ΠΏΠΈΡΡŒ.ΠšΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ = 1;

// ЀиксируСм измСнСния Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…

НаборЗаписСй.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ();

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

β˜‘οΈ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ список ΠΏΠ΅Ρ€Π΅Π΄ записью

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

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° пСриодичСских ΠΈ нСпСриодичСских рСгистров

Π Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ пСриодичСскими ΠΈ нСпСриодичСскими рСгистрами Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ Π½Π° ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ пСрСзаписи. Π’ нСпСриодичСском рСгистрС, Ρ‚Π°ΠΊΠΎΠΌ ΠΊΠ°ΠΊ "ΠΠ°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ", ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π—Π΄Π΅ΡΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ опрСдСляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ основными измСрСниями. ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ Π² Ρ‚Π°ΠΊΠΎΠΌ случаС происходит ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ замСняСт староС состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Π’ пСриодичСских рСгистрах, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ "ЦСныНомСнклатуры", критичСски Π²Π°ΠΆΠ΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Если Π²Ρ‹ записываСтС Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ 2023.10.01 12:00:00, Π° Π² Π±Π°Π·Π΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ запись с ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ 2023.10.01 12:00:01, систСма сочтСт ΠΈΡ… Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ записями. Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ пСрСзаписи "Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ" состояния часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ получСния ΠΊΠΎΠ½Ρ†Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° ΠΈΠ»ΠΈ явно ΠΎΠΊΡ€ΡƒΠ³Π»ΡΡŽΡ‚ врСмя Π΄ΠΎ сСкунд/ΠΌΠΈΠ½ΡƒΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Π² Ρ‚Ρƒ ΠΆΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ.

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

Π’ΠΈΠΏ рСгистра ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ измСрСния ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ пСрСзаписи Риск ошибки
НСпСриодичСский Волько основныС Полная Π·Π°ΠΌΠ΅Π½Π° ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ Низкий
ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΠΈΠΉ ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ + ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ Зависит ΠΎΡ‚ точности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Высокий (Π΄ΡƒΠ±Π»ΠΈ ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ)
ΠŸΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹ΠΉ РСгистратор + ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ (ошибка рСгистратора)
ВСдомствСнный Π’Π»Π°Π΄Π΅Π»ΡŒΡ†Ρ‹ + ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π° Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ (Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ Π²Π»Π°Π΄Π΅Π»Π΅Ρ†)

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ массовой пСрСзаписи

Когда Ρ€Π΅Ρ‡ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΠ± ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ тысяч ΠΈΠ»ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² записСй, построчная запись Π² Ρ†ΠΈΠΊΠ»Π΅ становится нСдопустимой с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ() ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π‘Π£Π‘Π”, Ρ‡Ρ‚ΠΎ создаСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ. Для Ρ‚Π°ΠΊΠΈΡ… случаСв сущСствуСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ записи.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ НаборЗаписСй тысячами элСмСнтов ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ записи Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ‹. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ этот процСсс, формируя ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ SQL-инструкции. Однако Π΄Π°ΠΆΠ΅ Π² этом случаС ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚Π°, зависящиС ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ настроСк сСрвСра. ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ΠΈΠ΅ Π»ΠΈΠΌΠΈΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ€Π°Π·Ρ€Ρ‹Π²Ρƒ соСдинСния ΠΈΠ»ΠΈ ошибкС выполнСния.

Π•Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ аспСктом являСтся использованиС ΠΎΡ‚Π±ΠΎΡ€ΠΎΠ². Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ подраздСлСния ΠΈΠ»ΠΈ склада, Π½Π΅Ρ‚ нСобходимости Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ вСсь рСгистр Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠΠ°Π±ΠΎΡ€Π—Π°ΠΏΠΈΡΠ΅ΠΉ() с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΎΡ‚Π±ΠΎΡ€Π° ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π±ΠΎΡ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ записСй. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти сСрвСром 1Π‘.

πŸ’‘

ΠŸΡ€ΠΈ массовой пСрСзаписи ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ явно: ΠΎΠ±Π΅Ρ€Π½ΠΈΡ‚Π΅ Ρ†ΠΈΠΊΠ» заполнСния ΠΈ запись Π² ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ "ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ().. Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ()", Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ массовой пСрСзаписи Π² высоконагруТСнных систСмах (Π±ΠΎΠ»Π΅Π΅ 100 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ) Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ (deadlocks). ΠŸΠ»Π°Π½ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° Π½ΠΎΡ‡Π½ΠΎΠ΅ врСмя ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ способы ΠΈΡ… устранСния

НаиболСС распространСнной ошибкой являСтся ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ запись Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΡƒΠΆΠ΅ сущСствуСт. БистСма выдаст сообщСниС ΠΎΠ± ошибкС, ΠΈ транзакция Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½Π°. РСшСниС простоС: всСгда провСряйтС Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΡ‚Π°Π²ΡŒΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ Π—Π°ΠΏΠΈΡΡŒ. Вторая частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ измСрСния. Если ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ "Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ" ΠΈ Π² Π½Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, запись ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π½Π°ΠΉΡ‚ΠΈΡΡŒ ΠΈΠ»ΠΈ Π±Ρ‹Ρ‚ΡŒ записана Π½Π΅Π²Π΅Ρ€Π½ΠΎ.

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

Иногда Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΊΠΎΠ³Π΄Π° запись Π²Ρ€ΠΎΠ΄Π΅ Π±Ρ‹ ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±Π°Π·Π΅ Π½Π΅ измСнились. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ записСй оказался пустым Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ записи, Π»ΠΈΠ±ΠΎ ΠΎΡ‚Π±ΠΎΡ€Ρ‹ Π±Ρ‹Π»ΠΈ Π½Π°Π»ΠΎΠΆΠ΅Π½Ρ‹ Π½Π΅Π²Π΅Ρ€Π½ΠΎ. Для диагностики ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ ΠΈ провСряйтС свойство ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() Ρƒ Π½Π°Π±ΠΎΡ€Π° записСй ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° записи.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли запись Π½Π΅ обновляСтся?

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ установлСн Π»ΠΈ Ρ€Π΅ΠΆΠΈΠΌ "Π’ΠΎΠ»ΡŒΠΊΠΎΠ—Π°ΠΏΡ€ΠΎΡ" Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… совпадаСт с Ρ‚ΠΈΠΏΠΎΠΌ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ рСгистра. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π»ΠΈ запись Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ процСсс.

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

МоТно Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ запись, Ссли рСгистр вСдСтся ΠΏΠΎ рСгистратору?

Π”Π°, ΠΌΠΎΠΆΠ½ΠΎ. Π’ этом случаС ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ "РСгистратор" Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π² Π½Π°Π±ΠΎΡ€Π΅ записСй. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ΠΎ заполняСтся автоматичСски, Ссли Π½Π°Π±ΠΎΡ€ записСй создан ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ записи Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ явно.

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ€ΡƒΡŽ запись ΠΏΠ΅Ρ€Π΅Π΄ записью Π½ΠΎΠ²ΠΎΠΉ?

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

ВлияСт Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ Π½Π° ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² пСриодичСском рСгистрС?

Если Π²Ρ‹ записываСтС Π΄Π°Π½Π½Ρ‹Π΅ с Ρ‚Π΅ΠΌ ΠΆΠ΅ самым ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ (Π΄ΠΎ сСкунды), старая запись замСняСтся, ΠΈ история Π² этой Ρ‚ΠΎΡ‡ΠΊΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ обновляСтся. Если ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ отличаСтся, создаСтся новая вСрсия, ΠΈ история сохраняСтся.

Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ рСсурс ΠΏΡ€ΠΈ пСрСзаписи?

Если рСсурс Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ Π² Π½ΠΎΠ²ΠΎΠΉ записи, ΠΎΠ½ ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для своСго Ρ‚ΠΈΠΏΠ° (0 для чисСл, пустая строка для строк, null для ссылочных Ρ‚ΠΈΠΏΠΎΠ²). Π‘Ρ‚Π°Ρ€ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ утСряно.

πŸ’‘

Π“Π»Π°Π²Π½ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ пСрСзаписи: всСгда явно устанавливайтС РСТимЗаписи = Π—Π°ΠΏΠΈΡΡŒ ΠΈ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ заполнСния ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π² пСриодичСских рСгистрах.