Bosh sahifa Wiki Record

Record

Record — ma’lumotlar tizimida bitta obyekt, hodisa yoki kuzatuvga tegishli maydonlar to‘plamidir. Jadvalda u ko‘pincha satrga, dasturlash tilida nomlangan maydonli tuzilmaga, faylda esa format qoidasi bilan chegaralangan yozuvga mos keladi. Recordning aniq chegarasi va identifikatori schema hamda saqlash modeliga bog‘liq.

Tuzilishi

Xodim recordi employee_id, name, department va hired_at maydonlarini o‘z ichiga olishi mumkin. Har field nom, tur va qiymatga ega. Majburiy maydon yo‘q bo‘lsa record yaroqsiz hisoblanishi, optional maydon esa null bo‘lishi mumkin. Default qiymat “noma’lum” ma’nosiga tenglashtirilmasligi kerak.

Fixed-length recordda har maydon oldindan belgilangan joy va uzunlikka ega. Offset orqali tez topiladi, lekin qisqa qiymatlar joyni isrof qiladi va schema o‘zgarishi qiyin. Variable-length record uzunlik prefiksi, delimiter yoki ichki indeksdan foydalanadi. Matn, ro‘yxat va nested obyektlar uchun mos, biroq parsing hamda yangilash murakkabroq.

Identifikatsiya

Primary key recordni to‘plam ichida noyob aniqlaydi. Tabiiy kalit real dunyo atributidan, surrogate key esa tizim yaratgan qiymatdan olinadi. Kalit o‘zgarmas bo‘lsa havolalar va deduplikatsiya osonlashadi. Ism yoki telefon kabi o‘zgaruvchan va takrorlanadigan atributni kalit qilish ma’lumot birlashuviga xavf tug‘diradi.

Record version maydoni optimistic concurrency uchun ishlatilishi mumkin. Mijoz o‘qigan versiya bilan shartli update yuboradi; boshqa yozuvchi oldin o‘zgartirgan bo‘lsa, operatsiya konflikt qaytaradi. Created, updated va source metadata audit uchun foydali, ammo biznes hodisasi va tizimga yozilgan vaqt alohida saqlanishi mumkin.

Saqlash modellari

Relatsion bazada record satr bo‘lib, ustunlar qat’iy schema va cheklovlarga ega. Document bazada bitta record nested obyekt hamda massivlarni saqlashi mumkin. Key-value omborda kalit recordni topadi, qiymat esa opaque blob yoki serializatsiyalangan tuzilma bo‘ladi. Log tizimida record append-only hodisa sifatida partition va offset bilan aniqlanadi.

Row-oriented sahifada bitta recordning maydonlari yonma-yon joylashadi. Columnar formatda ayni rowga tegishli qiymatlar turli ustun oqimlarida bo‘ladi, ammo row position yoki level metadata ularni mantiqiy recordga qayta yig‘adi. Fizik joylashuv mantiqiy chegarani o‘zgartirmaydi.

Serializatsiya va evolyutsiya

JSON recordni o‘qish oson, lekin son aniqligi va schema tashqi kelishuvga bog‘liq. Avro, Protocol Buffers kabi formatlar field ID yoki schema orqali ixcham binary ko‘rinish beradi. Yangi maydon qo‘shilganda eski reader nima qilishi, maydon olib tashlanganda yangi reader qanday default ishlatishi compatibility siyosatida belgilanadi.

Record chegaralari buzilsa, bitta xato keyingi yozuvlarni ham noto‘g‘ri parse qildirishi mumkin. Uzunlik, checksum va framing tiklanishga yordam beradi. Validatsiya alohida fieldlardan tashqari recordlararo invariantni ham tekshiradi; masalan, start_at end_atdan keyin bo‘lmasligi kerak.

Record locking

Relatsion tizim bir record yangilanayotganda row-level lock ishlatishi mumkin. Bu turli satrlardagi ishni parallel qoldiradi, ammo indeks qidiruvi yoki foreign key tekshiruvi qo‘shimcha locklarga tegishi mumkin. “Record lock” nomi fizik disk recordining o‘zi qulflanganini har doim anglatmaydi; database lock manager mantiqiy key yoki intervalni himoya qilishi mumkin.

O‘chirish semantikasi

Hard delete recordni faol to‘plamdan jismonan olib tashlashga yo‘naltiriladi. Soft delete deleted_at yoki status bilan yashiradi, audit va tiklashni osonlashtiradi, lekin barcha querylar filtrni qo‘llashi shart. Event sourced tizimda record o‘chirilmay, bekor qiluvchi yangi hodisa qo‘shilishi mumkin.

Bog‘liq tushunchalar

Field, Row, Schema, Primary key, Serialization, Document database, Data validation