Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

1-bob: Ma’lumotlar Muhandisligi Fikrlash Tarzi

Ma’lumotlar muhandisi (data engineer) nafaqat ma’lumotlarni bir tizimdan ikkinchisiga ko’chiradigan shaxsdir. Professional ma’lumotlar muhandisi boshqa odamlar ishonishi mumkin bo’lgan ishonchli ma’lumotlar mahsulotlarini (data products): quvurlar, ma’lumotlar to’plamlari, saqlash qatlamlari, ma’lumotlar shartnomalari (data contracts), operatsion tekshiruvlar va hujjatlarni loyihalashtiradi. Ushbu bob ushbu ishning ortidagi fikrlash tarzini taqdim etadi va uni amaliy birinchi artefaktga aylantiradi: kitobning qolgan qismi uchun mahalliy sozlash tekshiruv nuqtasi.

Amaliy laboratoriya oxiriga kelib, siz kompyuteringizda Git, Python, Docker, Docker Compose va kitob omborini tekshirasiz. Bu natija oddiy bo’lib tuyulishi mumkin, ammo u ma’lumotlar muhandisligining birinchi ishlab chiqarish odatini ifodalaydi: ma’lumotlar quvurini (data pipeline) qurishdan oldin, muhitni takrorlanuvchan (reproducible), kuzatiluvchan (observable) va tushunarli qiling.

Ma'lumotlar muhandisligi asoslari uchun fikrlash tarzi, rollar, hayot tsikli va sozlash tekshiruv nuqtasini qamrab oluvchi bobning umumiy ko'rinishi.

Figure 1:Ma’lumotlar muhandisligi asoslari uchun fikrlash tarzi, rollar, hayot tsikli va sozlash tekshiruv nuqtasini qamrab oluvchi bobning umumiy ko’rinishi.

Kirish stsenariysi: TuranMart’dagi Birinchi Kun

Tasavvur qiling, siz Markaziy Osiyo bo’ylab ishlaydigan xayoliy elektron tijorat va logistika kompaniyasi bo’lgan TuranMart’ga qo’shildingiz. Kompaniya onlayn iste’mol mahsulotlarini sotadi, buyurtmalarni mintaqaviy omborlar orqali yetkazib beradi va veb, mobil hamda hamkor bozor kanallari orqali marketing kampaniyalarini olib boradi. Hamma TuranMart “ma’lumotlarga asoslangan” bo’lib borayotganini aytadi, ammo birinchi hafta ancha qiyin haqiqatni ko’rsatadi.

Marketing jamoasi kunlik faol mijozlar va kampaniya konversiyasini ko’rsatadigan boshqaruv panelini xohlaydi. Logistika jamoasi mijozlar shikoyat qilishidan oldin yetkazib berish kechikishlari haqida ogohlantirishlarni xohlaydi. Moliya jamoasi mintaqalar bo’yicha ishonchli daromad raqamlarini xohlaydi. Firibgarlik jamoasi shubhali tranzaksiyalarni real vaqtda aniqlashni xohlaydi. AI mahsulot jamoasi tavsiya va qidiruv tizimlari uchun toza mahsulot tavsiflari, mijozlar hodisalari va siyosat hujjatlarini xohlaydi. So’ralgan natijalar turlicha, ammo asosiy muammo bir xil: TuranMart’da ma’lumotlar bor, ammo unda har doim ham ishonchli ma’lumotlar mahsulotlari mavjud emas.

Sizning birinchi vazifangiz zamonaviy texnologiyani tanlash emas. Sizning birinchi vazifangiz ma’lumotlar muhandisi kabi fikrlashdir. Siz ma’lumotlar qayerdan kelishi, unga kim egalik qilishi, qanchalik tez-tez o’zgarishi, qanday sifat kafolatlari talab qilinishi, nosozliklar qanday aniqlanishi, ta’riflar qanday hujjatlashtirilishi va kelajakdagi jamoalar natijadan qanday qayta foydalanishini so’rashingiz kerak. Fikrlash tarzi ham amaliy, ham me’moriydir: yetkazib berish uchun yetarlicha kichik, ammo ishlab chiqarishda omon qolish uchun yetarlicha intizomli quring.

Manfaatdor tomonOg’riqli nuqtaMa’lumotlar muhandisligi tarjimasiMuvaffaqiyat mezoni
Marketing menejeriKampaniya samaradorligi hisobotni kim yuritishiga qarab o’zgaradi.Mijoz, kampaniya, atributsiya oynasi, hodisa sifati va tahlilga tayyor jadvallarni aniqlang.Barcha kampaniya hisobotlari tomonidan foydalaniladigan bitta hujjatlashtirilgan konversiya ko’rsatkichi.
Logistika operatoriKechikkan buyurtmalar faqat mijozlar shikoyat qilgandan keyin aniqlanadi.Operatsion hodisalarni yuklang, ularni aniq yangilik talablari bilan qayta ishlang va ogohlantirishga tayyor ma’lumotlarni taqdim eting.Kechikish xavfi signallari qo’llab-quvvatlash jamoasi shikoyatlarni qabul qilishidan oldin yetib keladi.
Moliya tahlilchisiMintaqalar bo’yicha daromad elektron jadvallar bo’ylab mos kelmaydi.Buyurtmalar, to’lovlar, qaytarmalar, valyutalar va kelishuv qoidalarini modellashtiring.Kunlik daromad jami boshlang’ich tranzaksiyalarga qadar kuzatilishi mumkin.
Firibgarlik tahlilchisiShubhali tranzaksiyalar juda kech ko’rib chiqiladi.Oqimli kiritishlar, belgilar tekshiruvlari va operatsion monitoringni quring.Yuqori xavfli tranzaksiyalar harakat qilish hali ham mumkin bo’lganda ko’rinadi.
AI mahsulot jamoasiQidiruv va tavsiya funksiyalari mos kelmaydigan manba materialidan foydalanadi.Hujjatlar, metama’lumotlar (metadata), vektorli tasvirlar (embeddings) va qidiruv sifati baholash ma’lumotlarini tayyorlang.AI funksiyalari boshqariladigan, versiyalangan va sinab ko’riladigan ma’lumotlar aktivlaridan foydalanadi.

Ushbu kitob TuranMart’ga qayta-qayta qaytadi. Gap xayoliy kompaniyaning o’zida emas; gap shundaki, real ma’lumotlar muhandisligi har doim biznes jarayoni, foydalanuvchi, xizmat ko’rsatish darajasi kutilmasi va operatsion model bilan bog’liq.

O’quv maqsadlari

Ushbu bobning oxiriga kelib, siz ma’lumotlar muhandisligini ishlab chiqarish intizomi sifatida, shunchaki vositalar to’plami sifatida emas, tushuntirib bera olishingiz kerak. Shuningdek, siz kitob davomida foydalaniladigan mahalliy muhitni tayyorlashingiz va hujjatlashtirishingiz kerak.

MaqsadNima qila olishingiz kerakAmaliy laboratoriyadagi dalil
Intizomni ta’riflashMa’lumotlar muhandisligi xom operatsion ma’lumotlarni qanday qilib ishonchli ma’lumotlar mahsulotlariga aylantirishini tushuntiring.setup_report.md faylidagi qisqa yozma ta’rif.
Hamkorlikni tushunishMa’lumotlar muhandislari, tahlilchilar, olimlar, arxitektorlar, tahliliy muhandislar va ML muhandislarining mas’uliyatlarini taqqoslang.Eslatmalaringiz yoki sinf muhokamasida rol-artefakt tushuntirishi.
Hayot tsikllarida fikrlashTalablar, dizayn, ishlab chiqish, sinovdan o’tkazish, joylashtirish va operatsiyalar qanday bog’lanishini tavsiflang.Sozlashni muhandislik ish oqimi sifatida ko’rib chiqadigan tayyorlik jadvali.
Ish maydonini tayyorlashGit, Python, Docker, Docker Compose va kitob omborini tekshiring.Versiya natijasi, tarmoq holati, Docker holati va skript natijasi.
Professional odatlarni mashq qilishBuyruqlar, kutilayotgan natijalar, muammolarni bartaraf etish eslatmalari va tozalash bosqichlarini yozib oling.Takrorlanadigan dalillarga ega to’liq sozlash tekshiruv nuqtasi hisoboti.

Docker ilovalarni o’z qaramliklari bilan birga qadoqlaydi, shunda ular muhitlar bo’ylab izchil ishlashi mumkin, va Docker Compose konfiguratsiya fayllaridan ko’p konteynerli mahalliy ilovalarni belgilaydi.[1] [2] Git loyihaga o’zgarishlarning bardavom tarixini beradi, bu kod, ma’lumotlar modellari, testlar va hujjatlar birgalikda rivojlanganda juda muhimdir.[3] Python virtual muhitlari loyiha qaramliklarini izolyatsiya qiladi, shunda bitta loyiha boshqasini jimgina buzmaydi.[5]

Konseptual asos: Ma’lumotlar muhandisligi aslida nima quradi

Ma’lumotlar muhandisligi - bu ma’lumotlarni to’playdigan, saqlaydigan, o’zgartiradigan (transform), xizmatga qo’yadigan va boshqaradigan tizimlarni loyihalash, qurish, sinovdan o’tkazish, ishlatish va yaxshilash intizomidir. Tor ta’rifga ko’ra, ma’lumotlar muhandislari quvurlarni quradilar. Yaxshiroq ta’rifga ko’ra, ma’lumotlar muhandislari operatsion haqiqatdan analitik va aqlli harakatgacha bo’lgan ishonchli yo’llarni quradilar.

Quvur - bu ishning faqat bitta ko’rinadigan qismidir. Foydali quvurning orqasida manba tizimi kelishuvlari, sxemalar (schemas), ma’lumotlar shartnomalari, saqlash formatlari, o’zgartirish mantig’i, metama’lumotlar, kirishni boshqarish, testlar, monitoring, hujjatlar va hodisalarga javob berish yotadi. Agar ushbu qismlarning birortasi e’tiborsiz qoldirilsa, quvur hali ham ishlashi mumkin, ammo odamlar natijaga ishonmasligi mumkin.

Ishchi ta’rif: Ma’lumotlar muhandisligi tashkilotlarga qarorlar qabul qilish, jarayonlarni avtomatlashtirish va aqlli mahsulotlar yaratishda yordam beradigan ishonchli, kengayuvchan (scalable), kuzatiluvchan, boshqariladigan (governed) va qayta foydalanish mumkin bo’lgan ma’lumotlar tizimlarini yaratish amaliyotidir.

Ishonchli so’zi muhim, chunki quyi oqim foydalanuvchilari qarorlarni ma’lumotlarga asoslaydilar. Kengayuvchan so’zi muhim, chunki tizim foydali bo’lgandan keyin ma’lumotlar hajmi, tezligi va xilma-xilligi odatda o’sadi. Kuzatiluvchan so’zi muhim, chunki ishlab chiqarish quvurlari ko’p jihatdan ishlamay qoladi: manba tizimlari o’zgaradi, tarmoq chaqiruvlari vaqti tugaydi, fayllar kech keladi, sxemalar siljiydi, bo’limlar og’ishadi va xarajatlar jimgina oshadi. Boshqariladigan so’zi muhim, chunki ma’lumotlar ko’pincha nozik, tartibga solinadigan yoki biznes uchun muhim ma’lumotlarni o’z ichiga oladi. Qayta foydalanish mumkin so’zi muhim, chunki eng yaxshi ma’lumotlar platformalari jamoalar bo’ylab takrorlangan ishlarni kamaytiradi.

Asosiy tushunchaTa’rifTuranMart’da nima uchun muhim
Ma’lumotlar mahsulotiBelgilangan foydalanuvchilar, sifat kutilmalari va egalikka ega bo’lgan ma’lumotlar to’plami, quvur, ko’rsatkich, belgilar jadvali yoki interfeys.Moliya daromadlari jadvali va firibgarlik belgilari oqimi tasodifiy fayllar emas, balki qo’llab-quvvatlanadigan mahsulotlar bo’lishi kerak.
Ma’lumotlar shartnomasiMa’lumotlar ishlab chiqaruvchilar va iste’molchilar o’rtasidagi sxema, ma’no, yangilik, egalik va o’zgarishlarni boshqarish haqidagi kelishuv.Agar to’lov xizmati payment_status ni o’zgartirsa, moliya va firibgarlik quvurlari boshqariladigan o’tishga muhtoj.
TakrorlanuvchilikMuhit, ish oqimi yoki tahlilni qayta ishga tushirish va bir xil ma’noli natijani olish qobiliyati.Har bir o’quvchi va jamoa a’zosi bir xil laboratoriya xizmatlarini boshlashi va kutilgan natijani taqqoslashi kerak.
KuzatuvchilikJurnallar, ko’rsatkichlar, kelib chiqish, tekshiruvlar va ogohlantirishlardan tizim sog’lig’ini tushunish qobiliyati.Kechikkan yoki to’liq bo’lmagan buyurtma quvuri ertalabki boshqaruv paneliga ishonilishidan oldin aniqlanishi kerak.
BoshqaruvMa’lumotlarni xavfsiz, hujjatlashtirilgan, mos va hisobdor qiladigan siyosatlar va nazoratlar.Tahlil va AI tizimlari kengayishidan oldin mijozning roziligi, mintaqaviy kirish va audit izlari hal qilinishi kerak.

Yetuk ma’lumotlar muhandisi shuning uchun tizimlarda fikr yuritadi. Asosiy savol “Bu faylni qanday ko’chiraman?” emas, balki “Manba ma’lumotlari o’zgarganda, foydalanish o’sganda, manfaatdor tomon raqamni shubha ostiga olganda yoki quvur soat 02:00 da ishlamay qolganda ushbu ma’lumotlar mahsuloti qanday harakat qiladi?” dir.

Zamonaviy Ma’lumotlar Jamoasi

Ma’lumotlar platformasi jamoa tomonidan quriladi. Unvonlar kompaniyalar bo’ylab farq qiladi, ammo hamkorlik namunasi izchil: ma’lumotlar muhandislari ishonchli poydevorlarni yaratadilar, shunda tahlilchilar, olimlar, mahsulot jamoalari va biznes rahbarlari ma’lumotlardan xavfsiz va samarali foydalanishlari mumkin.

Zamonaviy ma'lumotlar jamoasidagi odatiy rollar va ularning hamkorlik nuqtalari.

Figure 2:Zamonaviy ma’lumotlar jamoasidagi odatiy rollar va ularning hamkorlik nuqtalari.

Ma’lumotlar arxitektori (data architect) ma’lumotlar ekotizimining uzoq muddatli tuzilishini belgilaydi. Ma’lumotlar muhandisi arxitekturani haqiqiy qiladigan quvurlar, saqlash qatlamlari, o’zgartirishlar va avtomatlashtirishni amalga oshiradi va boshqaradi. Ma’lumotlar tahlilchisi (data analyst) ishonchli ma’lumotlar to’plamlarini biznes tushunchasiga aylantiradi. Ma’lumotlar olimi (data scientist) bashorat qilish yoki qarorlarni optimallashtirish uchun statistik va mashinali o’qitish usullaridan foydalanadi. Tahliliy muhandis (analytics engineer) o’zgartirish sifati, semantik izchillik, testlash va hujjatlashtirishga e’tibor qaratadi. Mashinali o’qitish muhandisi (ML engineer) modellarni ishlab chiqarish tizimlariga aylantiradi.

RolAsosiy tashvishOdatiy natijaMa’lumotlar muhandisi qanday yordam beradi
Ma’lumotlar arxitektoriUzoq muddatli platforma uyg’unligi.Ma’lumotnoma arxitekturasi, standartlar va qaror yozuvlari.Naqshlarni amalga oshiradi va operatsion fikr-mulohazalarni taqdim etadi.
Ma’lumotlar muhandisiIshonchli ma’lumotlar tizimlari.Quvurlar, saqlash qatlamlari, testlar, orkestratsiya va monitoring.Manbadan xizmat ko’rsatish qatlamigacha bo’lgan ishlab chiqarish yo’liga egalik qiladi.
Ma’lumotlar tahlilchisiBiznes talqini.Boshqaruv panellari, ko’rsatkichlar va tahliliy bayonlar.Toza, hujjatlashtirilgan, so’rov qilinadigan ma’lumotlar to’plamlarini oladi.
Ma’lumotlar olimiBashoratli va statistik modellashtirish.Modellar, tajribalar, belgilar va baholashlar.Ishonchli o’qitish ma’lumotlari va takrorlanadigan belgilar quvurlarini oladi.
Tahliliy muhandisO’zgartirish sifati.Kuratorlik qilingan modellar, semantik qatlamlar va hujjatlar.Ma’lumotlarni modellashtirish, testlash va CI/CD amaliyotlarini baham ko’radi.
ML muhandisiModelni ishlab chiqarishga kiritish.O’qitish ish oqimlari, model xizmatlari va monitoring.Belgilar, orkestratsiya va kuzatuv infratuzilmasini baham ko’radi.

Ushbu jamoada ma’lumotlar muhandisining o’rnini tushunishning foydali usuli - ma’lumotlar muhandislariga interfeyslar quruvchilari sifatida qarashdir. Ular operatsion tizimlar va analitik tizimlar o’rtasida, xom ma’lumotlar va ishonchli ma’lumotlar o’rtasida, paketli va oqimli foydalanish holatlari o’rtasida, inson tahlili va mashinali o’qitish o’rtasida hamda mahalliy ishlab chiqish va ishlab chiqarishga joylashtirish o’rtasida interfeyslar quradilar.

Ma’lumotlar Muhandisligi Fikrlash Tarzi

Ma’lumotlar muhandisligi fikrlash tarzi - bu vaqt o’tishi bilan ma’lumotlarning foydaliligini himoya qiladigan odatlar to’plami. Vositalar tez o’zgaradi, ammo bu odatlar barqaror bo’lib qoladi. Yaxshi ma’lumotlar muhandisi erta amaliy savollar beradi, taxminlarni hujjatlashtiradi, tekshiruvlarni avtomatlashtiradi va tizimlar tiklanadigan tarzda ishlamay qolishini kutadi.

Birinchi odat - foydalanuvchidan va qarordan boshlang. Ma’lumotlar to’plami u mavjud bo’lgani uchungina qimmatli emas. U qarorni, mahsulot funksiyasini, operatsion ogohlantirishni, muvofiqlik majburiyatini yoki tajribani qo’llab-quvvatlagani uchun qimmatlidir. Agar foydalanuvchiga soatlik yangilik kerak bo’lsa, oylik paketli quvur yetarli emas. Agar foydalanuvchiga audit qilingan daromad kerak bo’lsa, taxminiy hodisalar soni yetarli emas.

Ikkinchi odat - o’zgarishlar uchun loyihalang. Manba tizimlari rivojlanadi. Yangi ustunlar paydo bo’ladi, eski ustunlar yo’qoladi, biznes qoidalari o’zgaradi va hajmlar o’sadi. Mo’rt quvur har bir o’zgarishni favqulodda holat sifatida ko’rib chiqadi. Professional quvurda sxema tekshiruvlari, versiyalangan o’zgartirishlar, test ma’lumotlari va aniq egalik mavjud.

Uchinchi odat - sifatni ko’rinadigan qiling. Ma’lumotlar sifati kimdir g’alati boshqaruv panelini qo’lda payqashiga bog’liq bo’lmasligi kerak. Sifat qoidalari testlar sifatida kodlanishi va oddiy operatsiyalarning bir qismi sifatida kuzatilishi kerak. Keyingi boblarda siz sxemalar, o’zgartirishlar, orkestratsiya, kuzatuvchilik va boshqaruv bilan ishlashda ushbu g’oyalardan foydalanasiz.

To’rtinchi odat - qahramonlikdan ko’ra takrorlanuvchilikni afzal ko’ring. Faqat bitta noutbukda ishlaydigan quvur ishlab chiqarish aktivi emas. Qaramliklarsiz daftar, testlarsiz skript yoki hujjatlashtirilgan portlarsiz Docker xizmati yashirin xavf tug’diradi. Takrorlanuvchilik ushbu bobning nima uchun mahalliy sozlash tekshiruv nuqtasi bilan boshlanishining sababidir.

Fikrlash tarzi tamoyiliYomon odatProfessional odat
Foydalanuvchiga yo’naltirilganlikSo’rovchi so’ragan narsani so’zma-so’z quring.Qaror, yangilik, sifat va iste’mol namunasini aniqlashtiring.
TakrorlanuvchilikBuyruqlarni qo’lda bajaring va nima ishlaganini eslab qoling.Git, hujjatlashtirilgan buyruqlar, qaramliklar va takrorlanadigan muhitlardan foydalaning.
IshonchlilikNosozliklarni faqat foydalanuvchilar shikoyat qilgandan keyin tuzating.Testlar, monitoring, qayta urinishlar va aniq egalik qo’shing.
KengayuvchanlikErtangi kun bugungi kunga o’xshaydi deb faraz qiling.Ma’lumotlar hajmi, iste’molchilar va murakkablik o’sishini oldindan ko’ring.
BoshqaruvKirish va maxfiylikka keyingi tashvishlar sifatida qarang.Ma’lumotlarni tasniflang, kirishni boshqaring va boshidanoq kelib chiqishini hujjatlashtiring.
Xarajatlardan xabardorlikHar qanday narxda tizimni tez qiling.Ishlash, yangilik, saqlash va hisoblash xarajatlarini muvozanatlang.

Ma’lumotlar Muhandisligi Hayot Tsikli

Ishlab chiqarish ma’lumotlari ishi hayot tsikliga amal qiladi. Tartib har doim ham mukammal chiziqli emas, ammo deyarli har bir muvaffaqiyatli loyihada bir xil tashvishlar paydo bo’ladi: talabni tushunish, tizimni loyihalash, uni amalga oshirish, sinovdan o’tkazish, joylashtirish, ishlatish va yaxshilash.

Hayot tsikli bosqichiAsosiy savolTugallanganlikning odatiy dalili
Talablarni aniqlashSiz qanday biznes muammosini hal qilyapsiz?Foydalanuvchi hikoyasi, ko’rsatkich ta’rifi, manba inventari, yangilik talabi va qabul qilish mezonlari.
Arxitektura va dizaynMa’lumotlar tizim orqali qanday oqishi kerak?Arxitektura diagrammasi, ma’lumotlar modeli, vositalar tanlovi, xavfsizlik taxminlari va kelishuv eslatmalari.
Ishlab chiqishQuvur va ma’lumotlar modelini qanday amalga oshirasiz?Kod, konfiguratsiya, sxemalar, o’zgartirishlar va mahalliy test ishga tushirishlari.
Testlash va tasdiqlashNatija to’g’ri ekanligini qanday bilasiz?Birlik testlari, ma’lumotlar sifatini tekshirish, namuna natijalari, kelishuv so’rovlari va ko’rib chiqilgan mantiq.
JoylashtirishBu qanday qilib takrorlanadigan ishlab chiqarish ish oqimiga aylanadi?CI/CD ish oqimi, orkestratsiya jadvali, muhit o’zgaruvchilari va nashr eslatmalari.
OperatsiyalarIshga tushirilgandan keyin uni qanday qilib sog’lom saqlaysiz?Monitoring, ogohlantirishlar, ishchi kitoblar, hodisalar yozuvlari, xarajatlar tekshiruvlari va yaxshilash ro’yxati.

TuranMart misolida mijozlar boshqaruv paneli so’rovi oddiy savol bilan boshlanishi mumkin: “Kecha nechta faol mijozingiz bor edi?” Ma’lumotlar muhandisi “faol” nima degan ma’noni anglatishini, qaysi manba hodisasi faollikni isbotlashini, kech hodisalar qanday ko’rib chiqilishini, mijoz identifikatori qanday hal qilinishini, ko’rsatkich qanday sinovdan o’tkazilishini, u qayerda saqlanishini, unga kim kirishini va quvur ishlamay qolsa nima bo’lishini aniqlashtirishi kerak.

Ishlab chiqarish dizayni namunasi: Takrorlanadigan mahalliy ma’lumotlar muhandisligi ish maydoni

Ushbu kitobdagi birinchi dizayn namunasi - bu takrorlanadigan mahalliy ish maydoni. Mahalliy ish maydoni ishlab chiqarish emas, lekin u o’rganish, testlash va nosozliklarni bartaraf etishni qo’llab-quvvatlash uchun ishlab chiqarish kabi yetarlicha harakat qilishi kerak. Maqsad - kitob ma’lumotlar bazalari, ob’ektli saqlash (object storage), oqimli qayta ishlash (streaming), orkestratsiya (orchestration), kuzatuvchilik, bulut naqshlari va AI ma’lumotlar tizimlarini joriy etishdan oldin har bir o’quvchini taqqoslanadigan boshlang’ich nuqtadan boshlashiga ishonch hosil qilishdir.

1-bob uchun takrorlanadigan mahalliy ma'lumotlar muhandisligi ish maydoni.

Figure 3:1-bob uchun takrorlanadigan mahalliy ma’lumotlar muhandisligi ish maydoni.

Ish maydoni to’rtta qatlamga ega. Versiyalarni boshqarish qatlami kod va hujjatlarni kuzatish uchun Git’dan foydalanadi. Til muhiti qatlami qaramliklarni izolyatsiya qilish uchun Python va virtual muhitlardan foydalanadi. Xizmat qatlami ma’lumotlar bazalari, saqlash dvigatellari, xabar brokerlari va daftarlarni izchil ishga tushirish uchun Docker va Docker Compose’dan foydalanadi. Hujjatlar qatlami boblar, laboratoriyalar, rasmlar, daftarlar va yechim qo’llanmalarini o’qiladigan o’rganish tizimiga ulash uchun MyST va Jupyter Book’dan foydalanadi.[4]

Ish maydoni qatlamiVositalarUshbu kitobdagi maqsadiTekshiruv signali
Versiyalarni boshqarishGitOmborni nusxalang va laboratoriyalar, daftarlar, SQL, diagrammalar va hujjatlardagi o’zgarishlarni kuzatib boring.git --version muvaffaqiyatli bo’ladi va omborda ko’rinadigan tarmoq va holat mavjud.
Til muhitiPython va venvSkriptlar, daftarlar, testlar va kichik ma’lumotlarni qayta ishlash misollarini izolyatsiya qilingan muhitda ishga tushiring.Muhit ichida python --version va python -m pip --version muvaffaqiyatli bo’ladi.
Takrorlanadigan xizmatlarDocker va Docker ComposeHar bir ma’lumotlar bazasi yoki platforma komponentini qo’lda o’rnatmasdan mahalliy xizmatlarni ishga tushiring.docker version va docker compose version muvaffaqiyatli bo’ladi.
Kitob va laboratoriya hujjatlariMyST/Jupyter Book va Markdown laboratoriya fayllariMatn, buyruqlar, kutilayotgan natija, rasmlar va yechimlarni ko’rib chiqish mumkin bo’lgan holda saqlang.Bob havolalari ochiladi va laboratoriya materiallari mavjud.
Dizayn variantiAfzalligiCheklovUshbu kitobda tavsiya etilgan foydalanish
Barcha xizmatlarni to’g’ridan-to’g’ri noutbukka o’rnatishBitta tanish vosita uchun tez bo’lishi mumkin.Qayta o’rnatish qiyin, hujjatlashtirish qiyin va operatsion tizimlar bo’ylab farq qiladi.Ko’rsatma berilmaguncha ko’p xizmatli laboratoriyalar uchun qoching.
Faqat Python virtual muhitlaridan foydalanishSkriptlar va daftarlar uchun ajoyib.Ma’lumotlar bazalari, brokerlar, ob’ektli saqlash yoki tarmoq xizmatlarini izolyatsiya qilmaydi.Har bir bobda Python qaramliklari uchun foydalaning.
Xizmatlar uchun Docker Compose’dan foydalanishTakrorlanadigan, boshlash va to’xtatish oson va o’rganish uchun ishlab chiqarish topologiyasiga yetarlicha yaqin.Docker daemon resurslari va portlarni ehtiyotkorlik bilan boshqarishni talab qiladi.Mahalliy ma’lumotlar bazalari, saqlash, oqimli qayta ishlash va orkestratsiya laboratoriyalari uchun standart namuna.
Boshidanoq masofaviy bulut xizmatlaridan foydalanishBoshqariladigan platformalar va jamoaviy muhitlar uchun realistik.Yangi boshlanuvchilar uchun xarajat, hisob, tarmoq va ruxsat to’siqlarini yaratishi mumkin.O’quvchi mahalliy xatti-harakatlar va kelishuvlarni tushungandan keyinroq tanishtiring.

Namuna ataylab oddiy qilingan. 1-bob sizdan PostgreSQL, MinIO, Kafka, Spark, Airflow yoki vektor ma’lumotlar bazasini (vector database) ishga tushirishni so’ramaydi. U kompyuteringiz ushbu tizimlar keyinroq paydo bo’lganda ularni ishga tushirishga tayyorligini tekshiradi. Shuning uchun sozlash tekshiruv nuqtasi kattaroq ishlab chiqarish g’oyasining kichik versiyasidir: natijaga ishonishdan oldin muhitni aniq qiling.

Amaliy laboratoriya: Sozlash tekshiruv nuqtangizni yarating

Ushbu amaliy laboratoriya 1-bob uchun majburiy artefaktdir. Siz Git, Python, Docker, Docker Compose va 1-bob laboratoriya fayllaridan olingan dalillarni qayd etadigan setup_report.md faylini yaratasiz. Maqsad barcha o’quvchilar bo’ylab bir xil versiya raqamlarini to’plash emas. Maqsad har bir o’quvchida kitobning qolgan qismini qo’llab-quvvatlay oladigan izchil, hujjatlashtirilgan muhit mavjudligini isbotlashdir.

Laboratoriya materialiMaqsadiHavola
Laboratoriya README1-bob uchun asosiy sozlash tekshiruv nuqtasi qo’llanmasi.Laboratoriya README ni ochish
Sozlash hisoboti shabloniO’quvchilar o’z muhitlarini tekshirayotganda to’ldiradigan hisobot fayli.Sozlash hisoboti shablonini ochish
Muhit xulosasi skriptiMahalliy muhit dalillarini qayd etadigan boshlang’ich Python skripti.Muhit xulosasi skriptini ochish
Docker Compose tekshiruv nuqtasiKonteyner ijrosini tekshirish uchun ishlatiladigan yengil Compose xizmati.Docker Compose faylini ochish
MashqlarAmaliy laboratoriyani kengaytiradigan mustaqil amaliyot vazifalari.1-bob mashqlarini ochish
Yechim qo’llanmasiO’qituvchilar va mustaqil o’rganishni tekshirish uchun ma’lumotnoma ko’rib chiqish qo’llanmasi.Yechim qo’llanmasini ochish

1-qadam: Ishchi katalogni yarating

Terminalni oching va kitob uchun ish maydonini yarating. Agar operatsion tizimingiz uzoq ishlaydigan Docker hajmlari (volumes) bilan muammoga duch kelsa, vaqtinchalik fayllar yoki sinxronlashtirilgan qurish artefaktlarini o’z ichiga olmaydigan yo’ldan foydalaning.

mkdir -p ~/data-engineering-in-action
cd ~/data-engineering-in-action

Shablonni nusxalang yoki hisobot faylini qo’lda yarating.

cat > setup_report.md <<'EOF'
# Chapter 1 Setup Report

## Machine

- Operating system:
- Terminal:
- Notes:

## Readiness Table

| Check | Status | Evidence |
|---|---|---|
| Git installed | Pending | |
| Repository cloned | Pending | |
| Python environment created | Pending | |
| Docker available | Pending | |
| Chapter 1 service started | Pending | |
| Environment summary completed | Pending | |
EOF

2-qadam: Git’ni tekshiring

Quyidagi buyruqlarni bajaring va natijani sozlash hisobotingizga nusxalang.

git --version
git config --get user.name || true
git config --get user.email || true

Kutilayotgan natija Git versiyasini o’z ichiga olishi kerak. Agar ism yoki elektron pochta bo’sh bo’lsa, umumiy omborlarga hissa qo’shishdan oldin ularni sozlang.

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

3-qadam: Kitob omborini klonlash

Omborni klonlang va loyiha katalogiga kiring.

git clone https://github.com/k-farruh/data-engineering-in-action-book.git
cd data-engineering-in-action-book

Keyin ombor mavjudligini tekshiring.

git status --short
git branch --show-current

Toza ombor odatda git status --short uchun o’zgartirilgan fayllarni chop etmaydi. Agar klonlashdan so’ng darhol o’zgartirilgan fayllarni ko’rsangiz, natijani yozib oling va davom etishdan oldin o’qituvchingiz yoki xizmat ko’rsatuvchingizdan so’rang.

4-qadam: Python’ni tekshiring va virtual muhit yarating

Quyidagi buyruqlarni omborning asosiy katalogidan bajaring.

python3 --version
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip --version

Windows PowerShell’da faollashtirish odatda buning o’rniga ushbu buyruqdan foydalanadi.

.venv\Scripts\Activate.ps1

Agar ombor requirements.txt ni o’z ichiga olsa, qaramliklarni o’rnating.

python -m pip install -r requirements.txt

Agar qaramliklarni o’rnatish muvaffaqiyatsiz bo’lsa, xatoni e’tiborsiz qoldirmang. Muvaffaqiyatsiz buyruqni, operatsion tizimni, Python versiyasini va natijaning oxirgi yigirma qatorini setup_report.md fayliga yozib qo’ying.

5-qadam: Docker va Docker Compose’ni tekshiring

Docker kitobning og’irroq laboratoriyalari uchun poydevor hisoblanadi, chunki u bir xil PostgreSQL, MinIO, Kafka, Spark va boshqa xizmat konfiguratsiyalarini turli xil kompyuterlarda izchil ishga tushirishga imkon beradi.[1] [2]

docker version
docker compose version

Agar Docker to’g’ri o’rnatilgan bo’lsa, lekin daemon ishlamayotgan bo’lsa, Docker Desktop yoki tizim Docker xizmatini ishga tushiring va buyruqlarni qaytadan bajaring. Linux’da tashkilotingiz siyosatiga muvofiq foydalanuvchingizni docker guruhiga qo’shishingiz kerak bo’lishi mumkin.

6-qadam: 1-bob tekshiruv nuqtasi xizmatini ishga tushiring

1-bob kitobdagi har bir og’ir xizmatni ishga tushirish o’rniga yengil Compose faylidan foydalanadi. Uni laboratoriya jildidan ishga tushiring.

cd shared/labs/ch01_data_engineering_mindset

docker compose up -d

docker compose ps

Kutilayotgan natija xizmatni running yoki healthy holatda ko’rsatishi kerak. Buyruq natijasini setup_report.md fayliga qo’shing.

7-qadam: Muhit xulosasi skriptini ishga tushiring

1-bob laboratoriya jildidan boshlang’ich skriptni ishga tushiring va natijani yozib oling.

python environment_summary.py

Aniq natija operatsion tizimga qarab farq qilishi mumkin, ammo u Python bajariladigan faylingizni, Python versiyasini, joriy ishchi katalogni va platforma tafsilotlarini aniq ko’rsatishi kerak. Agar skript ishlamay qolsa, xatoni yozib oling va virtual muhitingiz faol ekanligini tekshiring.

8-qadam: Tekshiruv nuqtasi xizmatini to’xtating va hisobotni saqlang

Kompyuteringiz keyingi bobga tayyor bo’lishi uchun xizmatni tozalang.

docker compose down

setup_report.md faylidagi tayyorlik jadvalini to’ldiring.

TekshiruvHolatDalil
Git o’rnatilganO’tdi/MuvaffaqiyatsizVersiya natijasi bu yerga nusxalangan.
Ombor klonlanganO’tdi/MuvaffaqiyatsizJoriy tarmoq va toza/iflos holat.
Python muhiti yaratilganO’tdi/MuvaffaqiyatsizVirtual muhitdan Python va pip versiyalari.
Docker mavjudO’tdi/MuvaffaqiyatsizDocker va Compose versiyalari.
1-bob xizmati ishga tushirilganO’tdi/Muvaffaqiyatsizdocker compose ps natijasi.
Muhit xulosasi yakunlanganO’tdi/MuvaffaqiyatsizSkript natijasi yoki muammo tavsifi.

Sozlash hisobotingizni faqat o’qituvchingiz yoki jamoangiz buni so’rasa, majburiyat qiling (commit). Ko’pgina kurslarda hisobot alohida taqdim etiladi, chunki u mashinaga xos tafsilotlarni o’z ichiga olishi mumkin.

Kutilayotgan natija

Muvaffaqiyatli laboratoriya murakkab ilovani emas, balki qisqa hisobotni ishlab chiqaradi. Hisobot versiya dalillarini, ombor dalillarini, xizmat dalillarini va muammolarni bartaraf etish eslatmalarini o’z ichiga olishi kerak. Aniq raqamlar farq qiladi, ammo tuzilish quyidagi misolga o’xshash bo’lishi kerak.

Git: git version 2.x
Repository branch: main
Python: Python 3.x inside .venv
Pip: pip 2x.x from .../.venv/...
Docker: client and server versions visible
Compose: Docker Compose version v2.x
Compose service: running or healthy
Environment summary: executable, version, working directory, platform

Yechim qo’llanmasi o’qituvchi yoki ko’rib chiquvchi ushbu dalillarni qanday baholashi kerakligini tushuntiradi. Ko’rib chiquvchi har bir o’quvchidan bir xil versiya raqamlaridan foydalanishni talab qilmasligi kerak. Ko’rib chiquvchi muhit izchil, hujjatlashtirilgan va keyingi laboratoriyalarni ishga tushirishga qodir ekanligini tekshirishi kerak.

Muammolarni bartaraf etish eslatmalari

MuammoEhtimoliy sababAmaliy yechim
git buyrug’i topilmadiGit o’rnatilmagan yoki qobiq yo’lida emas.Git’ni o’rnating, terminalni qayta ishga tushiring va git --version ni qaytadan bajaring.
python3 -m venv ishlamay qoldiPython virtual muhitni qo’llab-quvvatlashi yo’q.Virtual muhitlar uchun platforma paketini o’rnating yoki venv ni o’z ichiga olgan Python o’rnatuvchisidan foydalaning.
Docker daemon xatosiDocker Desktop yoki tizim xizmati ishlamayapti.Docker Desktop yoki Linux Docker xizmatini ishga tushiring, so’ngra docker version ni qaytadan bajaring.
Compose xizmati portni bog’lay olmaydiBoshqa jarayon allaqachon xost portidan foydalanmoqda.Ziddiyatli jarayonni to’xtating yoki laboratoriya Compose faylida xost port xaritasini o’zgartiring.
Paket o’rnatildi, lekin import qilish hali ham ishlamayaptipip boshqa Python tarjimoniga tegishli.which python, python -m pip --version va virtual muhit faollashuvini tekshiring.
Sozlashdan so’ng ombor ifloslanadiYaratilgan fayllar yoki mahalliy hisobotlar ombor ichida.git status --short ni tekshiring va ko’rsatma berilmaguncha mashinaga xos fayllarni majburiyat qilishdan (commit) saqlaning.

Umumiy xatolar va operatsion darslar

Yangi boshlanuvchilarning eng ko’p uchraydigan xatosi sozlash ishini muhandislik ishidan alohida ko’rib chiqishdir. Aslida, sozlash birinchi quvurdir: uning qaramliklari, buyruqlari, kutilayotgan natijalari, nosozlik rejimlari va tugallanganlik ta’rifi mavjud. Agar siz o’z muhitingizni takrorlay olmasangiz, ma’lumotlar platformasini takrorlash qiyin bo’ladi.

Ikkinchi xato - hamma narsani global miqyosda o’rnatish. Global o’rnatish qulay bo’lib tuyulishi mumkin, ammo u loyihalarning bir-biriga xalaqit berishiga olib keladi. Iloji boricha Python uchun virtual muhitlardan va xizmatlar uchun konteynerlardan foydalaning. Bu kitobning laboratoriyalarini kompyuteringizdagi aloqador bo’lmagan ishlardan alohida saqlaydi.

Uchinchi xato - erta paydo bo’ladigan xatolarni e’tiborsiz qoldirish. Yo’qolgan qaramlik, ishlamay qolgan Docker daemoni yoki iflos ombor holati haqidagi ogohlantirish keyingi boblarda ancha kattaroq muammoga aylanishi mumkin. Professional ma’lumotlar muhandislari xatoni yozib oladilar, sababni ajratib ko’rsatadilar va tuzatishni takrorlanadigan qiladilar.

To’rtinchi xato - vositani o’rnatishni tushunish bilan aralashtirib yuborish. Docker’ni o’rnatish siz ma’lumotlar muhandisligini tushunasiz degani emas. U sizga faqat takrorlanadigan xizmatlarni ishga tushirish imkoniyatini beradi. Chuqurroq o’rganish siz ushbu xizmatlardan ma’lumotlarni modellashtirish, o’zgartirishlarni testlash, quvurlarni boshqarish va tizimlarni ishlatish uchun foydalanganingizda boshlanadi.

XatoSimptomOperatsion dars
Sozlashni bir martalik ish sifatida ko’rishLaboratoriya bir marta ishlaydi, lekin takrorlanmaydi.Buyruqlar, versiyalar va tozalash bosqichlarini artefaktning bir qismi sifatida yozib oling.
Tozalashni o’tkazib yuborishEskirgan konteynerlar yoki hajmlar qolgani uchun keyingi laboratoriyalar ishlamay qoladi.Har bir laboratoriyadan keyin xizmatlarni to’xtating va ataylab ishlayotgan har qanday narsani hujjatlashtiring.
Kichik ogohlantirishlarni e’tiborsiz qoldirishKeyingi buyruqlar oldinroq tashxis qo’yilishi mumkin bo’lgan sabablarga ko’ra ishlamay qoladi.Kontekst yangi bo’lganda ogohlantirishlarni yozib oling va ularning muhimligini hal qiling.
Buyruqlarni talqinsiz nusxalashHisobotda natija bor, lekin tushuntirish yo’q.Har bir tekshiruv nimani isbotlashini va nima uchun keyingi boblar uchun muhimligini tushuntiring.
Shaxsiy fayllarni ombor fayllari bilan aralashtirishgit status aloqador bo’lmagan o’zgarishlarni ko’rsatadi.O’qituvchingiz boshqacha ko’rsatma bermaguncha, shaxsiy hisobotlarni ombordan tashqarida saqlang.

Laboratoriya materiallari

Laboratoriya materialiMaqsadiHavola
Laboratoriya READMEBosqichma-bosqich ko’rsatmalar, tozalash va muammolarni bartaraf etish.README
MashqlarUshbu bob uchun qo’shimcha amaliyot vazifalari.mashqlar
Yechim qo’llanmasiDizayn tanlovlari va kutilgan natijalarni tushuntirish.yechim

Mashqlar

Mashqlar amaliy laboratoriyani kengaytiradi. Ular ataylab amaliy qilingan, chunki sozlash tekshiruv nuqtasi nafaqat o’qib tushunishni, balki ishonchni ham yaratishi kerak. Har qanday mashq fayllarini shared/labs/ch01_data_engineering_mindset/exercises/ ostiga yoki o’qituvchingiz tomonidan belgilangan shaxsiy ishchi jildga joylashtiring.

MashqQiyinchilikVazifaKutilayotgan dalil
1Osonsetup_report.md fayliga “Muammolarni bartaraf etish eslatmalari” bo’limini qo’shing va o’zingiz duch kelgan yoki tashxis qo’yishni biladigan bitta muammoni tasvirlab bering.Buyruq va tushuntirish bilan yangilangan hisobot bo’limi.
2Oson1-bob xizmatini to’xtatishdan oldin va keyin docker compose ps ni bajaring.Holat o’zgarishini ko’rsatadigan ikkita buyruq natijasi.
3O’rtachaenvironment_summary.py ni kengaytiring, shunda u ombordan ishga tushirilganda joriy Git tarmog’ini chop etadi.Tarmoq ma’lumotlarini yoki Git omborida bo’lmaganda aniq xabarni ko’rsatadigan skript natijasi.
4O’rtachach01-setup-checkpoint nomli Git tarmog’ini yarating, hisobot nusxasiga zararsiz o’zgarish kiriting va git status --short ni tekshiring.Tarmoq nomi va Git holati natijasi.
5QiyinNima uchun takrorlanadigan mahalliy muhitlar ma’lumotlar bazalari, oqimli qayta ishlash, orkestratsiya va ML quvurlari bo’yicha keyingi boblar uchun muhimligini tushuntiruvchi bir sahifalik mulohaza yozing.Kitob rejasidan kamida uchta aniq misol keltirilgan mulohaza.
6Ixtiyoriy jamoaviy vazifaIkkita operatsion tizim bo’ylab sozlash hisobotlarini taqqoslang va qaysi farqlar zararsiz ekanligini va qaysilari keyingi laboratoriyalarga ta’sir qilishi mumkinligini aniqlang.Sinf yoki jamoa uchun qisqa muvofiqlik eslatmasi.

Ko’rib chiqish savollari

  1. Nima uchun “ma’lumotlarni ko’chirish” ma’lumotlar muhandisligining to’liq bo’lmagan ta’rifi hisoblanadi?

  2. Quvur va ma’lumotlar mahsuloti o’rtasidagi farq nima?

  3. Nima uchun TuranMart boshqaruv panellari, ogohlantirishlar, firibgarlik signallari yoki AI qidiruviga ishonishidan oldin umumiy ta’riflarga muhtoj?

  4. Qaysi mas’uliyatlar odatda ma’lumotlar muhandislari va tahliliy muhandislar o’rtasida taqsimlanadi?

  5. Nima uchun takrorlanadigan mahalliy ish maydoni ma’lumotlar muhandisligi kitobi uchun foydali birinchi dizayn namunasi hisoblanadi?

  6. Ko’rib chiquvchi kuchli 1-bob sozlash hisobotida qanday dalillarni kutishi kerak?

  7. Qanday qilib iflos Git ombori, noto’g’ri Python tarjimoni yoki to’xtatilgan Docker daemoni oddiy sozlash muammosi emas, balki ma’lumotlar muhandisligi muammosiga aylanishi mumkin?

  8. 1-bob ish oqimining qaysi qismlari ishlab chiqarish ma’lumotlar quvurining keyingi hayot tsikliga o’xshaydi?

Xulosa

Ushbu bob ma’lumotlar muhandisligi fikrlash tarzini taqdim etdi. Ma’lumotlar muhandisi quvurlardan ko’proq narsani quradi: ma’lumotlar muhandisi tashkilotga qarorlar qabul qilishda va aqlli mahsulotlarni ishlatishda yordam beradigan ishonchli, qayta foydalanish mumkin bo’lgan, kuzatiluvchan, boshqariladigan ma’lumotlar tizimlarini quradi. Siz ma’lumotlar muhandislari arxitektorlar, tahlilchilar, olimlar, tahliliy muhandislar va ML muhandislari bilan qanday hamkorlik qilishini o’rgandingiz. Shuningdek, biznes ehtiyojini ishlaydigan ma’lumotlar mahsulotiga aylantiradigan asosiy hayot tsiklini o’rgandingiz.

Eng muhimi, siz birinchi amaliy laboratoriyani yakunladingiz: sozlash tekshiruv nuqtasi. Ushbu tekshiruv nuqtasi ish stantsiyangizni kitobning qolgan qismi uchun tayyorlaydi va xotiraga tayanish o’rniga dalillarni hujjatlashtirish odatini shakllantiradi. Xuddi shu odat keyinroq ma’lumotlar sifatini tekshirganingizda, ishlashni baholaganingizda, ish oqimlarini orkestratsiya qilganingizda, ishlab chiqarish tizimlarini kuzatganingizda va arxitekturalarni ko’rib chiqqaningizda namoyon bo’ladi.

2-bobda siz fikrlash tarzidan ma’lumotlarning o’ziga o’tasiz. Siz ma’lumotlar modellari, ma’lumotlar formatlari va sifat kutilmalarini o’rganasiz va kitobning qolgan qismini qo’llab-quvvatlaydigan TuranMart ma’lumotlar to’plami bilan ishlashni boshlaysiz.

Adabiyotlar

Footnotes