6 ta arxitektura qatlami, 7 bosqichli Data Lifecycle va Data Quality mezonlari
10-sinfBI & ML1-hafta · 2-darsSource, Ingestion, Storage, Processing, Serving va Governance qatlamlari vazifalari
Ma'lumot paydo bo'lishidan to arxivlanguncha bo'lgan 7 ta bosqich dinamikasi
To'liqlik, aniqlik, izchillik va o'z vaqtidalik mezonlari hamda maktab keysi
Data Architecture — ma'lumot qayerdan keladi, qayerda saqlanadi, qanday tozalanadi va kimga taqdim etiladi degan savollarga to'liq javob beruvchi loyihadir.
U infratuzilmaning masshtablanuvchanligi (scalability) va ishonchliligini (reliability) ta'minlaydi.
Agar tizim tartibsiz qurilsa, ma'lumotlar yo'qoladi, xatolar ko'payadi va tahliliy dashboardlar yolg'on ko'rsatkichlarni ko'rsata boshlaydi.
To'g'ri arxitektura — toza ma'lumot va tezkor biznes qarorlari garovidir.
Ma'lumotlar dastlabki shakllangan joy:
Ma'lumotlarni qabul qilish va yuklash mexanizmi:
Raw Zone (Data Lake): Xom fayllar o'zgartirilmasdan asl holicha arxivlanadi.
Data Warehouse (DWH): Tozalangan, strukturalangan va tahlilga mos relyatsion ombor.
Xom nusxa doimo saqlanishi shart: agar xatolik yuz bersa, qayta tiklash mumkin.
Xom ma'lumotni biznes talablariga moslash:
Qayta ishlangan ma'lumot iste'molchilarga beriladi:
Butun infratuzilmaning nazorati:
Xom faktdan to arxivgacha bo'lgan to'liq evolyutsiya yo'li
Ma'lumot tizimga bir marotaba kirib yo'qolib ketmaydi. U bir necha bosqichdan o'tib, yangilanadi, tekshiriladi va turli maqsadlarda qayta-qayta ishlatiladi.
1. Collect → 2. Store → 3. Validate → 4. Transform → 5. Serve → 6. Monitor → 7. Archive
Har bir bosqichda sifat va xavfsizlik nazorati amalga oshiriladi.
Maktablardan 14 ta hudud bo'yicha CSV jurnallari qabul qilinadi va o'zgartirilmasdan raw/ papkasiga qo'yiladi.
Python skripti bo'sh joylarni, manfiy qiymatlarni aniqlaydi, yuklama ko'rsatkichini hisoblaydi va Parquetga o'tkazadi.
Ma'lumotlar Power BI dashboardiga uzatiladi, tizim loglari muvaffaqiyatli yakunlanganini tasdiqlaydi.
To'liqlik: Barcha ustun va qatorlar to'liq bo'lishi, kritik bo'sh kataklar (null/NaN) yo'qligi.
Aniqlik: Qiymatlar haqiqatga mosligi (manfiy o'quvchilar soni yoki noto'g'ri yil yo'qligi).
Izchillik: Barcha jadvallarda yagona standart format qo'llanishi (masalan, viloyat nomlari).
O'z vaqtidalik: Ma'lumotning o'z vaqtida yangilanganligi va eskirib qolmaganligi.
Agar o'quvchilar soni -500 deb kiritilsa...
bosingBoshqaruv xatosi!
Viloyat bo'yicha jami o'quvchilar soni kamayib ketadi, darsliklar va o'qituvchilar soni noto'g'ri rejalashtiriladi.
Agar "Toshkent" va "TAS" alohida yozilsa...
bosingJadvallar qo'shilmaydi!
SQL JOIN va GROUP BY amallari bitta viloyatni ikki xil viloyat deb hisoblaydi va hisobot ikkiga bo'linib ketadi.
O'zbekiston maktablarida o'quvchilar, o'qituvchilar va moddiy-texnik resurslarni to'g'ri taqsimlash uchun yagona tahliliy tizim qurish.
Tizim 14 ta hudud, 10 000 dan ortiq maktab va 6 milliondan ziyod o'quvchi ma'lumotlarini qayta ishlaydi.
Resurs yuklamasini baholash va muammoli hududlarni zudlik bilan aniqlash:
Direktor kod yozmaydi, u interaktiv ko'rsatkichlarga tayanadi:
Chuqur tahlil va sabab-oqibat bog'liqliklarini o'rganish:
Analitik DWH va Serving qatlamidagi tayyor jadvallar bilan ishlaydi:
SELECT region, year,
AVG(students) OVER(
ORDER BY year ROWS 2 PRECEDING
) AS moving_avg_3yr
FROM school_stats;
Data Pipeline ning to'xtovsiz va toza ishlashini ta'minlash:
data/raw/ papkasiga qabul qilish;Administrator har bir yuklash operatsiyasidan so'ng quyidagilarni tekshiradi:
import pandas as pd
# Xom ma'lumotlarni o'qiymiz
df = pd.read_csv('data/raw/maktab_statistikasi.csv')
# 1. Bo'sh qiymatlarni tekshirish (Completeness)
null_count = df.isna().sum()
# 2. Duplikatlarni aniqlash
dup_count = df.duplicated(subset=['maktab_id', 'yil']).sum()
# 3. Manfiy sonlarni aniqlash (Accuracy)
invalid_rows = df[df['oquvchilar_soni'] < 0]
print(f"Bo'sh qiymatlar: {null_count.to_dict()}")
print(f"Duplikatlar soni: {dup_count}")
print(f"Xato (manfiy) qatorlar: {len(invalid_rows)}")
# Duplikatlarni o'chirish
df_clean = df.drop_duplicates()
# Manfiy qiymatlarni musbatga o'tkazish
df_clean['oquvchilar_soni'] = (
df_clean['oquvchilar_soni'].abs()
)
# Yuklamani hisoblash
df_clean['yuklama'] = (
df_clean['oquvchilar_soni'] /
df_clean['oqituvchilar_soni']
).round(1)
Tozalangan va ko'rsatkichlari hisoblangan ma'lumot Parquet formatiga saqlanadi:
df_clean.to_parquet(
'data/processed/maktab.parquet',
index=False
)
Endi Power BI va SQL bevosita ushbu toza fayl bilan ishlay oladi.
O'quvchining yoshi 250 deb kiritilishi Data Quality ning qaysi mezoniga zid?
3-dars: Ma'lumot formatlari: CSV va JSON bilan ishlash
Satrli va ierarxik formatlar farqi, Python va Pandas yordamida o'qish, tahlil qilish hamda Medallion papka strukturasi.
Bugungi mavzu bo'yicha tushunarsiz qolgan joylarni birgalikda tahlil qilamiz.
Muhammad al-Xorazmiy vorislari tizimi
10-sinf: BI va Machine Learning kursi