Asosiy kontentga o‘tish
Innovialabs

«Yulduz» va «qor parchasi» sxemalari: analitika uchun ma’lumot modeli

Asoslar4 daq

Qisqacha

Ikkala sxemada ham raqamli hodisalar o‘lchovlar bilan o‘ralgan markaziy faktlar jadvalida saqlanadi; «yulduz» har bir o‘lchovni oddiy va tez so‘rovlar uchun bitta keng jadvalda saqlaydi, «qor parchasi» esa o‘lchovlarni normallashtirilgan kichik jadvallarga bo‘ladi, BI vositalari esa «yulduz» bilan eng yaxshi ishlaydi.

Qisqa javob

«Yulduz» (star schema) sxemasida bitta markaziy faktlar jadvali (nima sodir bo‘ldi va qanday raqamlarda) tekis o‘lchovlar jadvallari (kim, nima, qayerda, qachon) bilan bevosita bog‘langan. «Qor parchasi» (snowflake schema) — xuddi shu g‘oya, lekin o‘lchovlar bir nechta bog‘langan jadvallarga normallashtirilgan, masalan mahsulot → kategoriya → bo‘lim.

Analitika va BI uchun «yulduz» — odatiy tanlov: kamroq birlashtirish, oddiyroq so‘rovlar, biznes foydalanuvchilarga tushunarliroq. «Qor parchasi» — juda katta yoki umumiy o‘lchovlar uchun aniq maqsadli yechim, o‘z-o‘zidan maqsad emas.

Chakana savdo misolida asosiy qismlar

Do‘konlar tarmog‘ini tasavvur qiling. Savollar: qancha, nima, qayerda, qachon va kimga sotdik?

Faktlar jadvali

fact_sales hodisalar va o‘lchanadigan qiymatlarni (measures) — yig‘iladigan yoki o‘rtachalanadigan raqamlarni saqlaydi:

UstunMa’nosi
date_keydim_date’ga havola
store_keydim_store’ga havola
product_keydim_product’ga havola
customer_keydim_customer’ga havola
quantitysotilgan birliklar
net_amountchegirmalardan keyingi tushum

O‘lchovlar jadvallari

O‘lchovlar filtrlash va guruhlash uchun tavsiflovchi atributlarni saqlaydi: dim_product (nomi, brend, kategoriya, bo‘lim), dim_store (shahar, hudud, format), dim_date (kun, hafta, oy, chorak, bayram belgisi), dim_customer (segment, sodiqlik darajasi).

Grain (donadorlik)

Grain — faktlar jadvalidagi bitta qator nimani anglatishi. Bu yerda: «bitta chekdagi bitta mahsulot pozitsiyasi». Grain’ni birinchi bo‘lib aniqlang va yozib qo‘ying. Grain’larni aralashtirish — masalan, ayrim qatorlar chek pozitsiyasi bo‘yicha, ayrimlari kun bo‘yicha — sezish qiyin bo‘lgan ikki marta hisoblashga olib keladi.

Surrogat kalitlar

O‘lchovlarda surrogat kalitlar ishlatiladi: manba tizim kodlari emas, omborda yaratilgan oddiy butun sonlar (product_key = 1042). Ular modelni manbadagi o‘zgarishlardan himoya qiladi, bir nechta manbani birlashtirish va tarixni saqlash imkonini beradi.

Sekin o‘zgaruvchan o‘lchovlar (SCD)

Atributlar o‘zgaradi: mahsulot boshqa kategoriyaga, do‘kon boshqa hududga o‘tadi. Asosiy variantlar:

  • 1-tur — eski qiymatni ustidan yozish. Oddiy, lekin tarix qayta yoziladi: o‘tgan savdolar endi yangi kategoriyada ko‘rinadi.
  • 2-tur — yangi surrogat kalit va amal qilish sanalari (valid_from, valid_to, is_current) bilan yangi qator qo‘shish. Eski savdolar eski versiyaga bog‘langan holda qoladi. Tarix muhim bo‘lsa, eng ko‘p tanlanadigan variant.
  • 3-tur — «oldingi qiymat» ustunini saqlash. Faqat bir qadam orqaga taqqoslash uchun foydali.

«Yulduz» va «qor parchasi»

«Yulduz»da dim_product brend, kategoriya va bo‘limni oddiy ustunlar sifatida saqlaydi. «Qor parchasi»da dim_product dim_category’ga, u esa dim_department’ga havola qiladi.

Mezon«Yulduz»«Qor parchasi»
So‘rovdagi JOIN’larKamroqKo‘proq
So‘rovlar soddaligiYuqori, tahlilchilarga tushunarliPastroq, ko‘proq bog‘lanish yo‘llari
So‘rov tezligiOdatda yuqoriroqQo‘shimcha JOIN’lar tufayli sekinroq bo‘lishi mumkin
Saqlash hajmiO‘lchovlarda matn takrorlanadiKamroq takrorlanish
Umumiy ierarxiyalarni yuritishKo‘p qatorni yangilashBitta qatorni yangilash
BI uchun qulaylikTabiiy mos keladiIshlaydi, lekin ko‘pincha keyin «tekislanadi»

«Qor parchasi»dan joy tejash odatda kichik: o‘lchovlar faktlar jadvallariga nisbatan juda kichik, ustunli omborlar esa takrorlanuvchi qiymatlarni yaxshi siqadi.

BI vositalari nimani afzal ko‘radi

Power BI, Tableau, Looker va shunga o‘xshash vositalar «yulduz» atrofida qurilgan: bitta faktlar jadvali, filtrlar o‘lchovlardan faktlarga oqadi. Power BI hujjatlari modellar uchun «yulduz» sxemasini to‘g‘ridan-to‘g‘ri tavsiya qiladi. «Qor parchasi» bilan ham vositalar ishlaydi, lekin bog‘lanish zanjirlari uzayadi, filtrlash kamroq bashorat qilinadigan bo‘ladi, tahlilchilar esa ko‘plab mayda jadvallarda adashadi. Ko‘pincha omborda «qor parchasi» saqlanadi, BI’ga esa «tekislangan» «yulduz» ko‘rinishi (view) beriladi.

Qanday tanlash kerak

  • «Yulduz»dan boshlang. U savdo, moliya va marketing bo‘yicha ko‘pchilik hisobotlar uchun yetarli.
  • O‘lchov juda katta bo‘lsa, umumiy kichik ierarxiyaga ega ko‘plab faktlar jadvallarida ishlatilsa yoki bir joyda tez-tez yangilansa, uni «qor parchasi»ga ajrating.
  • Grain va SCD qoidalarini model yonida hujjatlashtiring.
  • Har bir so‘rovda oy va choraklarni hisoblash o‘rniga to‘laqonli dim_date yarating.

Ko‘p uchraydigan xatolar

  • «Qulaylik uchun» matnli atributlarni faktlar jadvaliga qo‘yish.
  • Surrogat o‘rniga manba kalitlarini ishlatish — manba ID’ni qayta ishlatganda tarix buziladi.
  • Hamma joyda 1-tur, natijada har safar kategoriya nomi o‘zgarganda o‘tgan yilgi hisobotlar ham o‘zgaradi.
  • Tranzaksion bazalarni loyihalash odati bilan o‘lchovlarni normallashtirish.

Ko‘p beriladigan savollar

Ha. Analitik yuklama asosan o‘qiydi, yozmaydi, shuning uchun kategoriya nomini o‘lchovning ko‘p qatorlarida takrorlash oddiyroq va tezroq so‘rovlar uchun maqbul narx.

Bunda yordam beramiz

O‘zingiz shug‘ullanmasdan natija olishni istasangiz — biz har kuni shu bilan shug‘ullanamiz.

Loyihani muhokama qilish

Yana o‘qing

G‘oya yoki vazifangiz bormi? Bizga aytib bering

Ish kuni davomida javob beramiz va yechim taklif qilamiz. Konsultatsiya bepul.