Bosh sahifa Wiki Surrogate key

Surrogate key

Surrogate key — entityni aniqlash uchun database yoki application yaratadigan, biznes ma’nosiga ega bo‘lmagan sun’iy identifikator. U integer identity, sequence qiymati yoki UUID shaklida bo‘lishi mumkin.

Natural key bilan munosabat

Natural key biznes atributlaridan tuziladi. Afzallik bilan birga compatibility, privacy va failure ta’siri ham baholanadi. Surrogate key biznes qiymati o‘zgarsa ham stable reference bo‘lib qoladi. Nazorat faqat normal holatni emas, rotation, rollback va partial failure’ni qamraydi. Natural candidate keylar unique constraint bilan baribir himoyalanishi kerak. Bu modelning cheklovi protocol, database yoki security policyda aniq yoziladi.

Afzallik

Bitta qisqa key foreign key va joinlarni soddalashtiradi. Nazorat faqat normal holatni emas, rotation, rollback va partial failure’ni qamraydi. Integer key indexda compact va locality uchun qulay. Bu modelning cheklovi protocol, database yoki security policyda aniq yoziladi. Data warehouse dimensioni source tizimlardagi turli keylarni birlashtirishi mumkin. Afzallik bilan birga compatibility, privacy va failure ta’siri ham baholanadi.

Chegaralar

Surrogate key duplicate business entityni avtomatik to‘xtatmaydi. Bu modelning cheklovi protocol, database yoki security policyda aniq yoziladi. IDni APIda ochish enumeration xavfini security policy bilan hal qilmaydi. Afzallik bilan birga compatibility, privacy va failure ta’siri ham baholanadi. Markaziy sequence distributed writerlar uchun bottleneck bo‘lishi mumkin. Nazorat faqat normal holatni emas, rotation, rollback va partial failure’ni qamraydi.

Tanlash

Identity bitta database ichida oddiy tanlovdir. Afzallik bilan birga compatibility, privacy va failure ta’siri ham baholanadi. UUID coordination talabini kamaytiradi, index localityga ta’sir qilishi mumkin. Nazorat faqat normal holatni emas, rotation, rollback va partial failure’ni qamraydi. Distributed ID time, node va sequence qismlarini birlashtirishi mumkin. Bu modelning cheklovi protocol, database yoki security policyda aniq yoziladi.

Amaliy tanlov

Surrogate key mavjud architecture, data hajmi va threat modelga mos tanlanadi. “Default” yoki “zamonaviy” degan sifatning o‘zi qaror uchun yetarli emas; uniqueness, compatibility, observability, recovery va operatsion narx o‘lchanadi. Chekka qiymatlar hamda uzoq muddatli capacity alohida hisoblanadi.

Migration vaqtida eski va yangi format qisqa muddat birga ishlashi mumkin. Reader avval backward-compatible chiqariladi, keyin writer o‘zgartiriladi va oxirida eski yo‘l yopiladi. Surrogate keyga tegishli log hamda metric sensitive ma’lumotni ochmasdan xato sababini va rollout versiyasini ko‘rsatishi kerak.

Chekka holatlar va dalillar

Security reviewda natural key bilan munosabat bilan afzallik bir xil natija deb qaralmaydi. Bir qatlam muvaffaqiyatli ko‘rinsa ham keyingi qatlamdagi mapping, policy yoki data holati umumiy xizmatni buzishi mumkin. Shu sabab input, oraliq qaror va yakuniy output alohida log yoki metric bilan kuzatiladi. Bo‘sh qiymat, limitga yaqin hajm, duplicate operation, kechikkan javob va qisman nosoz dependency maxsus testlarda qamrab olinadi.

Surrogate key uchun chegaralar hamda tanlash bo‘yicha kutilgan invariantlar yoziladi. Natural key, Candidate key, Primary key va Identity column bilan integratsiya configuration yoki schema yangilanganda qayta tekshiriladi. Normal trafficdagi muvaffaqiyat recovery tayyorligini isbotlamaydi; rollback, rotation yoki rebuild amalda bajarilib ko‘riladi. Natija owner, versiya va source position bilan saqlansa, keyingi incidentda sababni taxmin bilan emas, tekshirilgan dalil orqali aniqlash mumkin.

Bog‘liq tushunchalar

Natural key, Candidate key, Primary key, Identity column, UUID, Distributed ID, Unique constraint, Foreign key