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

ПониманиС ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρ‹ GUID критичСски Π²Π°ΠΆΠ½ΠΎ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с распрСдСлСнными ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ (Π Π˜Π‘) ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΎΠΌ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· XML ΠΈΠ»ΠΈ JSON. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ стандартных числовых ΠΊΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅/Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ GUID Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² пространствС ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. БистСма 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ 128-Π±ΠΈΡ‚Π½Ρ‹Π΅ значСния, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ»Π»ΠΈΠ·ΠΈΠΈ (совпадСния Π΄Π²ΡƒΡ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ²) практичСски Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π°ΠΆΠ΅ ΠΏΡ€ΠΈ создании Ρ‚Ρ€ΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

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

ΠŸΡ€ΠΈΡ€ΠΎΠ΄Π° ΠΈ структура ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (ΠΈΠ»ΠΈ GUID) Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘ прСдставляСт собой 16-Π±Π°ΠΉΡ‚ΠΎΠ²ΠΎΠ΅ (128 Π±ΠΈΡ‚) Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ΅ число. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΌΡ‹ часто воспринимаСм Π΅Π³ΠΎ ΠΊΠ°ΠΊ строку ΠΈΠ· Ρ†ΠΈΡ„Ρ€ ΠΈ Π±ΡƒΠΊΠ², Π²Π½ΡƒΡ‚Ρ€ΠΈ систСмы это бинарная структура. Она состоит ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… логичСских частСй, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ для обСспСчСния быстрой сортировки ΠΈ сравнСния. Алгоритм Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΡƒ, адрСс оборудования ΠΈ случайныС числа.

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

πŸ’‘

ΠŸΡ€ΠΈ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΊΠΎΠ΄Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ Новый() ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ гСнСрируСтся автоматичСски, Ссли Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ явно Π² конструктор.

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ прСдставлСниСм ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ. Π’ интСрфСйсС ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° ΠΈΠ»ΠΈ Π² ячСйкС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ GUID часто отобраТаСтся Π² стандартном строковом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ с дСфисами. Однако ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ прямом ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ памяти Ρ€Π°Π·ΠΌΠ΅Ρ€ остаСтся фиксированным β€” 16 Π±Π°ΠΉΡ‚. Бинарная структура позволяСт систСмС эффСктивно ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ записСй.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π°ΠΉΡ‚Ρ‹ GUID Π² ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (.1CD). Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡŽ ссылочной цСлостности ΠΈ нСвозмоТности открытия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ GUID ΠΎΡ‚ ссылки ΠΈ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… элСмСнтов

Частой ошибкой Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… спСциалистов являСтся смСшСниС понятий Бсылка ΠΈ GUID. Бсылка β€” это слоТный Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, сам ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (GUID) ΠΈ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ прСдопрСдСлСнности. GUID ΠΆΠ΅ являСтся лишь Ρ‡Π°ΡΡ‚ΡŒΡŽ ссылки, Π΅Π΅ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ядром. МоТно ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ GUID ΠΈΠ· ссылки, Π½ΠΎ нСльзя ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΡƒΡŽ ссылку, имСя Ρ‚ΠΎΠ»ΡŒΠΊΠΎ GUID, Π±Π΅Π· указания Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠžΡΠΎΠ±Ρ‹ΠΉ интСрСс прСдставляСт Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ элСмСнтами. Π’ конфигурациях часто ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ справочники с ТСстко Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«Π’ΠΈΠ΄Ρ‹ ΠΎΠΏΠ»Π°Ρ‚Β» ΠΈΠ»ΠΈ Β«Π‘Ρ‚Π°Ρ‚ΡŒΠΈ Π·Π°Ρ‚Ρ€Π°Ρ‚Β»). Для Ρ‚Π°ΠΊΠΈΡ… элСмСнтов GUID фиксируСтся Π½Π° этапС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅. Π­Ρ‚ΠΎ позволяСт программисту ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ Π² ΠΊΠΎΠ΄Π΅ Π±Π΅Π· поиска ΠΏΠΎ наимСнованию, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.Π’ΠΈΠ΄Ρ‹ΠžΠΏΠ»Π°Ρ‚.Наличными.

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

πŸ“Š Π‘ ΠΊΠ°ΠΊΠΈΠΌ аспСктом GUID Π² 1Π‘ Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ Ρ‡Π°Ρ‰Π΅ всСго?
Π Π°Π±ΠΎΡ‚Π° с Π Π˜Π‘
Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ Ρ‡Π΅Ρ€Π΅Π· HTTP
Поиск Π΄ΡƒΠ±Π»Π΅ΠΉ
ΠžΡ‚Π»Π°Π΄ΠΊΠ° запросов

Для явного получСния GUID ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свойство .Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π­Ρ‚ΠΎ свойство доступно для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² систСмы. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² строку для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π²ΠΎ внСшниС систСмы ΠΈΠ»ΠΈ сохранСния Π² тСкстовом ΠΏΠΎΠ»Π΅.

ГСнСрация ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ созданиС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ²

Π’ языкС 1Π‘ сущСствуСт нСсколько способов создания Π½ΠΎΠ²ΠΎΠ³ΠΎ GUID. Π‘Π°ΠΌΡ‹ΠΉ простой ΠΈ распространСнный β€” использованиС конструктора Ρ‚ΠΈΠΏΠ° Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ сформируСт Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ согласно стандарту UUID вСрсии 4 (случайноС). Π­Ρ‚ΠΎ стандартная ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° ΠΏΡ€ΠΈ создании Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ΄Π΅.

ΠΠΎΠ²Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ = Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€();

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(ΠΠΎΠ²Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€);

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

  • πŸ”Ή ИспользованиС конструктора Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€() для создания случайного ID.
  • πŸ”Ή ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строки Π²ΠΈΠ΄Π° "00000000-0000-0000-0000-000000000000" Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° GUID.
  • πŸ”Ή ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ссылки Ρ‡Π΅Ρ€Π΅Π· свойство .Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€.
  • πŸ”Ή Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ GUID ΠΈΠ· ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ GUID Π½Π΅Ρ‚ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ Π΅Π³ΠΎ лСксичСской сортируСмости ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ создания (Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ UUID v1). Π’ 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, Π° Π½Π΅ Π½Π° упорядочиваниС ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ самого Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ значСния.

ВСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ

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

Π Π°Π±ΠΎΡ‚Π° с GUID Π² запросах ΠΈ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частях

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

ΠŸΡ€ΡΠΌΠΎΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ GUID Π² тСкстС запроса допустимо, Π½ΠΎ считаСтся ΠΏΠ»ΠΎΡ…ΠΈΠΌ Ρ‚ΠΎΠ½ΠΎΠΌ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бСзопасности ΠΈ читаСмости ΠΊΠΎΠ΄Π°. Π›ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. Π­Ρ‚ΠΎ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ (хотя Π² 1Π‘ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ запросов Π±ΠΎΠ»Π΅Π΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½, Ρ‡Π΅ΠΌ прямой SQL) ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ Ρ‚Π°ΠΊΠΆΠ΅ позволяСт ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ тСкст запроса для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Бпособ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Бинтаксис Π² запросС РСкомСндация
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π“Π”Π• Бсылка = &ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π‘ΡΡ‹Π»ΠΊΠΈ Высокая. БСзопасно ΠΈ Π³ΠΈΠ±ΠΊΠΎ.
Π›ΠΈΡ‚Π΅Ρ€Π°Π» (строка) Π“Π”Π• Бсылка = GUID("...") БрСдняя. Допустимо для констант.
Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ НС поддСрТиваСтся Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Низкая. Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Π±ΡƒΡ„Π΅Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ записью Π² Π±Π°Π·Ρƒ, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‚ΠΈΠΏΠ° GUID ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Однако ΠΏΡ€ΠΈ экспортС Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² XML ΠΈΠ»ΠΈ JSON ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ явноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ΠΊ строкС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ внСшниС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° для 128-Π±ΠΈΡ‚Π½Ρ‹Ρ… ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ².

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ сравнСнии GUID Π² запросС ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅ рСгистр символов, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ строковоС прСдставлСниС Π²Π½Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π₯отя ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅, явноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ ΠΎΡ‚ логичСских ошибок.

ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ интСрфСйсС

Для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ GUID Π² Π΅Π³ΠΎ Β«Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌΒ» Π²ΠΈΠ΄Π΅ (Π½Π°Π±ΠΎΡ€ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€) Π½Π΅ нСсСт ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ смысловой Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ… 1Π‘ ΠΎΠ½ отобраТаСтся Π»ΠΈΠ±ΠΎ ΠΊΠ°ΠΊ ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (с Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ), Π»ΠΈΠ±ΠΎ, ΠΏΡ€ΠΈ нСобходимости, Π² строковом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅. ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΈΠΏΠΎΠΌ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈ Π‘Ρ‚Ρ€ΠΎΠΊΠ° выполняСтся автоматичСски ΠΏΡ€ΠΈ присваивании, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сдСлана ΠΈ явно Ρ‡Π΅Ρ€Π΅Π· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘Ρ‚Ρ€ΠΎΠΊΠ°().

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ GUID Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ ΠΈΠ»ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ для тСхничСской ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ. Π’ этом случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ строкового прСдставлСния. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ дСфисы, Π½ΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° трСбуСтся ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ Π²ΠΈΠ΄ (Π±Π΅Π· дСфисов) для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π² URL ΠΈΠ»ΠΈ спСцифичСскиС API.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° коррСктности GUID

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

ΠŸΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ»Ρ‹ (CSV, TXT) слСдуСт ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅. Π‘ΠΈΠΌΠ²ΠΎΠ»Ρ‹ A-F Π² GUID ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ Π·Π°Π³Π»Π°Π²Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ строчными. 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ для ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ прСдставлСния, Ρ‡Ρ‚ΠΎ являСтся стандартом Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ для ΠΌΠ½ΠΎΠ³ΠΈΡ… систСм. ИзмСнСниС рСгистра Π½Π΅ влияСт Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΡ€ΠΈ строгом сравнСнии строк Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… систСмах.

Роль ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Π² распрСдСлСнных Π±Π°Π·Π°Ρ… ΠΈ синхронизации

НаиболСС критичная Ρ€ΠΎΠ»ΡŒ GUID раскрываСтся Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ распрСдСлСнных ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π±Π°Π· (Π Π˜Π‘). Когда Π΄Π°Π½Π½Ρ‹Π΅ ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ ΡƒΠ·Π»ΠΎΠΌ ΠΈ ΠΏΠ΅Ρ€ΠΈΡ„Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΌΠΈ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ позволяСт систСмС ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Β«Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура» с ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«ΠšΠΈΡ€ΠΏΠΈΡ‡Β» Π² ΡƒΠ·Π»Π΅ А ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΡƒΠ·Π»Π΅ Π‘ β€” это ΠΎΠ΄Π½Π° ΠΈ Ρ‚Π° ΠΆΠ΅ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅.

Если Π±Ρ‹ синхронизация ΠΎΠΏΠΈΡ€Π°Π»Π°ΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΊΠΎΠ΄Ρ‹ ΠΈΠ»ΠΈ наимСнования, Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ Π±Ρ‹ Π½Π΅Ρ€Π°Π·Ρ€Π΅ΡˆΠΈΠΌΡ‹Π΅ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚Ρ‹ ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ создании ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΡƒΠ·Π»Π°Ρ…. ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π Π˜Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ GUID ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ для сопоставлСния записСй. ΠŸΡ€ΠΈ рСгистрации ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΆΡƒΡ€Π½Π°Π»Π΅ рСгистрации фиксируСтся ΠΈΠΌΠ΅Π½Π½ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠŸΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ (XML, JSON) GUID часто выступаСт Π² качСствС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° Ref ΠΈΠ»ΠΈ UUID. ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Π°Ρ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° этого поля Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅ΠΉ сторонС ссылки восстановятся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π½Π΅ Β«ΠΏΠΎΡ‚Π΅Ρ€ΡΡŽΡ‚Β» свои Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ части ΠΈΠ»ΠΈ двиТСния рСгистров.

πŸ’‘

Π’ распрСдСлСнных систСмах GUID являСтся СдинствСнным Π³Π°Ρ€Π°Π½Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ останСтся Π²Π°Π»ΠΈΠ΄Π½ΠΎΠΉ послС прохоТдСния Ρ‡Π΅Ρ€Π΅Π· мноТСство ΡƒΠ·Π»ΠΎΠ² синхронизации.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ GUID Ρƒ ΡƒΠΆΠ΅ созданного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² 1Π‘?

НСт, это Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ срСдствами ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. GUID присваиваСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΡ€ΠΈ создании ΠΈ являСтся нСизмСняСмым Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ Π½Π° протяТСнии всСго ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° записи. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π»Π° Π±Ρ‹ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ ссылочной цСлостности Π²ΠΎ всСй Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ GUID ΠΈ UUID Π² контСкстС 1Π‘?

ВСхничСски это синонимы. Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ 1Π‘ Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΠ»ΠΈ Π°Π±Π±Ρ€Π΅Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° GUID. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ UUID (Universal Unique Identifier) описываСт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ совмСстима со стандартом UUID вСрсии 4.

Π—Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π»ΠΈ GUID ΠΌΠ½ΠΎΠ³ΠΎ мСста Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…?

Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… (.1CD) ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ GUID Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ фиксированныС 16 Π±Π°ΠΉΡ‚ Π² слуТСбных полях Ρ‚Π°Π±Π»ΠΈΡ†. Π’ SQL-вСрсиях (MSSQL, PostgreSQL) ΠΎΠ½ отобраТаСтся Π² Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… uniqueidentifier ΠΈΠ»ΠΈ uuid, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ эффСктивно с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния хранСния ΠΈ индСксации.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ GUID отобраТаСтся ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ ΠΈ Π² Π±Π°Π·Π΅?

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ Π² Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·Π°Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘. ВсСгда провСряйтС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ синтаксиса Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΊ вашСй вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (8.3.x).