TGViewer
Mabrur | Dasturlash va AI Mabrur | Dasturlash va AI @mabrur_dev · 4.97K subscribers
Post #1521 5.3K
5-qadam: Katta yuklamalarga bardosh berish (Scaling)

Endi tizimni milliardlab so'rovlarga tayyorlaymiz.

Taxminiy hisob-kitob:

Yozish (Write): Oyiga 100 million yangi URL.

O'qish (Read): Odatda, o'qish operatsiyalari yozishdan ancha ko'p bo'ladi. Aytaylik, 10:1 nisbatda. Demak, oyiga 1 milliard redirect.

Bu soniyasiga ~40 ta yozish va ~400 ta o'qish degani. Bu juda katta yuklama!

Qayerda muammo bo'ladi? Asosiy yuklama ma'lumotlar bazasining o'qish operatsiyalariga tushadi.

Yechim №1: KESHLASH (Caching!)
Bu eng muhim optimizatsiya. Biz Redis kabi in-memory keshdan foydalansak bo'ladi.

Mantiq: Foydalanuvchi GET /GorAmir so'rovini yuborganda:

Tizim avval Redis keshidan GorAmir kalitini qidiradi.

Cache Hit (Keshdan topildi): Agar kalit topilsa, unga mos uzun URL keshdan olinadi va foydalanuvchiga bir zumda qaytariladi. Ma'lumotlar bazasiga umuman murojaat qilinmaydi!

Cache Miss (Keshda yo'q): Agar kalit topilmasa, tizim ma'lumotlar bazasiga murojaat qiladi, uzun URL'ni oladi, uni kelajakdagi so'rovlar uchun Redisga saqlaydi va keyin foydalanuvchiga qaytaradi.

Bu yondashuv ma'lumotlar bazasiga tushadigan yuklamani 90-95% gacha kamaytiradi.

Yechim №2: Ma'lumotlar bazasini kengaytirish (Database Sharding)
Agar bitta ma'lumotlar bazasi milliardlab yozuvlarni saqlashga qiynalsa, biz ma'lumotlarni bir nechta bazalarga bo'lib tashlaymiz. Bu jarayon Sharding deyiladi.

Mantiq: short_code ning birinchi belgisiga qarab ma'lumotlarni bo'lishimiz mumkin. Masalan, 'a' dan 'm' gacha boshlanadigan barcha kodlar 1-bazaga, 'n' dan 'Z' gacha bo'lganlar esa 2-bazaga yoziladi. Bu ham yozish, ham o'qish yuklamasini taqsimlaydi.

Ko'rib turganingzdek, oddiy tuyulgan masalaga ham o'zgacha yondashish, iloji boricha ko'proq nimaga va qanday degan savollar berib chiqish muhim hisoblanadi. Hozir men bu muammoga yechimni iloji boricha qisqa va tushunarliroq shaklda yozishga harakat qildim, lekin buniyam turli xil yechimlar va yo'llar bilan yanayam samaraliroq va yaxshiroq qilish imkoniyatlari bor.

Hozircha faqat matn ko'rinishida yozishga sharoit bo'lyapti, lekin keyinroq shu mavzularni youtubega video shaklda joylashni boshlayman va shunda tushunishga osonroq va oddiyroq bo'ladi deb o'ylayman

@mabrur_dev
  • 👍 31
  • ❤ 7
  • 🔥 3
  • 👎 1
More from @mabrur_dev
  1. Oct 9, 2026Elevenlabs V4 - Professional Voice Cloning
  2. Oct 5, 2026Claude bilan o'tirib ishim uchun kerakli xitoycha modellar bo'yicha research qilgandim, sh…
  3. Oct 4, 2026Nomi g'alati eshitilishi mumkin, lekin jev ustiga yaxshi tool yasashibdi. Ayniqsa minglab…
  4. Oct 4, 2026Efirda tanaffus ) Ko'chadagi havoga shu ketadiyu, nima deysilar 😅
  5. Oct 3, 2026Do'stlarimiz yangi platformaga asos solishibdi. Platformada siz SAT imtihonlariga tayyorla…
  6. Oct 1, 2026Men anchadan beri birga ishlaydigan kompaniyam founderi YouTube’da juda yaxshi podcastlar…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →