System design interview එකකට ගිය විට, බොහෝ උපාධිධාරීන් ගණිත ගැටලුවක් නිසා පරාජය වෙන්නේ නැත. ප්රධාන ගැටලුව තමයි ඔවුන් ගණිතය නිශ්ශබ්දව කරලා, ඒ අංකය තහවුරු කර නොගෙන, ඉතිරි සාකච්ඡාව තුළ ඒ අංකය භාවිතා නොකිරීමයි. ගණිතය අතිශය සරලයි; වැදගත් වන්නේ ඒ ගණිතය කෙළින්ම අර්ථදක්වන පරිදි ඉදිරිපත් කිරීමයි.
ඉන්ටරව්යු කරුවන් Capacity estimation අරින හේතුව දෙකයි: (1) ඔබ සැලසුමක් භෞතිකව සම්භවීකාරීද කියා තක්සේරු කළ හැකිද? (2) සැලසුමේ පරමාර්ථය කුමන සීමාවට (storage, read throughput, write throughput, bandwidth) අඩුපාඩු වන්නේද? උදාහරණයක් ලෙස, ඔබ 30,000 reads/sec සහ 200 writes/sec කියලා ගණනය කරන්නේ නම්, ඒ අංකය සැලසුම වෙනස් කරයි. නමුත් petabytes ගණනය කරලා කිසිදාත් එය ගැන කතා නොකරන්නේ නම්, ඒක කෙල්ලේ ගණිතයක් පමණයි.
අවශ්ය උපකරණ
- 1 දිනය = 86,400 seconds ≈ 105 seconds (16% දෝෂයක්, මනස්කාරී ලෙස බෙදීම පහසු වේ)
- 1 million requests/day ≈ 12/sec → 10/sec ලෙස වටකුරු කරන්න
- 1 KB × 1 million = 1 GB, 1 KB × 1 billion = 1 TB
ගණිතය කරාපසු, ඔබට ලැබෙන්නේ order of magnitude එකක්. එය පරමාර්ථය තේරීමට ප්රමාණවත් වේ. උදාහරණයක් ලෙස, සමාජ ජාලයක් සඳහා 100M daily active users, එක් පරිශීලකයෙක් දිනකට 0.2 posts, 10 reads, post එක 1 KB යන අනුමාන සමඟ, ලියන ලද ගණිතය මෙසේය:
Writes: 100M × 0.2 = 20M posts/day → 200 writes/sec (peak 3× = 600 writes/sec)
Reads: 100M × 10 = 1B reads/day → 10,000 reads/sec (peak 3× = 30,000 reads/sec)
Storage: 20M × 1 KB = 20 GB/day → ≈7 TB/year, replication 3× → ≈21 TB/year
Bandwidth (peak): 30,000 reads/sec × 20 posts × 1 KB ≈ 600 MB/s
ශ්රී ලංකාවට ඇති වැදගත්කම
මෙම ගණිත ක්රමය ශ්රී ලංකාවේ තාක්ෂණ උපාධිධාරීන්ට, නවකයින්ට, ව්යාපාරිකයින්ට විශාල වාසියක් ගෙන දෙයි. පළමුව, interview එකේදී ගණිතය නිශ්ශබ්දව නොකර, සජීවීව කියා දෙනුමෙන් ඔබේ විශ්වාසය වැඩිවේ. දෙවැනිය, order of magnitude එකක් පමණක් දැනීමෙන්, සම්පත් (storage, bandwidth) ගැන අධික හෝ අඩු පුරෝකථන නොකර, නිවැරදි තාක්ෂණ තේරීම් (cache, CDN, pre‑computed feed) තීරණය කළ හැක. තුන්වැනිය, මෙම ක්රමය ප්රාදේශීය startups වලට අඩු වැයයෙන් හොඳ scalability ලබා දීමට උපකාරී වේ – උදාහරණයක් ලෙස, ශ්රී ලංකාවේ fintech හෝ e‑commerce සේවාවන්ට read‑heavy workload එකක් ඇති විට, write‑side optimisation මත අවධානය යොමු කළ හැක.
අවසන් වශයෙන්, capacity estimation එකක් නිවැරදිව කරලා, එය interview තරඟයේ හදාරන “design” පියවරට සම්බන්ධ කරන්නේ නම්, ඔබේ තාක්ෂණික විශ්ලේෂණ ශක්තිය තවත් ඉහළ යයි. ඒ නිසා, මෙම සරල ගණිත උපකරණය ඔබේ next interview එකේ ජයග්රහණයට පදනමක් වේ.