Ma’lumotlar bazalari
Dasturlash, infratuzilma, SEO, AI va biznes uchun IT — qisqa va lo‘nda.
70 ta maqola
- Ma’lumotlar bazalari4 daq
Ma’lumotlar bazasida tranzaksiyalar va ACID oddiy tilda
Tranzaksiya bazadagi bir nechta amalni «hammasi yoki hech biri» tamoyilidagi yagona birlikka birlashtiradi; ACID uning to‘liq bajarilishi yoki umuman bajarilmasligini (atomarlik), ma’lumotlarni to‘g‘ri saqlashini (izchillik), parallel tranzaksiyalar bilan aralashmasligini (izolyatsiya) va qayd etilgach nosozlikdan omon qolishini (barqarorlik) anglatadi.
Asoslar - Ma’lumotlar bazalari3 daq
Change Data Capture (CDC) va Debezium: o‘zgarishlarni uzatish
Jurnalga asoslangan CDC baza tranzaksiya jurnalini o‘qib, har bir qo‘shish, yangilash va o‘chirishni hodisaga aylantiradi; Debezium buni PostgreSQL, MySQL va boshqalar uchun bajarib, hodisalarni Kafka’ga yuboradi, shu bois ombor, qidiruv indeksi va kesh keyingi paketli ishga tushirishni kutmasdan soniyalarda sinxronlanadi.
Chuqur - Ma’lumotlar bazalari3 daq
Ma’lumotlarni tozalash: tahlilga qanday tayyorlash kerak
Ma’lumotlarni tozalash — bu qadamlar ketma-ketligi: dublikatlarni topib olib tashlash, bo‘sh qiymatlar bilan nima qilishni hal qilish, formatlarni bir xillashtirish, chetga chiquvchi qiymatlarni belgilash va barcha qoidalarni hujjatlashtirish.
Amaliyot - Ma’lumotlar bazalari3 daq
Data Lake, Data Warehouse va Lakehouse: farqi nimada
Data Warehouse hisobotlar uchun tozalangan tuzilmali ma’lumotlarni, Data Lake har qanday xom ma’lumotlarni arzon va asl ko‘rinishida saqlaydi, Lakehouse esa ko‘lga ombordagidek jadval va tranzaksiyalarni qo‘shadi. Kichik kompaniyaga ko‘pincha oddiy baza va BI-vosita yetarli.
Asoslar - Ma’lumotlar bazalari4 daq
Bazadagi o‘zaro blokirovkalar (deadlock): sabablari va yechimlari
Deadlock ikki tranzaksiya bir-biriga kerak bo‘lgan blokirovkalarni ushlab turganda yuzaga keladi va baza ulardan birini bekor qiladi; yechim — blokirovkalarni hamma joyda bir xil tartibda olish, tranzaksiyalarni qisqa tutish va bekor qilingan tranzaksiyani qayta bajarish.
Chuqur - Ma’lumotlar bazalari4 daq
Ma’lumotlar bazasini loyihalashdagi odatiy xatolar va ulardan qochish
Ma’lumotlardagi muammolarning ko‘pi sxemada boshlanadi: bitta katakda bitta qiymat saqlang, cheklovlarni bazada belgilang, pul uchun numeric, bir xil nomlar va vaqt uchun timestamptz ishlating.
Amaliyot - Ma’lumotlar bazalari3 daq
Ma’lumotlar bazasidagi indekslar: so‘rovlarni qanday tezlashtiradi
Indeks — odatda B-daraxt ko‘rinishidagi alohida saralangan tuzilma bo‘lib, baza butun jadvalni o‘qimasdan kerakli qatorlarga darhol o‘tadi; u o‘qishni tezlashtiradi, lekin har bir qo‘shish, yangilash va o‘chirishni sekinlashtiradi, shuning uchun indekslar «har ehtimolga qarshi» emas, real so‘rovlar uchun yaratiladi.
Asoslar - Ma’lumotlar bazalari3 daq
Ma’lumotlar bazasi migratsiyalari: sxemani xavfsiz o‘zgartirish
Sxemani faqat repozitoriydagi raqamlangan migratsiyalar orqali o‘zgartiring, ularni deployda avtomatik qo‘llang va xavfli o‘zgarishlarni mos qadamlarga bo‘ling, shunda eski va yangi kod bazada bir vaqtda ishlay oladi.
Amaliyot - Ma’lumotlar bazalari4 daq
Ma’lumotlar bazasini normallashtirish: 1NF, 2NF, 3NF misollarda
Normallashtirish — ma’lumotlarni har bir fakt bir marta saqlanadigan qilib jadvallarga bo‘lish: 1NF katakdagi ro‘yxatlarni, 2NF tarkibli kalitning bir qismiga bog‘liq ustunlarni, 3NF boshqa kalit bo‘lmagan ustunlarga bog‘liq ustunlarni yo‘qotadi; denormallashtirishni faqat ongli ravishda, o‘lchangan o‘qish tezligi yoki hisobotlar uchun qiling.
Asoslar - Ma’lumotlar bazalari3 daq
Elasticsearch bilan saytda to‘liq matnli qidiruvni qanday qilish
Har bir til uchun alohida maydon va to‘g‘ri analizatorlar bilan indeks yarating, uni asosiy baza bilan hodisalar yoki davriy qayta indekslash orqali sinxronlang, xatolar va takliflar uchun fuzziness va search_as_you_type’dan foydalaning.
Amaliyot - Ma’lumotlar bazalari4 daq
Rus va o‘zbek tilida qidiruv uchun Elasticsearch analizatorlari
Mahsulot nomini ikki marta indekslang — rus analizatori (stemming, sinonimlar) va kirillni o‘zbek lotiniga o‘giruvchi analizator bilan — so‘ng ikkala maydon bo‘yicha fuzziness bilan qidiring, shunda “non”, “нон” va “nonn” nonni topadi.
Amaliyot - Ma’lumotlar bazalari3 daq
ETL va ELT: ma’lumotlar konveyerlari qanday ishlaydi
ETL avval ma’lumotlarni o‘zgartirib, keyin omborga yuklaydi, ELT esa avval xom ma’lumotlarni yuklab, ularni ombor ichida o‘zgartiradi. Bulutli DWH’lar uchun ko‘pincha ELT tanlanadi, chunki u yerda hisoblash arzon va masshtablanadi.
Asoslar - Ma’lumotlar bazalari3 daq
N+1 so‘rovlar muammosi: qanday topish va tuzatish
N+1 — kod ro‘yxat uchun bitta so‘rov va har bir element uchun yana bittadan so‘rov yuborishi; bog‘liq ma’lumotlarni eager loading, JOIN yoki batching orqali bir-ikki so‘rovda oldindan yuklash bilan tuzatiladi.
Amaliyot - Ma’lumotlar bazalari3 daq
Loyihangiz uchun ma’lumotlar bazasini qanday tanlash kerak
Ko‘pchilik loyihalar uchun asosiy baza sifatida PostgreSQL’dan boshlang, Redis, qidiruv tizimi yoki hujjatli bazani esa faqat aniq, o‘lchangan ehtiyoj paydo bo‘lganda qo‘shing.
Amaliyot - Ma’lumotlar bazalari3 daq
CSV va Excel fayllarini PostgreSQL’ga qanday import qilish
Faylni avval COPY, \copy, DBeaver yoki Python bilan matnli ustunlardan iborat staging jadvaliga yuklang, keyin turlarni o‘zgartiring, dublikatlarni olib tashlang va faqat tekshirilgan qatorlarni asosiy jadvalga o‘tkazing.
Amaliyot - Ma’lumotlar bazalari4 daq
Ubuntu da PostgreSQL ni qanday o‘rnatish va sozlash
PostgreSQL ni Ubuntu repozitoriylaridan apt orqali o‘rnating, ilova uchun alohida rol va baza yarating, listen_addresses va pg_hba.conf orqali masofaviy kirishni faqat aniq IP-manzillar uchun oching hamda shared_buffers, work_mem va ulanishlar sonini VPS xotirasiga moslang.
Amaliyot - Ma’lumotlar bazalari3 daq
Biznes uchun KPI dashboardini qanday qurish
Dashboard qo‘llab-quvvatlashi kerak bo‘lgan qarorlardan boshlang, har bir bo‘lim uchun bir nechta KPI tanlang, CRM, 1C va jadvallar ma’lumotini umumiy ma’lumotnomalar bilan bitta omborga yig‘ing, so‘ng «natijalar — dinamika — tafsilotlar» ekranini aniq yangilanish jadvali bilan quring.
Amaliyot - Ma’lumotlar bazalari4 daq
To‘lovlar va balanslar uchun ma’lumotlar bazasini loyihalash: ledger
Har bir pul harakatini summasi nolga teng provodkalarga ega o‘zgarmas tranzaksiya sifatida yozing, summalarni tiyinda butun son ko‘rinishida saqlang, provayder callback’larini unikal kalit orqali idempotent qiling va yechib olishdan oldin hisob qatorini bloklang.
Chuqur - Ma’lumotlar bazalari3 daq
Looker Studio: Google Sheets dan bepul dashbordlar
Looker Studio Google Sheets, BigQuery va o‘nlab boshqa manbalarni bepul interaktiv dashbordlarga aylantiradi. Asosiysi — kirishdagi jadvalning toza tuzilishi va ongli kirish sozlamalari: manba kimning hisob ma’lumotlaridan foydalanadi va kim ma’lumotlarni yuklab ola oladi.
Amaliyot - Ma’lumotlar bazalari3 daq
Biznes dashbordlar uchun Metabase’ni qanday sozlash
Metabase’ni xizmat ma’lumotlari uchun alohida PostgreSQL bilan Docker’da ishga tushiring, bazani faqat o‘qish huquqli foydalanuvchi orqali ulang, savollarni dashbordlarga yig‘ing, kirishni guruhlar bilan cheklang va hisobotlarni jadval bo‘yicha yuboring.
Amaliyot - Ma’lumotlar bazalari4 daq
Ma’lumotlar bazasini MySQL dan PostgreSQL ga qanday ko‘chirish mumkin
MySQL dan PostgreSQL ga migratsiya faqat ma’lumot ko‘chirish emas: avval turlar va ilova so‘rovlari tekshiriladi, keyin ma’lumotlar pgloader orqali test stendga ko‘chiriladi, solishtiriladi va faqat repetitsiyadan so‘ng ilova orqaga qaytish rejasi bilan qisqa oynada almashtiriladi.
Amaliyot - Ma’lumotlar bazalari4 daq
MongoDB’da agregatsiya: $match, $group, $lookup misollarda
Aggregation pipeline — har biri oldingisining natijasini qayta ishlaydigan bosqichlar zanjiri; $match bilan imkon qadar erta filtrlang, $group bilan guruhlang, $lookup’ni esa kichik ma’lumotlar to‘plamida bajaring.
Amaliyot - Ma’lumotlar bazalari3 daq
MongoDB’da sxema loyihalash: joylash yoki havola
Birga o‘qiladigan va hajmi cheklangan ma’lumotlarni hujjat ichiga joylang, umumiy, katta yoki cheksiz o‘sadigan ma’lumotlarga havola qiling, sxemani esa eng ko‘p bajariladigan so‘rovlar atrofida quring.
Amaliyot - Ma’lumotlar bazalari3 daq
MySQL ma’lumotlar bazasini qanday zaxiralash va tiklash mumkin
Ko‘pchilik bazalar uchun --single-transaction bilan mysqldump, uni jadval bo‘yicha ishga tushirish va nusxani boshqa joyda saqlash yetarli; katta bazalar va tez tiklash uchun Percona XtraBackup’dan foydalaning.
Amaliyot - Ma’lumotlar bazalari3 daq
OLTP va OLAP: tranzaksion va tahliliy ma’lumotlar bazalari
OLTP-bazalar ilovaning ko‘plab mayda amallariga xizmat qiladi: buyurtmalar, to‘lovlar, ro‘yxatdan o‘tishlar. OLAP-bazalar katta hajmdagi tarix bo‘yicha og‘ir tahliliy so‘rovlar uchun mo‘ljallangan. Bu yuklamalarni bitta bazada aralashtirish — prodakshendagi sekinlashuvlarning keng tarqalgan sababi.
Asoslar - Ma’lumotlar bazalari4 daq
PgBouncer ulanishlar puli: sozlash va yashirin muammolar
PgBouncer minglab mijozlarga PostgreSQL’ning oz sonli haqiqiy ulanishlarini bo‘lishib ishlatish imkonini beradi; veb va serverless uchun transaction rejimini tanlang, lekin sessiya holatidan voz keching va prepared statements masalasini aniq hal qiling.
Chuqur - Ma’lumotlar bazalari3 daq
PostgreSQL zaxira nusxasi: pg_dump va pg_restore
Dampni pg_dump orqali custom formatda (-Fc) oling — u siqilgan va pg_restore bilan moslashuvchan tiklanadi; rollarni esa pg_dumpall --globals-only orqali alohida saqlang. Zaxiralashni cron bilan avtomatlashtiring, bir nechta nusxani, jumladan bittasini serverdan tashqarida saqlang va tiklash haqiqatan ishlashini muntazam tekshiring.
Amaliyot - Ma’lumotlar bazalari3 daq
PostgreSQL’da sekin so‘rovlarni topish: EXPLAIN ANALYZE
Avval pg_stat_statements yoki log_min_duration_statement orqali eng qimmat so‘rovlarni toping, so‘ng ular uchun EXPLAIN (ANALYZE, BUFFERS) ishga tushirib, vaqt sarflanayotgan tugunni qidiring: ko‘pincha bu katta jadvaldagi Seq Scan yoki ortiqcha saralash bo‘lib, to‘g‘ri indeks bilan hal qilinadi.
Amaliyot - Ma’lumotlar bazalari3 daq
PostgreSQL’da to‘liq matnli qidiruv: Elasticsearch kerakmi
Ko‘pchilik saytlarga PostgreSQL yetadi: GIN indeksli tsvector so‘zlar bo‘yicha relevant qidiruv beradi, pg_trgm xatolarni kechiradi, Elasticsearch esa faqat yuqori yuklama, murakkab reyting yoki boy fasetli qidiruvda o‘zini oqlaydi.
Amaliyot - Ma’lumotlar bazalari4 daq
PostgreSQL indeks turlari: B-tree, GIN, GiST, BRIN va qo‘llanishi
B-tree — tenglik, oraliqlar va saralash uchun; GIN — jsonb, massivlar va to‘liq matnli qidiruvda “ichida nima bor” uchun; GiST — kesishmalar, geoma’lumotlar va eng yaqinini topish uchun; BRIN — vaqt bo‘yicha tartiblangan ulkan append-only jadvallar uchun.
Chuqur - Ma’lumotlar bazalari4 daq
PostgreSQLda JSONB: JSONni jadvalda qachon va qanday saqlash
JSONni jsonb ustunida saqlang, GIN indeks bilan indekslang va uni mahsulot atributlari yoki xom webhooklar kabi haqiqatan moslashuvchan ma’lumotlar uchun ishlating; filtr, JOIN va pul hisobi uchun kerak bo‘lgan hamma narsani oddiy ustunlarga chiqaring.
Amaliyot - Ma’lumotlar bazalari3 daq
PostgreSQL’ni vaqt nuqtasiga tiklash (PITR) WAL orqali
PITR bazaviy backup’ni tiklaydi va arxivlangan WAL fayllarni tanlangan lahzagacha qayta ijro etadi, shu bois bazani xato DELETE’dan bir soniya oldingi holatga qaytarish mumkin; buning uchun uzluksiz WAL arxivlash va muntazam tiklash sinovlari kerak.
Chuqur - Ma’lumotlar bazalari4 daq
PostgreSQL da foydalanuvchilar, rollar va kirish huquqlari
PostgreSQL da to‘g‘ri huquqlar sxemasi — kirish huquqisiz guruh rollari (egasi, ilova, analitika) va ularga a’zo alohida loginlar; huquqlar GRANT va ALTER DEFAULT PRIVILEGES orqali beriladi, BI faqat o‘qiydi, qatorlarni ajratishni esa Row-Level Security ta’minlaydi.
Amaliyot - Ma’lumotlar bazalari4 daq
PostgreSQL’da oqimli replikatsiyani qanday sozlash
Primary’da replikatsiyaga ruxsat bering, rol va slot yarating, standby’ni pg_basebackup -R bilan tayyorlang, kechikishni pg_stat_replication’da kuzating, almashtirishni esa pg_promote yoki Patroni yordamida avtomatik bajaring.
Chuqur - Ma’lumotlar bazalari3 daq
PostgreSQL yoki MySQL: qaysi ma’lumotlar bazasini tanlash kerak
Ikkala baza ham ishonchli va aksariyat loyihalarga mos. PostgreSQL murakkab mantiq, hisobotlar, JSON va geoma’lumotlar uchun boyroq tanlov; MySQL esa oddiy saytlar, WordPress kabi CMSlar va oddiy so‘rovli yuklamalar uchun sodda va hamma joyda mavjud variant.
Asoslar - Ma’lumotlar bazalari4 daq
Yangi boshlovchilar uchun Power BI: birinchi hisobotni yaratamiz
Power BI dagi birinchi hisobot besh qadamdan iborat: manbalarni ulash, Power Query da ma’lumotlarni tartibga keltirish, jadvallarni «yulduz» modeliga bog‘lash, bir nechta DAX o‘lchovini yozish va hisobotni rejali yangilanish bilan Power BI Service ga nashr qilish.
Amaliyot - Ma’lumotlar bazalari4 daq
Power BI, Metabase yoki Looker Studio: qaysi BI ni tanlash kerak
Looker Studio — Google Sheets va Google xizmatlaridagi kompaniyalar uchun tez va bepul start; Metabase — ma’lumotlar o‘z SQL bazangizda bo‘lsa va serverni yuritadigan odam bo‘lsa eng yaxshi tanlov; Power BI — murakkab analitika va Microsoft ekotizimidagi kompaniyalar uchun.
Amaliyot - Ma’lumotlar bazalari4 daq
Birlamchi va tashqi kalit: jadvallar qanday bog‘lanadi
Birlamchi kalit o‘z jadvalidagi har bir qatorni yagona tarzda aniqlaydi, tashqi kalit esa boshqa jadvalning birlamchi kalitiga ishora qiluvchi ustun; ular birgalikda jadvallar orasida bog‘lanish yaratadi va bazaga mavjud bo‘lmagan qatorga havola saqlashga yo‘l qo‘ymaydi.
Asoslar - Ma’lumotlar bazalari3 daq
Python da oddiy ETL konveyerini qanday qurish mumkin
Python dagi oddiy ETL — uchta funksiya (extract, transform, load) va to‘rtta ishonchlilik qoidasi: tarmoq uzilishida qayta urinish, upsert orqali idempotent yuklash, vaqt belgisi bo‘yicha inkremental olish va loglar bilan jadval bo‘yicha ishga tushirish.
Amaliyot - Ma’lumotlar bazalari4 daq
Redis persistentligi: RDB yoki AOF va ma’lumotni yo‘qotmaslik
RDB davriy snapshot oladi va oxirgi snapshotdan keyingi o‘zgarishlarni yo‘qotishi mumkin, AOF esa har bir yozuvni jurnalga yozadi va appendfsync everysec bilan odatda bir soniyadan ko‘p yo‘qotmaydi; sessiya va navbatlar uchun AOFni RDB bilan birga yoqing, sof kesh uchun esa persistentlik ko‘pincha kerak emas.
Amaliyot - Ma’lumotlar bazalari3 daq
Redis amalda: kesh, sessiyalar, navbatlar va so‘rov limitlari
Redis — tez va qisqa muddatli ma’lumotlar uchun xotiradagi ombor: TTL bilan kesh, sessiyalar, yengil navbatlar, pub/sub, reytinglar va so‘rov limitlari, haqiqat manbai esa asosiy bazada qoladi.
Amaliyot - Ma’lumotlar bazalari4 daq
Sharding va partitioning: katta jadvallarni qanday masshtablash
Partitioning katta jadvalni bitta server ichida qismlarga bo‘ladi, sharding esa ma’lumotlarni shard kaliti bo‘yicha bir nechta serverga tarqatadi; partitioningdan boshlang va faqat bitta server haqiqatan yetmay qolganda sharding qiling.
Chuqur - Ma’lumotlar bazalari3 daq
SQL asoslari: SELECT, WHERE, ORDER BY va LIMIT
O‘qish uchun deyarli har qanday so‘rov SELECT ustunlar FROM jadval WHERE shart ORDER BY saralash LIMIT soni shaklida tuziladi. Shu besh qismni hamda LIKE, IN va IS NULLni o‘zlashtirsangiz, bazadan kerakli ma’lumotlarning aksariyatini ola olasiz.
Asoslar - Ma’lumotlar bazalari3 daq
SQL’da GROUP BY, HAVING va agregat funksiyalar
GROUP BY qatorlarni guruhlarga yig‘adi, agregat funksiyalar har bir guruh uchun bitta qiymat hisoblaydi, WHERE qatorlarni guruhlashdan oldin, HAVING esa tayyor guruhlarni filtrlaydi.
Amaliyot - Ma’lumotlar bazalari4 daq
SQL INSERT, UPDATE va DELETE: ma’lumotlarni xavfsiz o‘zgartirish
INSERT qator qo‘shadi, UPDATE o‘zgartiradi, DELETE o‘chiradi; xavfsiz ishlash uchun WHERE shartini avval SELECT bilan tekshiring, o‘zgarishni tranzaksiya ichida bajaring va COMMIT’dan oldin ta’sirlangan qatorlar sonini solishtiring.
Asoslar - Ma’lumotlar bazalari5 daq
SQL’da JOIN: INNER, LEFT, RIGHT va FULL misollarda
JOIN ikki jadval qatorlarini moslik sharti bo‘yicha birlashtiradi: INNER faqat mosliklarni, LEFT chap jadvalning barcha qatorlarini, RIGHT o‘ng jadvalning barcha qatorlarini, FULL esa ikkalasidan hammasini qoldiradi va bo‘shliqlarni NULL bilan to‘ldiradi.
Asoslar - Ma’lumotlar bazalari4 daq
SQL’da NULL: IS NULL, COALESCE va odatiy tuzoqlar
NULL noma’lum qiymatni bildiradi, shuning uchun u bilan har qanday taqqoslash true yoki false emas, UNKNOWN beradi; uni IS NULL bilan tekshiring, COALESCE bilan almashtiring va qiymat doim bo‘lishi kerak bo‘lgan joyda NOT NULL bilan taqiqlang.
Asoslar - Ma’lumotlar bazalari4 daq
SQL’da paginatsiya: OFFSET yoki keyset (kursorli) paginatsiya
OFFSET bazani o‘tkazib yuborilgan barcha qatorlarni o‘qib tashlashga majbur qiladi va qo‘shishlarda siljiydi; keyset paginatsiya barqaror saralash bo‘yicha WHERE orqali oxirgi ko‘rsatilgan yozuvdan davom etadi va har qanday chuqurlikda bir xil tez ishlaydi.
Amaliyot - Ma’lumotlar bazalari4 daq
SQL so‘rovlarini optimallashtirish bo‘yicha chek-list
Avval so‘rovni EXPLAIN ANALYZE bilan o‘lchang, keyin faqat kerakli ustunlarni tanlang, indeksdan foydalana oladigan shartlar yozing, OFFSET o‘rniga keyset sahifalashni qo‘llang va N+1 ni paketli so‘rovlar bilan yo‘qoting.
Amaliyot - Ma’lumotlar bazalari3 daq
SQL’da ichki so‘rovlar va CTE: o‘qiladigan so‘rov yozish
Ichki so‘rov shart ichidagi qisqa tekshiruv uchun, CTE (WITH) yuqoridan pastga o‘qiladigan ko‘p bosqichli mantiq uchun, rekursiv CTE esa ierarxiyani aylanishning standart usuli; zamonaviy bazalarda tezligi odatda bir xil.
Amaliyot - Ma’lumotlar bazalari3 daq
SQL va NoSQL: farqi nimada va qachon qaysi birini tanlash kerak
SQL bazalar ma’lumotni qat’iy sxemali bog‘langan jadvallarda va ishonchli tranzaksiyalar bilan saqlaydi, NoSQL esa hujjatlar, kalit-qiymat juftliklari, ustunlar yoki graflarda moslashuvchan tuzilma bilan saqlaydi. Aksariyat biznes-ilovalar uchun SQLdan boshlab, NoSQLni aniq vazifa uchun qo‘shish oqilona.
Asoslar - Ma’lumotlar bazalari3 daq
SQL oyna funksiyalari: ROW_NUMBER, RANK, LAG va boshqalar
Oyna funksiyasi bog‘liq qatorlar to‘plami bo‘yicha qiymat hisoblaydi, lekin GROUP BY’dan farqli ravishda ularni birlashtirmaydi: har bir qator natijada qoladi va raqam, o‘rin, yig‘ma summa yoki qo‘shni qator qiymatini oladi.
Amaliyot - Ma’lumotlar bazalari4 daq
«Yulduz» va «qor parchasi» sxemalari: analitika uchun ma’lumot modeli
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.
Asoslar - Ma’lumotlar bazalari4 daq
Tranzaksiya izolyatsiya darajalari: dirty read’dan serializable’gacha
Izolyatsiya darajasi parallel tranzaksiyalar qaysi anomaliyalarni ko‘rishini belgilaydi: Read Committed iflos o‘qishni, Repeatable Read takrorlanmaydigan o‘qishni ham to‘sadi, Serializable esa tranzaksiyalar navbat bilan bajarilgandek ishlaydi; «o‘qi-o‘zgartir-yoz» mantig‘i uchun SELECT FOR UPDATE yoki atomar UPDATE ishlating.
Chuqur - Ma’lumotlar bazalari4 daq
Ma’lumotlar tahlili asoslari: tavsiflovchi, diagnostik, bashoratli
Analitika navbat bilan to‘rtta savolga javob beradi: nima bo‘ldi (tavsiflovchi), nega (diagnostik), nima bo‘ladi (bashoratli) va nima qilish kerak (tavsiyaviy). Foydali tahlil ma’lumotlardan emas, aniq biznes savoli va aniq belgilangan metrikadan boshlanadi.
Asoslar - Ma’lumotlar bazalari4 daq
UUID yoki avtoinkrement: qaysi birlamchi kalitni tanlash kerak
Odatiy veb va mobil bekend uchun oqilona standart tanlov — nativ uuid turidagi UUIDv7: uni istalgan joyda yaratish mumkin, hajmlarni oshkor qilmaydi va deyarli avtoinkrement kabi qo‘shiladi; bitta bazadagi ichki jadvallar uchun bigint identity yaxshi.
Amaliyot - Ma’lumotlar bazalari3 daq
Ma’lumotlar ombori (DWH) nima va u biznesga nega kerak
Ma’lumotlar ombori (DWH) — tahlil uchun alohida baza bo‘lib, unga CRM, buxgalteriya, sayt va reklamadan ma’lumotlar muntazam yig‘iladi va biznes savollariga yagona, tekshirilgan raqamlar asosida javob beriladi.
Asoslar - Ma’lumotlar bazalari4 daq
Ma’lumotlar bazasi nima va u qanday ishlaydi
Ma’lumotlar bazasi — tartiblangan axborot ombori, MBBT esa uni diskka saqlaydigan, so‘rov bo‘yicha keraklisini tez topadigan va ko‘p foydalanuvchi bir vaqtda ishlaganda ma’lumotlar buzilishiga yo‘l qo‘ymaydigan dastur.
Asoslar - Ma’lumotlar bazalari3 daq
Graf ma’lumotlar bazasi nima va Neo4j qachon kerak
Graf bazasi ma’lumotlarni tugunlar va ular orasidagi bog‘lanishlar sifatida saqlaydi va istalgan chuqurlikdagi zanjirlarni tez bosib o‘tadi; asosiy savol «kim kim bilan va kim orqali bog‘langan» bo‘lsa, u kerak bo‘ladi.
Asoslar - Ma’lumotlar bazalari4 daq
Vaqt qatorlari bazasi nima: TimescaleDB, InfluxDB va boshqalar
Vaqt qatorlari bazasi asosan qo‘shib boriladigan, vaqt oraliqlari bo‘yicha so‘raladigan va vaqt o‘tib eskiradigan vaqt belgili o‘lchovlar uchun optimallashtirilgan; PostgreSQL’dan boshlang, hajm, saqlash muddati yoki agregatlar muammoga aylanganda TimescaleDB, InfluxDB, ClickHouse yoki Prometheus’ga o‘ting.
Asoslar - Ma’lumotlar bazalari3 daq
ORM nima: afzalliklari, kamchiliklari va mashhur yechimlar
ORM — ma’lumotlar bazasi jadvallari bilan koddagi obyektlar kabi ishlash imkonini beradigan va SQL’ni o‘zi generatsiya qiladigan kutubxona. U odatiy ishlab chiqishni tezlashtiradi, lekin bazaga qanday so‘rovlar ketayotganini tushunishni talab qiladi, aks holda N+1 muammosi va sekin sahifalar paydo bo‘ladi.
Asoslar - Ma’lumotlar bazalari3 daq
BI-tizimlar nima va ular qaror qabul qilishga qanday yordam beradi
BI (Business Intelligence) — ishchi tizimlardagi ma’lumotlarni muntazam hisobot va dashbordlarga aylantiradigan vositalar va jarayonlar to‘plami, natijada qarorlar taxmin bilan emas, dolzarb raqamlar asosida qabul qilinadi.
Asoslar - Ma’lumotlar bazalari3 daq
ClickHouse nima va nega uni analitika uchun tanlashadi
ClickHouse — analitika uchun open-source ustunli ma’lumotlar bazasi: u faqat kerakli ustunlarni o‘qib, ularni yaxshi siqqani uchun milliardlab qatorlarni tez skanerlaydi va agregatsiya qiladi. Tez-tez nuqtaviy yangilash va tranzaksiyalar uchun mos emas, shuning uchun odatda PostgreSQL o‘rniga emas, uning yonida ishlaydi.
Asoslar - Ma’lumotlar bazalari3 daq
Ma’lumotlar bazasi replikatsiyasi nima va u nega kerak
Replikatsiya asosiy bazadagi o‘zgarishlarni bir yoki bir nechta replikaga uzluksiz nusxalaydi: shunda o‘qish yuklamasini taqsimlash va asosiy server ishdan chiqsa replikaga o‘tish mumkin. U server nosozligidan himoya qiladi, lekin xatolardan emas: o‘chirilgan jadval barcha replikalarda ham o‘chadi, shuning uchun zaxira nusxalar baribir kerak.
Asoslar - Ma’lumotlar bazalari3 daq
dbt nima va u omborda ma’lumotlarni qanday o‘zgartiradi
dbt — ma’lumotlarni to‘g‘ridan-to‘g‘ri omborda o‘zgartiradigan vosita: siz modellarni oddiy SELECT so‘rovlari sifatida yozasiz, dbt esa ularni to‘g‘ri tartibda quradi, tekshiradi va hujjatlashtiradi.
Asoslar - Ma’lumotlar bazalari4 daq
Elasticsearch nima va qidiruv indeksi qanday tuzilgan
Elasticsearch — JSON hujjatlarni teskari indeksda saqlaydigan taqsimlangan qidiruv tizimi, shuning uchun u millionlab yozuvlar orasidan so‘zlarni tez topadi va natijalarni relevantlik bo‘yicha saralaydi; bazadagi LIKE so‘rovlari to‘liq matnli qidiruvga yetmay qolganda u kerak bo‘ladi.
Asoslar - Ma’lumotlar bazalari3 daq
MongoDB nima va undan qachon foydalanish kerak
MongoDB — ma’lumotlarni kolleksiyalarda qat’iy sxemasiz JSONga o‘xshash hujjatlar sifatida saqlaydigan hujjatli NoSQL baza. U moslashuvchan va ichma-ich joylashgan ma’lumotlar uchun qulay, bog‘langan moliyaviy va hisob ma’lumotlari uchun esa odatda relyatsion baza ishonchliroq.
Asoslar - Ma’lumotlar bazalari3 daq
Redis nima va u nega shunchalik tez
Redis — barcha ma’lumotlarni operativ xotirada saqlaydigan kalit-qiymat ombori, shuning uchun u juda tez javob beradi. Undan muhim ma’lumotlar uchun yagona baza sifatida emas, kesh, sessiyalar, navbatlar, hisoblagichlar va reytinglar uchun foydalaniladi.
Asoslar - Ma’lumotlar bazalari3 daq
SQLite nima va qachon u yetarli bo‘ladi
SQLite — alohida server talab qilmaydigan, hamma narsani bitta faylda saqlaydigan kutubxona ko‘rinishidagi to‘laqonli SQL-baza. Ma’lumotlar bilan bitta mashina ishlasa va yozuvlar ko‘p bo‘lmasa, u yetarli; bir vaqtda ko‘plab jarayonlar yoki serverlar yozishi kerak bo‘lsa, PostgreSQL yoki MySQL ga o‘tish vaqti keldi.
Asoslar - Ma’lumotlar bazalari4 daq
Baza sxemasini to‘xtovsiz o‘zgartirish: expand and contract patterni
Ishlayotgan sxemani bitta buzuvchi qadamda o‘zgartirmang: avval kengaytiring (eskisi yonida yangi tuzilmalar qo‘shing), ma’lumot va kodni asta-sekin ko‘chiring, keyin qisqartiring — eski qismni hech kim ishlatmay qolganda o‘chiring.
Chuqur
G‘oya yoki vazifangiz bormi? Bizga aytib bering
Ish kuni davomida javob beramiz va yechim taklif qilamiz. Konsultatsiya bepul.