Back-of-the-Envelope Estimation
Taxminiy hisob-kitob (qog'oz burchagida hisoblash)
To'y tashkil qiluvchi odam, mehmonlarni BITTA-BITTA sanab, aniq ovqat miqdorini hisoblamaydi — u taxminiy yo'l tutadi: "taxminan 300 mehmon keladi, har biriga 1 taom, demak 300 taom kerak, biroz zaxira bilan 350 tayyorlaymiz". Bu hisob mukammal aniq emas, lekin YETARLICHA to'g'ri — va bir necha daqiqada tayyor bo'ladi, kunlab statistik tadqiqot shart emas. Tizim dizaynida bunga back-of-the-envelope estimation (qog'oz burchagida hisoblash) deyiladi.
Yangi tizim loyihalashdan OLDIN, uning taxminiy KATTALIGINI bilish kerak: kuniga necha foydalanuvchi, soniyasiga necha so'rov (QPS), qancha ma'lumot saqlanadi. Bu raqamlar, "bitta server yetadimi yoki yuzta kerakmi", "oddiy baza yetadimi yoki sharding kerakmi" kabi KEYINGI barcha qarorlarga asos bo'ladi — Numbers Every Engineer Should Know darsida ko'rgan raqamlar bilan birga ishlatiladi.
Misol: "kuniga 10 million foydalanuvchi kirib, har biri o'rtacha 5 ta so'rov yuboradigan" xizmatni tasavvur qiling. Hisoblash: 10,000,000 × 5 = 50,000,000 so'rov/kun. Bir kunda 86,400 soniya bor, demak o'rtacha QPS = 50,000,000 / 86,400 ≈ 580 QPS. Lekin foydalanuvchilar KUN DAVOMIDA bir tekis kirmaydi — kechqurun eng ko'p, tunda eng kam. Shuning uchun "eng yuqori nuqta" (peak QPS)ni odatda o'rtachaning 2-3 barobari deb OLADILAR: ≈ 1500-1700 QPS.
Xuddi shunday, saqlash hajmini ham taxminlash mumkin: agar har bir yozuv o'rtacha 1 kilobayt bo'lsa, va kuniga 50 million yozuv qo'shilsa — kuniga 50 GB, yilida ≈ 18 terabayt. Bu raqam "bitta oddiy server diski yetadimi" (odatda YO'Q) yoki "sharding (ma'lumotni bo'lish, Scaling Data & Storage kursida ko'ramiz) kerakmi" (odatda HA) degan savolga TEZDA javob beradi.
- •Aniq raqam emas, TARTIB (order of magnitude) muhim — 580 QPS bilan 620 QPS orasidagi farq arxitekturaviy qarorni o'zgartirmaydi, lekin 580 bilan 580,000 orasidagi farq — o'zgartiradi
- •Har doim ENG YUQORI nuqtani (peak) hisobga oling, o'rtachani emas — tizim eng band paytda ISHLAMASA, o'rtacha paytdagi muvaffaqiyat foyda bermaydi
- •Taxminlaringizni YOZIB qo'ying (Questions, Not Guesses darsidagi "ko'rinadigan taxmin" g'oyasi) — shunda keyinchalik ularni tekshirish va kerak bo'lsa tuzatish mumkin
Key Takeaway
Key Takeaway:
Tizim qurishdan oldin, uning taxminiy o'lchamini (QPS, saqlash hajmi, bandwidth) qog'oz burchagida hisoblab ko'ring — aniqlik emas, TARTIB muhim. Bu hisob, keyingi barcha arxitekturaviy qarorlarga (bitta server yetadimi, sharding kerakmi) asos bo'ladi.
NEXT UP
Availability and the Nines