Identity column — database tomonidan yangi row uchun ketma-ket raqamni avtomatik hosil qiladigan ustun. SQL standartida identity xususiyati generation siyosati, boshlang‘ich qiymat va increment bilan belgilanadi; aniq syntax database mahsulotiga bog‘liq.
Generation rejimi
GENERATED ALWAYS explicit qiymat kiritishni odatda cheklaydi. Bu modelning cheklovi protocol, database yoki security policyda aniq yoziladi. BY DEFAULT rejimi kerak bo‘lsa client qiymatiga ruxsat berishi mumkin. Afzallik bilan birga compatibility, privacy va failure ta’siri ham baholanadi. Start va increment musbat yoki manfiy ketma-ketlikni belgilaydi. Nazorat faqat normal holatni emas, rotation, rollback va partial failure’ni qamraydi.
Sequence xususiyati
Rollback qilingan transaction olgan raqam qayta ishlatilmasligi mumkin. Afzallik bilan birga compatibility, privacy va failure ta’siri ham baholanadi. Cache va parallel allocation sabab identity qiymatlarida gap bo‘lishi tabiiy. Nazorat faqat normal holatni emas, rotation, rollback va partial failure’ni qamraydi. Identity ketma-ketligi business document raqami uchun uzluksizlik kafolati emas. Bu modelning cheklovi protocol, database yoki security policyda aniq yoziladi.
Concurrency
Database concurrent insertlarga noyob qiymat ajratadi. Nazorat faqat normal holatni emas, rotation, rollback va partial failure’ni qamraydi. Oxirgi yaratilgan ID session-safe usul bilan olinishi kerak. Bu modelning cheklovi protocol, database yoki security policyda aniq yoziladi. MAX(id)+1 race condition sabab xavfsiz generator emas. Afzallik bilan birga compatibility, privacy va failure ta’siri ham baholanadi.
Migration va replication
Bulk importdan keyin generator joriy maksimum bilan moslashtiriladi. Bu modelning cheklovi protocol, database yoki security policyda aniq yoziladi. Multi-primary replication alohida range yoki boshqa ID strategiyasini talab qiladi. Afzallik bilan birga compatibility, privacy va failure ta’siri ham baholanadi. Type capacity tugashidan oldin monitoring va kengaytirish rejalashtiriladi. Nazorat faqat normal holatni emas, rotation, rollback va partial failure’ni qamraydi.
Amaliy tanlov
Identity column 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. Identity columnga tegishli log hamda metric sensitive ma’lumotni ochmasdan xato sababini va rollout versiyasini ko‘rsatishi kerak.
Chekka holatlar va dalillar
Capacity reviewda generation rejimi bilan sequence xususiyati 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.
Identity column uchun concurrency hamda migration va replication bo‘yicha kutilgan invariantlar yoziladi. Sequence, Auto-increment, Primary key va Surrogate key 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
Sequence, Auto-increment, Primary key, Surrogate key, Generated column, Concurrency, Integer overflow, Replication