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

Вопрос ΠΎ Ρ‚ΠΎΠΌ, сколько ΠΈΠΌΠ΅Π½Π½ΠΎ символов Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ этот ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π½Π΅ Ρ‚Π°ΠΊ прост, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд. ΠžΡ‚Π²Π΅Ρ‚ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΌΡ‹ рассматриваСм Π΄Π°Π½Π½Ρ‹Π΅: Π² Π²ΠΈΠ΄Π΅ строкового прСдставлСния для Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ°, Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ массива для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСссора ΠΈΠ»ΠΈ Π² спСцифичСском Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ UUID вСрсии 4, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ. НСпониманиС этих Ρ€Π°Π·Π»ΠΈΡ‡ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ критичСским ошибкам ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π΅Π·ΠΊΠ΅ строк Π² SQL-запросах ΠΈΠ»ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² синхронизации.

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

ВнутрСнняя структура ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ прСдставляСт собой 128-Π±ΠΈΡ‚Π½ΠΎΠ΅ число. Π­Ρ‚ΠΎ стандарт индустрии, принятый для обСспСчСния глобальной ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±Π΅Π· нСобходимости обращСния ΠΊ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΠΎΠΌΡƒ сСрвСру распрСдСлСния ΠΈΠΌΠ΅Π½. ΠŸΡ€ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈΠ»ΠΈ Π½Π° дискС Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ этот ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ строго фиксированный объСм β€” 16 Π±Π°ΠΉΡ‚. ИмСнно этот Ρ€Π°Π·ΠΌΠ΅Ρ€ являСтся Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΌ для Π‘Π£Π‘Π” ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

Однако, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Π² ΠΊΠΎΠ΄Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, ΠΎΠ½ Π²ΠΈΠ΄ΠΈΡ‚ строковоС прСдставлСниС. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ 16 Π±Π°ΠΉΡ‚ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡƒΡŽ строку. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ отобраТСния Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сами ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Π΅ Ρ†ΠΈΡ„Ρ€Ρ‹, Π½ΠΎ ΠΈ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΠΈ Π² Π²ΠΈΠ΄Π΅ дСфисов. ΠžΠ±Ρ‰Π°Ρ Π΄Π»ΠΈΠ½Π° Ρ‚Π°ΠΊΠΎΠΉ строки составляСт 36 символов.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ прямой Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ SQL (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Microsoft SQL Server ΠΈΠ»ΠΈ PostgreSQL) ΠΏΠΎΠ»Π΅, хранящСС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ 1Π‘, Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ‚ΠΈΠΏ uniqueidentifier ΠΈΠ»ΠΈ uuid (16 Π±Π°ΠΉΡ‚). ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ строковоС прСдставлСниС (36 символов) Π² Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ….

πŸ’‘

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΡ… Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с 1Π‘ всСгда создавайтС поля для GUID Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ 16 Π±Π°ΠΉΡ‚ (binary), Π° Π½Π΅ 36 символов (varchar). Π­Ρ‚ΠΎ сэкономит мСсто Π² индСксах ΠΈ ускорит Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ.

Π€ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ прСдставлСния: ΠΎΡ‚ 32 Π΄ΠΎ 38 символов

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

Π‘Π°ΠΌΡ‹ΠΉ распространСнный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ β€” это каноничСскоС прСдставлСниС UUID. Оно состоит ΠΈΠ· 32 ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ 8-4-4-4-12 дСфисами. ИмСнно этот Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅, ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ значСния ΠΊ Π‘Ρ‚Ρ€ΠΎΠΊΠ΅ Π² ΠΊΠΎΠ΄Π΅ 1Π‘. БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±Π΅Π· Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π²Π΅Π±-адрСсах ΠΈΠ»ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, Π³Π΄Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ.

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

НазваниС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠŸΡ€ΠΈΠΌΠ΅Ρ€ структуры ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ символов Π“Π΄Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ
Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ (с дСфисами) xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx 36 Основной Π²Ρ‹Π²ΠΎΠ΄ Π² 1Π‘, Π»ΠΎΠ³ΠΈ
Π‘Π΅Π· Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΉ xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 32 URL-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΊΠ»ΡŽΡ‡ΠΈ кэша
Π‘ΠΎ скобками {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 38 НСкоторыС COM-интСрфСйсы
Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ (RAW) 16 Π±Π°ΠΉΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… 16 (Π±Π°ΠΉΡ‚) Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² Π‘Π£Π‘Π”, ΠΏΠ°ΠΌΡΡ‚ΡŒ

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с внСшними систСмами, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ CRM ΠΈΠ»ΠΈ Π²Π΅Π±-сайты, часто трСбуСтся ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π±Π΅Π· дСфисов. Π’ этом случаС Π΄Π»ΠΈΠ½Π° строки сокращаСтся Π΄ΠΎ 32 символов. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ дСфисы ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ форматирования, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ стандартноС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ строкС Π² 1Π‘ всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ с дСфисами.

πŸ“Š Π‘ ΠΊΠ°ΠΊΠΈΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΎΠΌ GUID Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ Π² интСграциях?
Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ (36 символов)
Π‘Π΅Π· дСфисов (32 символа)
Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ (16 Π±Π°ΠΉΡ‚)
Бо скобками (38 символов)

Π Π°Π±ΠΎΡ‚Π° с GUID Π² ΠΊΠΎΠ΄Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

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

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строковоС прСдставлСниС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° для отобраТСния Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π΅ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π²ΠΎ внСшнюю систСму. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ функция Π‘Ρ‚Ρ€ΠΎΠΊΠ°(). Однако, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±Π΅Π· дСфисов, придСтся ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ() для удалСния символа "-", Π»ΠΈΠ±ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ссли Ρ€Π°Π±ΠΎΡ‚Π° вСдСтся Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ….

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

БтрокаБДСфисами = Π‘Ρ‚Ρ€ΠΎΠΊΠ°(ΠΠΎΠ²Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€);

БтрокаБСзДСфисов = Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ(БтрокаБДСфисами, "-", "");

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ опСрация β€” восстановлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ· строки β€” Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° достаточно ΡƒΠΌΠ½Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π²Π²ΠΎΠ΄Π°. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² конструктор Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ строку ΠΊΠ°ΠΊ с дСфисами, Ρ‚Π°ΠΊ ΠΈ Π±Π΅Π· Π½ΠΈΡ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС. БистСма автоматичСски ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΊ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌΡƒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ.

ΠŸΡ€ΠΈ написании запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Если Π²Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π² тСкст запроса, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ Π² ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ, Ссли это строка, ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Ошибки Π² Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ часто приводят ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ запрос Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ пустой Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, хотя запись Π² Π±Π°Π·Π΅ сущСствуСт.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ "ΡΠ³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ" GUID, просто набирая случайныС Ρ†ΠΈΡ„Ρ€Ρ‹ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅. Π’Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ стандарт вСрсии UUID ΠΊΡ€Π°ΠΉΠ½Π΅ высока. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ встроСнный конструктор Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€().

ΠŸΠΎΡ‡Π΅ΠΌΡƒ нСльзя ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ случайныС строки?

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ UUID (RFC 4122) опрСдСляСт Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π±ΠΎΡ€ символов, Π½ΠΎ ΠΈ структуру Π±ΠΈΡ‚ΠΎΠ². НапримСр, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π±ΠΈΡ‚Ρ‹ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ ΠΏΠΎΠ΄ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ вСрсии Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° (variant). Π ΡƒΡ‡Π½ΠΎΠΉ Π²Π²ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ эту структуру, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ нСсовмСстимости с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ систСмами, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΠΌΠΈ Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΉ UUID.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ хранСния Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π‘Π£Π‘Π”

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

Π’ Microsoft SQL Server для хранСния GUID ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… uniqueidentifier. Он Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€ΠΎΠ²Π½ΠΎ 16 Π±Π°ΠΉΡ‚. Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ эффСктивный способ хранСния. Если ΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎ ошибкС создаст ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Ρ‚ΠΈΠΏΠ° varchar(36), Ρ‚ΠΎ объСм Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ³ΠΎ мСста увСличится Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² Π΄Π²Π° Ρ€Π°Π·Π°, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°Ρ… записСй сущСствСнно скаТСтся Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π΅ Π±Π°Π·Ρ‹ ΠΈ скорости индСксации.

Π’ PostgreSQL Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ слуТит Ρ‚ΠΈΠΏ uuid. Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для хранСния 128-Π±ΠΈΡ‚Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΏΡ€ΠΈ установкС соСдинСния с PostgreSQL автоматичСски ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ этот Ρ‚ΠΈΠΏ для ΠΏΠΎΠ»Π΅ΠΉ ссылок ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ структуры Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… внСшними инструмСнтами.

  • πŸ“Š MS SQL Server: Π’ΠΈΠΏ uniqueidentifier, Ρ€Π°Π·ΠΌΠ΅Ρ€ 16 Π±Π°ΠΉΡ‚. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ NEWID().
  • 🐘 PostgreSQL: Π’ΠΈΠΏ uuid, Ρ€Π°Π·ΠΌΠ΅Ρ€ 16 Π±Π°ΠΉΡ‚. Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ.
  • πŸ“ Ѐайловая Π±Π°Π·Π°: Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚, Π½Π΅ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½Ρ‹ΠΉ для прямого рСдактирования.

ΠŸΡ€ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ Π‘Π£Π‘Π” Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΅Π·Π΄Π΅ с SQL Server Π½Π° PostgreSQL) Π²Π°ΠΆΠ½ΠΎ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ конвСртация Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΎΡˆΠ»Π° ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ Π±Π΅Ρ€Π΅Ρ‚ этот процСсс Π½Π° сСбя ΠΏΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ‹ (.dt Ρ„Π°ΠΉΠ»), Π½ΠΎ ΠΏΡ€ΠΈ прямой ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ† Ρ‡Π΅Ρ€Π΅Π· DTS ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ΠΏΠΎΡ‚Π΅Ρ€ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Ссли Ρ‚ΠΈΠΏΡ‹ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚.

πŸ’‘

ВсСгда провСряйтС Ρ‚ΠΈΠΏ поля Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Для GUID это Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ (16 Π±Π°ΠΉΡ‚), Π° Π½Π΅ строковый. Π­Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ Ρ„Π°ΠΊΡ‚ΠΎΡ€ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ индСксов.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΈ ошибки ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ

НаиболСС частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ β€” это нСсоотвСтствиС Π΄Π»ΠΈΠ½Ρ‹ строки. Π’Π½Π΅ΡˆΠ½ΡΡ систСма ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π΄Π»ΠΈΠ½ΠΎΠΉ 32 символа, Π° 1Π‘ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΡ‚Π΄Π°Π΅Ρ‚ 36. Если Π½Π° сторонС ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅ΠΉ систСмы стоит ТСсткоС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π»ΠΈΠ½Ρƒ поля (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, char(32)), Ρ‚ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ стандартный GUID Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ усСчСния Π΄Π°Π½Π½Ρ‹Ρ….

Другая распространСнная ошибка связана с рСгистром символов. Π₯отя стандарт UUID Π½Π΅ чувствитСлСн ΠΊ рСгистру ( Π±ΡƒΠΊΠ²Ρ‹ A-F ΠΈ a-f Ρ€Π°Π²Π½ΠΎΠ·Π½Π°Ρ‡Π½Ρ‹), Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ самописныС парсСры Π²ΠΎ Π²Π½Π΅ΡˆΠ½ΠΈΡ… систСмах ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ написаны Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΈ ΠΎΡ‚Π²Π΅Ρ€Π³Π°Ρ‚ΡŒ строчныС Π±ΡƒΠΊΠ²Ρ‹. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях приходится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π’Π Π΅Π³() для привСдСния строки ΠΊ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ рСгистру ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ "пустых" ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ². Π’ 1Π‘ сущСствуСт понятиС Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ значСния для Ρ‚ΠΈΠΏΠ° Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Оно выглядит ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ Π½ΡƒΠ»Π΅ΠΉ: 00000000-0000-0000-0000-000000000000. ΠŸΡ€ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² запросах Π½ΡƒΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ случайно Π½Π΅ ΠΎΡ‚ΡΠ΅Ρ‡ΡŒ ΠΈΠ»ΠΈ, Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π½Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ записи с Ρ‚Π°ΠΊΠΈΠΌ "Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ" ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, Ссли ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ смысл Π² вашСй ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚Π½ΠΎΠΉ области.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π½ΠΎΠ²Ρ‹Ρ… вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ спСцифичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ памяти, свСряйтС синтаксис с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ справкой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Π½Π΅Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Π΅.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ…

Π—Π½Π°Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ количСства символов ΠΈ структуры GUID Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈ настройкС ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· HTTP-сСрвисы, Π²Π΅Π±-сокСты ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹. НапримСр, ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π² мобильноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ, Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Для JSON ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»Π΅Π½ строковый Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ с дСфисами (36 символов), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ это стандарт Π΄Π΅-Ρ„Π°ΠΊΡ‚ΠΎ для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Excel ΠΈΠ»ΠΈ тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ² часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ с лишними ΠΏΡ€ΠΎΠ±Π΅Π»Π°ΠΌΠΈ ΠΈΠ»ΠΈ символами. ΠŸΠ΅Ρ€Π΅Π΄ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Ρ‚Π°ΠΊΠΎΠΉ строки Π² Ρ‚ΠΈΠΏ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π² ΠΊΠΎΠ΄Π΅ 1Π‘ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ очистку. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘ΠΎΠΊΡ€Π›ΠŸ() для удалСния ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΏΠΎ краям ΠΈ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π² строкС Π½Π΅Ρ‚ скрытых символов.

  • πŸ”— Бсылки Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π±Π΅Π· дСфисов (32 символа) для компактности URL.
  • πŸ’Ύ Π›ΠΎΠ³ΠΈ ΠΈ Π°ΡƒΠ΄ΠΈΡ‚: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ стандартный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ (36 символов) для удобства чтСния администратором.
  • ⚑ ВнутрСнняя Π»ΠΎΠ³ΠΈΠΊΠ°: Π Π°Π±ΠΎΡ‚Π°ΠΉΡ‚Π΅ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Ρ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ, избСгая Π»ΠΈΡˆΠ½ΠΈΡ… ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΉ Π² строку для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ быстродСйствия.

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

β˜‘οΈ Π§Π΅ΠΊ-лист ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ GUID ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5
Бколько Π±Π°ΠΉΡ‚ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π² памяти?

Π’ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈ ΠΏΡ€ΠΈ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€ΠΎΠ²Π½ΠΎ 16 Π±Π°ΠΉΡ‚ (128 Π±ΠΈΡ‚). Π­Ρ‚ΠΎ фиксированный Ρ€Π°Π·ΠΌΠ΅Ρ€, Π½Π΅ зависящий ΠΎΡ‚ способа отобраТСния.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ сгСнСрированный GUID ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² 1Π‘?

НСт, послС создания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, справочника) Π΅Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ являСтся нСизмСняСмым. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойству Бсылка.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π² строкС GUID Π΅ΡΡ‚ΡŒ дСфисы?

ДСфисы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ для удобства чтСния Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ. Они Ρ€Π°Π·Π±ΠΈΠ²Π°ΡŽΡ‚ Π΄Π»ΠΈΠ½Π½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€ Π½Π° логичСскиС Π³Ρ€ΡƒΠΏΠΏΡ‹ согласно стандарту RFC 4122. ВСхничСской Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠ½ΠΈ Π½Π΅ нСсут ΠΈ Π»Π΅Π³ΠΊΠΎ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли внСшняя систСма Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ GUID Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ рСгистрС?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ 1Π‘ Π’Π Π΅Π³(Π‘Ρ‚Ρ€ΠΎΠΊΠ°(Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€)). Π­Ρ‚ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ всС Π±ΡƒΠΊΠ²Ρ‹ A-F Π² Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр, оставив Ρ†ΠΈΡ„Ρ€Ρ‹ ΠΈ дСфисы Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

ЯвляСтся Π»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Ρ‹ ΠΈΠ»ΠΈ глобально?

Алгоритм Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ обСспСчиваСт Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ (Π² ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ… всСлСнной ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ). Однако Π² контСкстС Ρ€Π°Π±ΠΎΡ‚Ρ‹ 1Π‘ ΠΎΠ½ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Ρ‹. ΠŸΡ€ΠΈ объСдинСнии Π±Π°Π· Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π΄ΡƒΠ±Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ссли Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π Π˜Π‘.