Skip to Content
Nextra 4.0 is released 🎉

ā§Ļā§Š. āĻŦā§āϝāĻžāĻ•-āĻ…āĻĢ-āĻĻā§āϝ-āĻāύāϭ⧇āϞāĻĒ āĻāĻ¸ā§āϟāĻŋāĻŽā§‡āĻļāύ (Back-of-the-envelope Estimation) āĻŦāĻž āĻ–āϏ⧜āĻž āĻšāĻŋāϏāĻžāĻŦ

āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĄāĻŋāϜāĻžāχāύ āχāĻ¨ā§āϟāĻžāϰāĻ­āĻŋāωāϤ⧇ āĻ…āύ⧇āĻ• āϏāĻŽā§Ÿ āφāĻĒāύāĻžāϕ⧇ āĻŦā§āϝāĻžāĻ•-āĻ…āĻĢ-āĻĻā§āϝ-āĻāύāϭ⧇āϞāĻĒ āĻāĻ¸ā§āϟāĻŋāĻŽā§‡āĻļāύ (āĻ–āϏ⧜āĻž āĻšāĻŋāϏāĻžāĻŦ) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϕ⧋āύ⧋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϧāĻžāϰāĻŖāĻ•ā§āώāĻŽāϤāĻž (capacity) āĻŦāĻž āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ⧇āϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāĻ¨ā§€ā§ŸāϤāĻž āĻ…āύ⧁āĻŽāĻžāύ āĻ•āϰāϤ⧇ āĻŦāϞāĻž āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤ āϗ⧁āĻ—āϞ⧇āϰ āϏāĻŋāύāĻŋ⧟āϰ āĻĢ⧇āϞ⧋ āĻœā§‡āĻĢ āĻĄāĻŋāύ⧇āϰ āĻŽāϤ⧇, “āĻŦā§āϝāĻžāĻ•-āĻ…āĻĢ-āĻĻā§āϝ-āĻāύāϭ⧇āϞāĻĒ āĻ•ā§āϝāĻžāϞāϕ⧁āϞ⧇āĻļāύ āĻšāϞ⧋ āĻāĻŽāύ āĻāĻ• āϧāϰāϪ⧇āϰ āĻ…āύ⧁āĻŽāĻžāύ, āϝāĻž āφāĻĒāύāĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĨāϟ āĻāĻ•ā§āϏāĻĒ⧇āϰāĻŋāĻŽā§‡āĻ¨ā§āϟ (thought experiments) āĻāĻŦāĻ‚ āĻĒā§āϰāϚāϞāĻŋāϤ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āĻĄā§‡āϟāĻžāϰ āϏāĻŽāĻ¨ā§āĻŦā§Ÿā§‡ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āύāĨ¤ āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āφāĻĒāύāĻŋ āϏāĻšāĻœā§‡āχ āĻŦ⧁āĻāϤ⧇ āĻĒāĻžāϰ⧇āύ āϝ⧇ āϕ⧋āύ āĻĄāĻŋāϜāĻžāχāύāϟāĻŋ āφāĻĒāύāĻžāϰ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϚāĻžāĻšāĻŋāĻĻāĻžāϗ⧁āϞ⧋ āĻ­āĻžāϞ⧋āĻ­āĻžāĻŦ⧇ āĻŽā§‡āϟāĻžāϤ⧇ āĻĒāĻžāϰāĻŦā§‡â€ [ā§§]āĨ¤

āϏāĻ āĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻāχ āĻŦā§āϝāĻžāĻ•-āĻ…āĻĢ-āĻĻā§āϝ-āĻāύāϭ⧇āϞāĻĒ āĻāĻ¸ā§āϟāĻŋāĻŽā§‡āĻļāύ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϰ āĻ¸ā§āϕ⧇āϞ⧇āĻŦāĻŋāϞāĻŋāϟāĻŋāϰ (scalability) āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ• āĻŦāĻŋāώ⧟āϗ⧁āϞ⧋ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āϖ⧁āĻŦ āĻ­āĻžāϞ⧋ āϧāĻžāϰāĻŖāĻž āĻĨāĻžāĻ•āϤ⧇ āĻšāĻŦ⧇āĨ¤ āĻŦāĻŋāĻļ⧇āώ āĻ•āϰ⧇ āύāĻŋāĻšā§‡āϰ āĻŦāĻŋāώ⧟āϗ⧁āϞ⧋ āĻ­āĻžāϞ⧋āĻ­āĻžāĻŦ⧇ āĻŦ⧁āĻāϤ⧇ āĻšāĻŦ⧇:

  • āĻĒāĻžāĻ“ā§ŸāĻžāϰ āĻ…āĻĢ āϟ⧁ āĻŦāĻž ⧍-āĻāϰ āϘāĻžāϤ (power of two) [⧍]
  • āĻ˛ā§āϝāĻžāĻŸā§‡āĻ¨ā§āϏāĻŋ āύāĻžāĻŽā§āĻŦāĻžāϰ (latency numbers) āϝāĻž āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻžāϰ⧇āϰ āϜāĻžāύāĻž āωāϚāĻŋāϤ
  • āĻ…ā§āϝāĻžāϭ⧇āχāϞ⧇āĻŦāĻŋāϞāĻŋāϟāĻŋ āύāĻžāĻŽā§āĻŦāĻžāϰ āĻŦāĻž āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āĻĒā§āϰāĻžāĻĒā§āϝāϤāĻžāϰ āĻšāĻŋāϏāĻžāĻŦ (availability numbers)

āĻĒāĻžāĻ“ā§ŸāĻžāϰ āĻ…āĻĢ āϟ⧁ (Power of two) āĻŦāĻž ⧍-āĻāϰ āϘāĻžāϤ

āĻĄāĻŋāĻ¸ā§āĻŸā§āϰāĻŋāĻŦāĻŋāωāĻŸā§‡āĻĄ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽ (distributed systems) āύāĻŋā§Ÿā§‡ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āϏāĻŽā§Ÿ āĻĄā§‡āϟāĻžāϰ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻ…āύ⧇āĻ• āĻŦāĻŋāĻļāĻžāϞ āĻšāϤ⧇ āĻĒāĻžāϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϏāĻŦ āĻšāĻŋāϏāĻžāĻŦ-āύāĻŋāĻ•āĻžāĻļ āĻĻāĻŋāύāĻļ⧇āώ⧇ āĻāĻ•āĻĻāĻŽ āĻŽā§ŒāϞāĻŋāĻ• āĻŦāĻŋāώ⧟āϗ⧁āϞ⧋āϰ āĻ“āĻĒāϰāχ āύāĻŋāĻ°ā§āĻ­āϰ āĻ•āϰ⧇āĨ¤ āύāĻŋāĻ°ā§āϭ⧁āϞ āĻšāĻŋāϏāĻžāĻŦ āĻĒāĻžāĻ“ā§ŸāĻžāϰ āϜāĻ¨ā§āϝ ‘āĻĒāĻžāĻ“ā§ŸāĻžāϰ āĻ…āĻĢ ā§¨â€™ (⧍-āĻāϰ āϘāĻžāϤ) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĄā§‡āϟāĻž āĻ­āϞāĻŋāωāĻŽā§‡āϰ āĻāĻ•āĻ•āϗ⧁āϞ⧋ (data volume units) āϜāĻžāύāĻž āĻ…āĻ¤ā§āϝāĻ¨ā§āϤ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤

āĻāĻ•āϟāĻŋ āĻŦāĻžāχāϟ (byte) āĻšāϞ⧋ ā§ŽāϟāĻŋ āĻŦāĻŋāĻŸā§‡āϰ (bits) āϏāĻŽāĻˇā§āϟāĻŋāĨ¤ āĻāĻ•āϟāĻŋ āφāϏāĻ•āĻŋ (ASCII) āĻ•ā§āϝāĻžāϰ⧇āĻ•ā§āϟāĻžāϰ āĻŽā§‡āĻŽā§‹āϰāĻŋāϤ⧇ āĻāĻ• āĻŦāĻžāχāϟ (ā§Ž āĻŦāĻŋāϟ) āϜāĻžā§ŸāĻ—āĻž āĻĻāĻ–āϞ āĻ•āϰ⧇āĨ¤ āύāĻŋāĻšā§‡ āĻĄā§‡āϟāĻž āĻ­āϞāĻŋāωāĻŽā§‡āϰ āĻāĻ•āĻ•āϗ⧁āϞ⧋ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏāĻžāϰāĻŖā§€ (Table 1) āĻĻ⧇āĻ“ā§ŸāĻž āĻšāϞ⧋:

āĻĒāĻžāĻ“ā§ŸāĻžāϰ (Power)āφāύ⧁āĻŽāĻžāύāĻŋāĻ• āĻŽāĻžāύ (Approximate value)āĻĒ⧁āϰ⧋ āύāĻžāĻŽ (Full name)āϏāĻ‚āĻ•ā§āώāĻŋāĻĒā§āϤ āύāĻžāĻŽ (Short name)
ā§§ā§Ļ (2^10)ā§§ āĻšāĻžāϜāĻžāϰ (1 Thousand)ā§§ āĻ•āĻŋāϞ⧋āĻŦāĻžāχāϟ (1 Kilobyte)1 KB
⧍ā§Ļ (2^20)ā§§ āĻŽāĻŋāϞāĻŋ⧟āύ / ā§§ā§Ļ āϞāĻžāĻ– (1 Million)ā§§ āĻŽā§‡āĻ—āĻžāĻŦāĻžāχāϟ (1 Megabyte)1 MB
ā§Šā§Ļ (2^30)ā§§ āĻŦāĻŋāϞāĻŋ⧟āύ / ā§§ā§Ļā§Ļ āϕ⧋āϟāĻŋ (1 Billion)ā§§ āĻ—āĻŋāĻ—āĻžāĻŦāĻžāχāϟ (1 Gigabyte)1 GB
ā§Ēā§Ļ (2^40)ā§§ āĻŸā§āϰāĻŋāϞāĻŋ⧟āύ (1 Trillion)ā§§ āĻŸā§‡āϰāĻžāĻŦāĻžāχāϟ (1 Terabyte)1 TB
ā§Ģā§Ļ (2^50)ā§§ āĻ•ā§‹ā§ŸāĻžāĻĄā§āϰāĻŋāϞāĻŋ⧟āύ (1 Quadrillion)ā§§ āĻĒ⧇āϟāĻžāĻŦāĻžāχāϟ (1 Petabyte)1 PB

āĻ˛ā§āϝāĻžāĻŸā§‡āĻ¨ā§āϏāĻŋ āύāĻžāĻŽā§āĻŦāĻžāϰ āϝāĻž āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĒā§āϰ⧋āĻ—ā§āϰāĻžāĻŽāĻžāϰ⧇āϰ āϜāĻžāύāĻž āωāϚāĻŋāϤ (Latency numbers every programmer should know)

āϗ⧁āĻ—āϞ⧇āϰ āĻĄ. āĻĄāĻŋāύ ⧍ā§Ļā§§ā§Ļ āϏāĻžāϞ⧇ āϏāĻžāϧāĻžāϰāĻŖ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇āϰ āϏāĻŽā§ŸāĻ•āĻžāϞ⧇āϰ āĻāĻ•āϟāĻŋ āϤāĻžāϞāĻŋāĻ•āĻž āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰ⧇āύ [ā§§]āĨ¤ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ āφāϰāĻ“ āĻĻā§āϰ⧁āϤāĻ—āϤāĻŋāϏāĻŽā§āĻĒāĻ¨ā§āύ āĻ“ āĻļāĻ•ā§āϤāĻŋāĻļāĻžāϞ⧀ āĻšāĻ“ā§ŸāĻžāϰ āĻ•āĻžāϰāϪ⧇ āĻāϰ āĻŽāĻ§ā§āϝ⧇ āĻ•āĻŋāϛ⧁ āύāĻžāĻŽā§āĻŦāĻžāϰ āĻŦāĻž āĻĄā§‡āϟāĻž āĻāĻ–āύ āĻĒ⧁āϰ⧋āύ⧋ āĻšā§Ÿā§‡ āϗ⧇āϛ⧇āĨ¤ āϤāĻŦ⧇, āĻāχ āύāĻžāĻŽā§āĻŦāĻžāϰāϗ⧁āϞ⧋ āĻāĻ–āύāĻ“ āφāĻŽāĻžāĻĻ⧇āϰ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻ•āĻŽā§āĻĒāĻŋāωāϟāĻžāϰ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇āϰ āĻ—āϤāĻŋ (āϕ⧋āύāϟāĻž āĻ•āϤ āĻĻā§āϰ⧁āϤ āĻŦāĻž āϧ⧀āϰ) āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ⧋ āϧāĻžāϰāĻŖāĻž āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āϏāĻžāϰāĻŖā§€ ā§§ (Table 1)

āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇āϰ āύāĻžāĻŽ (Operation name)āϏāĻŽā§Ÿ (Time)
L1 āĻ•ā§āϝāĻžāĻļ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ (L1 cache reference)0.5 ns
āĻŦā§āϰāĻžāĻžā§āϚ āĻŽāĻŋāϏāĻĒā§āϰ⧇āĻĄāĻŋāĻ•ā§āϟ (Branch mispredict)5 ns
L2 āĻ•ā§āϝāĻžāĻļ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ (L2 cache reference)7 ns
āĻŽāĻŋāωāĻŸā§‡āĻ•ā§āϏ āϞāĻ•/āφāύāϞāĻ• (Mutex lock/unlock)100 ns
āĻŽā§‡āχāύ āĻŽā§‡āĻŽāϰāĻŋ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ (Main memory reference)100 ns
āϜāĻŋāĻĒāĻŋ (Zippy) āĻĻāĻŋā§Ÿā§‡ ā§§ āĻ•āĻŋāϞ⧋āĻŦāĻžāχāϟ āĻ•āĻŽāĻĒā§āϰ⧇āϏ āĻ•āϰāĻž10,000 ns = 10 Âĩs
ā§§ āϜāĻŋāĻŦāĻŋāĻĒāĻŋāĻāϏ (1 Gbps) āύ⧇āϟāĻ“ā§ŸāĻžāĻ°ā§āϕ⧇ ⧍ āĻ•āĻŋāϞ⧋āĻŦāĻžāχāϟ āĻĄā§‡āϟāĻž āĻĒāĻžāĻ āĻžāύ⧋20,000 ns = 20 Âĩs
āĻŽā§‡āĻŽāϰāĻŋ āĻĨ⧇āϕ⧇ āĻ•ā§āϰāĻŽāĻžāĻ¨ā§āĻŦāϝāĻŧ⧇ (sequentially) ā§§ āĻŽā§‡āĻ—āĻžāĻŦāĻžāχāϟ āϰāĻŋāĻĄ āĻ•āϰāĻž250,000 ns = 250 Âĩs
āĻāĻ•āχ āĻĄā§‡āϟāĻžāϏ⧇āĻ¨ā§āϟāĻžāϰ⧇āϰ āϭ⧇āϤāϰ⧇ āϰāĻžāωāĻ¨ā§āĻĄ āĻŸā§āϰāĻŋāĻĒ (Round trip)500,000 ns = 500 Âĩs
āĻĄāĻŋāĻ¸ā§āĻ• āϏāĻŋāĻ• (Disk seek)10,000,000 ns = 10 ms
āύ⧇āϟāĻ“ā§ŸāĻžāĻ°ā§āĻ• āĻĨ⧇āϕ⧇ āĻ•ā§āϰāĻŽāĻžāĻ¨ā§āĻŦāϝāĻŧ⧇ ā§§ āĻŽā§‡āĻ—āĻžāĻŦāĻžāχāϟ āϰāĻŋāĻĄ āĻ•āϰāĻž10,000,000 ns = 10 ms
āĻĄāĻŋāĻ¸ā§āĻ• āĻĨ⧇āϕ⧇ āĻ•ā§āϰāĻŽāĻžāĻ¨ā§āĻŦāϝāĻŧ⧇ ā§§ āĻŽā§‡āĻ—āĻžāĻŦāĻžāχāϟ āϰāĻŋāĻĄ āĻ•āϰāĻž30,000,000 ns = 30 ms
āĻ•ā§āϝāĻžāϞāĻŋāĻĢā§‹āĻ°ā§āύāĻŋāϝāĻŧāĻž (CA) -> āύ⧇āĻĻāĻžāϰāĻ˛ā§āϝāĻžāĻ¨ā§āĻĄāϏ -> āĻ•ā§āϝāĻžāϞāĻŋāĻĢā§‹āĻ°ā§āύāĻŋāϝāĻŧāĻžāϝāĻŧ (CA) āĻĒā§āϝāĻžāϕ⧇āϟ āĻĒāĻžāĻ āĻžāύ⧋150,000,000 ns = 150 ms

āϏāĻžāϰāĻŖā§€ ⧍: āύ⧋āϟ (Table 2 Notes)

  • ns = āĻ¨ā§āϝāĻžāύ⧋āϏ⧇āϕ⧇āĻ¨ā§āĻĄ (nanosecond), Âĩs = āĻŽāĻžāχāĻ•ā§āϰ⧋āϏ⧇āϕ⧇āĻ¨ā§āĻĄ (microsecond), ms = āĻŽāĻŋāϞāĻŋ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ (millisecond)
  • 1 ns = 10^-9 āϏ⧇āϕ⧇āĻ¨ā§āĻĄ
  • 1 Âĩs = 10^-6 āϏ⧇āϕ⧇āĻ¨ā§āĻĄ = 1,000 ns
  • 1 ms = 10^-3 āϏ⧇āϕ⧇āĻ¨ā§āĻĄ = 1,000 Âĩs = 1,000,000 ns

āϗ⧁āĻ—āϞ⧇āϰ āĻāĻ•āϜāύ āϏāĻĢāϟāĻ“ā§Ÿā§āϝāĻžāϰ āχāĻžā§āϜāĻŋāύāĻŋ⧟āĻžāϰ āĻĄ. āĻĄāĻŋāύ⧇āϰ āĻāχ āύāĻžāĻŽā§āĻŦāĻžāϰāϗ⧁āϞ⧋ āĻ­āĻŋāĻœā§āϝ⧁⧟āĻžāϞāĻžāχāϜ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϟ⧁āϞ āϤ⧈āϰāĻŋ āĻ•āϰ⧇āϛ⧇āύāĨ¤ āϟ⧁āϞāϟāĻŋ āϏāĻŽā§Ÿā§‡āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ⧇āϰ āĻŦāĻŋāώ⧟āϟāĻŋāĻ“ āĻŦāĻŋāĻŦ⧇āϚāύāĻžā§Ÿ āϰāĻžāϖ⧇āĨ¤ āϚāĻŋāĻ¤ā§āϰ ā§§-āĻ (Figure 1) ⧍ā§Ļ⧍ā§Ļ āϏāĻžāϞ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻāχ āĻ˛ā§āϝāĻžāĻŸā§‡āĻ¨ā§āϏāĻŋ āύāĻžāĻŽā§āĻŦāĻžāϰāϗ⧁āϞ⧋āϰ āĻ­āĻŋāĻœā§āϝ⧁⧟āĻžāϞāĻžāχāĻœā§‡āĻļāύ āĻĻ⧇āĻ–āĻžāύ⧋ āĻšā§Ÿā§‡āϛ⧇ (āĻ›āĻŦāĻŋāϰ āĻ‰ā§ŽāϏ: āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻŽā§āϝāĻžāĻŸā§‡āϰāĻŋ⧟āĻžāϞ [ā§Š])āĨ¤

āϚāĻŋāĻ¤ā§āϰ ā§§-āĻāϰ āĻĄā§‡āϟāĻž āĻŦāĻŋāĻļā§āϞ⧇āώāĻŖ āĻ•āϰ⧇ āφāĻŽāϰāĻž āύāĻŋāĻšā§‡āϰ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤāϗ⧁āϞ⧋āϤ⧇ āĻĒ⧌āρāĻ›āĻžāϤ⧇ āĻĒāĻžāϰāĻŋ:

  • āĻŽā§‡āĻŽāϰāĻŋ āĻ…āύ⧇āĻ• āĻĻā§āϰ⧁āϤ āĻ•āĻžāϜ āĻ•āϰ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻĄāĻŋāĻ¸ā§āĻ• āĻ…āύ⧇āĻ• āϧ⧀āϰāĻ—āϤāĻŋāϰāĨ¤
  • āϝāϤāϟāĻž āϏāĻŽā§āĻ­āĻŦ āĻĄāĻŋāĻ¸ā§āĻ• āϏāĻŋāĻ• (disk seeks) āĻā§œāĻŋā§Ÿā§‡ āϚāϞāĻž āωāϚāĻŋāϤāĨ¤
  • āϏāĻžāϧāĻžāϰāĻŖ āĻ•āĻŽā§āĻĒā§āϰ⧇āĻļāύ āĻ…ā§āϝāĻžāϞāĻ—āϰāĻŋāĻĻāĻŽāϗ⧁āϞ⧋ (compression algorithms) āĻŦ⧇āĻļ āĻĻā§āϰ⧁āϤ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤
  • āχāĻ¨ā§āϟāĻžāϰāύ⧇āĻŸā§‡ āĻĄā§‡āϟāĻž āĻĒāĻžāĻ āĻžāύ⧋āϰ āφāϗ⧇ āϏāĻŽā§āĻ­āĻŦ āĻšāϞ⧇ āϤāĻž āĻ•āĻŽāĻĒā§āϰ⧇āϏ (compress) āĻ•āϰ⧇ āύ⧇āĻ“ā§ŸāĻž āωāϚāĻŋāϤāĨ¤
  • āĻĄā§‡āϟāĻžāϏ⧇āĻ¨ā§āϟāĻžāϰāϗ⧁āϞ⧋ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻ…āĻžā§āϚāϞ⧇ (regions) āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāϤ āĻĨāĻžāϕ⧇, āϤāĻžāχ āĻāĻĻ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻĄā§‡āϟāĻž āφāĻĻāĻžāύ-āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰāϤ⧇ āĻŦ⧇āĻļ āĻ–āĻžāύāĻŋāĻ•āϟāĻž āϏāĻŽā§Ÿ āϞāĻžāϗ⧇āĨ¤

āĻ…ā§āϝāĻžāϭ⧇āχāϞ⧇āĻŦāĻŋāϞāĻŋāϟāĻŋ āύāĻžāĻŽā§āĻŦāĻžāϰ (Availability numbers) āĻŦāĻž āĻĒā§āϰāĻžāĻĒā§āϝāϤāĻžāϰ āĻšāĻŋāϏāĻžāĻŦ

āĻšāĻžāχ āĻ…ā§āϝāĻžāϭ⧇āχāϞ⧇āĻŦāĻŋāϞāĻŋāϟāĻŋ (High availability) āĻšāϞ⧋ āϕ⧋āύ⧋ āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āĻĻā§€āĻ°ā§āϘ āϏāĻŽā§Ÿ āϧāϰ⧇ āύāĻŋāϰāĻŦāĻšā§āĻ›āĻŋāĻ¨ā§āύāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻŦāĻž āĻ…āĻĒāĻžāϰ⧇āĻļāύāĻžāϞ āĻĨāĻžāĻ•āĻžāϰ āĻ•ā§āώāĻŽāϤāĻžāĨ¤ āĻāϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖāϤ āĻļāϤāĻžāĻ‚āĻļ⧇ (percentage) āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻ•āϰāĻž āĻšā§ŸāĨ¤ ā§§ā§Ļā§Ļ% āĻŽāĻžāύ⧇ āĻšāϞ⧋ āĻāĻŽāύ āĻāĻ•āϟāĻŋ āϏāĻžāĻ°ā§āĻ­āĻŋāϏ āϝāĻžāϰ āϕ⧋āύ⧋ āĻĄāĻžāωāύāϟāĻžāχāĻŽ (downtime) āĻŦāĻž āĻŦāĻ¨ā§āϧ āĻĨāĻžāĻ•āĻžāϰ āϏāĻŽā§Ÿ āύ⧇āχāĨ¤ āϤāĻŦ⧇ āĻŦ⧇āĻļāĻŋāϰāĻ­āĻžāĻ— āϏāĻžāĻ°ā§āĻ­āĻŋāϏāχ ⧝⧝% āĻĨ⧇āϕ⧇ ā§§ā§Ļā§Ļ%-āĻāϰ āĻŽāĻ§ā§āϝ⧇ āĻĨāĻžāϕ⧇āĨ¤

āϏāĻžāĻ°ā§āĻ­āĻŋāϏ āϞ⧇āϭ⧇āϞ āĻ…ā§āϝāĻžāĻ—ā§āϰāĻŋāĻŽā§‡āĻ¨ā§āϟ (Service Level Agreement āĻŦāĻž SLA) āĻšāϞ⧋ āϏāĻžāĻ°ā§āĻ­āĻŋāϏ āĻĒā§āϰ⧋āĻ­āĻžāχāĻĄāĻžāϰāĻĻ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻŦāĻšā§āϞ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻļāĻŦā§āĻĻāĨ¤ āĻāϟāĻŋ āĻŽā§‚āϞāϤ āφāĻĒāύāĻžāϰ (āϏāĻžāĻ°ā§āĻ­āĻŋāϏ āĻĒā§āϰ⧋āĻ­āĻžāχāĻĄāĻžāϰ) āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻ—ā§āϰāĻžāĻšāϕ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻāĻ•āϟāĻŋ āϚ⧁āĻ•ā§āϤāĻŋ, āϝāĻž āφāύ⧁āĻˇā§āĻ āĻžāύāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āύāĻŋāĻ°ā§āϧāĻžāϰāĻŖ āĻ•āϰ⧇ āϝ⧇ āφāĻĒāύāĻžāϰ āϏāĻžāĻ°ā§āĻ­āĻŋāϏ āĻ āĻŋāĻ• āĻ•āϤāϟāĻž āφāĻĒāϟāĻžāχāĻŽ (uptime) āĻĻ⧇āĻŦ⧇āĨ¤ āĻ…ā§āϝāĻžāĻŽāĻžāϜāύ (Amazon) [ā§Ē], āϗ⧁āĻ—āϞ (Google) [ā§Ģ] āĻāĻŦāĻ‚ āĻŽāĻžāχāĻ•ā§āϰ⧋āϏāĻĢāĻŸā§‡āϰ (Microsoft) [ā§Ŧ] āĻŽāϤ⧋ āĻ•ā§āϞāĻžāωāĻĄ āĻĒā§āϰ⧋āĻ­āĻžāχāĻĄāĻžāϰāϰāĻž āϤāĻžāĻĻ⧇āϰ SLA ⧝⧝.⧝% āĻŦāĻž āϤāĻžāϰ āĻ“āĻĒāϰ⧇ āϰāĻžāϖ⧇āĨ¤ āφāĻĒāϟāĻžāχāĻŽ āϐāϤāĻŋāĻšā§āϝāĻ—āϤāĻ­āĻžāĻŦ⧇ “āύāĻžāχāύāĻ¸â€ (nines āĻŦāĻž ⧝) āĻĻāĻŋā§Ÿā§‡ āĻĒāϰāĻŋāĻŽāĻžāĻĒ āĻ•āϰāĻž āĻšā§ŸāĨ¤ ⧝-āĻāϰ āϏāĻ‚āĻ–ā§āϝāĻž āϝāϤ āĻŦ⧇āĻļāĻŋ, āϏāĻžāĻ°ā§āĻ­āĻŋāϏ āϤāϤ āĻ­āĻžāϞ⧋āĨ¤ āϏāĻžāϰāĻŖā§€ ā§Š-āĻ āĻĻ⧇āĻ–āĻžāύ⧋ āĻšāϝāĻŧ⧇āϛ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ ⧝-āĻāϰ āϏāĻ‚āĻ–ā§āϝāĻž āϏāĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āϰ āϏāĻŽā§āĻ­āĻžāĻŦā§āϝ āĻĄāĻžāωāύāϟāĻžāχāĻŽā§‡āϰ āϏāĻžāĻĨ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤāĨ¤

āϏāĻžāϰāĻŖā§€ ā§Š (Table 3)

āĻ…ā§āϝāĻžāϭ⧇āχāϞ⧇āĻŦāĻŋāϞāĻŋāϟāĻŋ (Availability) %āĻĻ⧈āύāĻŋāĻ• āĻĄāĻžāωāύāϟāĻžāχāĻŽāϏāĻžāĻĒā§āϤāĻžāĻšāĻŋāĻ• āĻĄāĻžāωāύāϟāĻžāχāĻŽāĻŽāĻžāϏāĻŋāĻ• āĻĄāĻžāωāύāϟāĻžāχāĻŽāĻŦāĻžāĻ°ā§āώāĻŋāĻ• āĻĄāĻžāωāύāϟāĻžāχāĻŽ
⧝⧝% (99%)ā§§ā§Ē.ā§Ēā§Ļ āĻŽāĻŋāύāĻŋāϟ⧧.ā§Ŧā§Ž āϘāĻŖā§āϟāĻžā§­.ā§Šā§§ āϘāĻŖā§āϟāĻžā§Š.ā§Ŧā§Ģ āĻĻāĻŋāύ
⧝⧝.⧝⧝% (99.99%)ā§Ž.ā§Ŧā§Ē āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§§.ā§Ļā§§ āĻŽāĻŋāύāĻŋāϟā§Ē.ā§Šā§Ž āĻŽāĻŋāύāĻŋāϟā§Ģ⧍.ā§Ŧā§Ļ āĻŽāĻŋāύāĻŋāϟ
⧝⧝.⧝⧝⧝% (99.999%)ā§Žā§Ŧā§Ē.ā§Ļā§Ļ āĻŽāĻŋāϞāĻŋ āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§Ŧ.ā§Ļā§Ģ āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§¨ā§Ŧ.ā§Šā§Ļ āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§Ģ.⧍ā§Ŧ āĻŽāĻŋāύāĻŋāϟ
⧝⧝.⧝⧝⧝⧝% (99.9999%)ā§Žā§Ŧ.ā§Ēā§Ļ āĻŽāĻŋāϞāĻŋ āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§Ŧā§Ļā§Ē.ā§Žā§Ļ āĻŽāĻŋāϞāĻŋ āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§¨.ā§Ŧā§Š āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§Šā§§.ā§Ģā§Ŧ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ

āωāĻĻāĻžāĻšāϰāĻŖ: āϟ⧁āχāϟāĻžāϰ⧇āϰ QPS āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§‹āϰ⧇āĻœā§‡āϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāĻ¨ā§€ā§ŸāϤāĻž āĻ…āύ⧁āĻŽāĻžāύ āĻ•āϰāĻž (Estimate Twitter QPS and storage requirements)

āĻ…āύ⧁āĻ—ā§āϰāĻš āĻ•āϰ⧇ āĻŽāύ⧇ āϰāĻžāĻ–āĻŦ⧇āύ āϝ⧇ āύāĻŋāĻšā§‡āϰ āϏāĻ‚āĻ–ā§āϝāĻžāϗ⧁āϞ⧋ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāχ āĻ…āύ⧁āĻļā§€āϞāύ⧇āϰ āϜāĻ¨ā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇, āĻāϗ⧁āϞ⧋ āϟ⧁āχāϟāĻžāϰ⧇āϰ āφāϏāϞ āĻĄā§‡āϟāĻž āύ⧟āĨ¤

āĻ…āύ⧁āĻŽāĻžāύ āĻŦāĻž āϧāĻžāϰāĻŖāĻž (Assumptions):

  • āĻŽāĻžāϏāĻŋāĻ• āϏāĻ•ā§āϰāĻŋ⧟ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ (monthly active users) ā§Šā§Ļā§Ļ āĻŽāĻŋāϞāĻŋ⧟āύāĨ¤
  • ā§Ģā§Ļ% āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ āϟ⧁āχāϟāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āύāĨ¤
  • āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰāĻž āĻ—ā§œā§‡ āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ ⧍āϟāĻŋ āĻ•āϰ⧇ āϟ⧁āχāϟ āĻ•āϰ⧇āύāĨ¤
  • ā§§ā§Ļ% āϟ⧁āχāĻŸā§‡ āĻŽāĻŋāĻĄāĻŋ⧟āĻž (āĻ›āĻŦāĻŋ/āĻ­āĻŋāĻĄāĻŋāĻ“) āĻĨāĻžāϕ⧇āĨ¤
  • ā§Ģ āĻŦāĻ›āϰ⧇āϰ āϜāĻ¨ā§āϝ āĻĄā§‡āϟāĻž āϏāĻ‚āϰāĻ•ā§āώāĻŖ āĻ•āϰāĻž āĻšā§ŸāĨ¤

āĻšāĻŋāϏāĻžāĻŦ (Estimations):

ā§§. āĻĒā§āϰāϤāĻŋ āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§‡ āĻ•ā§ā§Ÿā§‡āϰāĻŋ āĻŦāĻž āĻ•āĻŋāωāĻĒāĻŋāĻāϏ (QPS) āĻāϰ āĻšāĻŋāϏāĻžāĻŦ:

  • āĻĄā§‡āχāϞāĻŋ āĻ…ā§āϝāĻžāĻ•ā§āϟāĻŋāĻ­ āχāωāϜāĻžāϰ āĻŦāĻž āĻĻ⧈āύāĻŋāĻ• āϏāĻ•ā§āϰāĻŋ⧟ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀ (DAU) = ā§Šā§Ļā§Ļ āĻŽāĻŋāϞāĻŋ⧟āύ * ā§Ģā§Ļ% = ā§§ā§Ģā§Ļ āĻŽāĻŋāϞāĻŋ⧟āύāĨ¤
  • āϟ⧁āχāϟ QPS = ā§§ā§Ģā§Ļ āĻŽāĻŋāϞāĻŋ⧟āύ * ⧍ āϟ⧁āχāϟ / ⧍ā§Ē āϘāĻŖā§āϟāĻž / ā§Šā§Ŧā§Ļā§Ļ āϏ⧇āϕ⧇āĻ¨ā§āĻĄ = ~ā§Šā§Ģā§Ļā§Ļ
  • āĻĒāĻŋāĻ• (Peak) āĻŦāĻž āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ QPS = ⧍ * QPS = ~ā§­ā§Ļā§Ļā§Ļ

⧍. āĻŽāĻŋāĻĄāĻŋ⧟āĻž āĻ¸ā§āĻŸā§‹āϰ⧇āĻœā§‡āϰ āĻšāĻŋāϏāĻžāĻŦ (āφāĻŽāϰāĻž āĻāĻ–āĻžāύ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻŽāĻŋāĻĄāĻŋ⧟āĻž āĻ¸ā§āĻŸā§‹āϰ⧇āĻœā§‡āϰ āĻšāĻŋāϏāĻžāĻŦ āĻ•āϰāĻŦ):

  • āĻāĻ•āϟāĻŋ āϟ⧁āχāĻŸā§‡āϰ āĻ—ā§œ āϏāĻžāχāϜ:
    • tweet_id: ā§Ŧā§Ē āĻŦāĻžāχāϟ (64 bytes)
    • text: ā§§ā§Ēā§Ļ āĻŦāĻžāχāϟ (140 bytes)
    • media: ā§§ āĻŽā§‡āĻ—āĻžāĻŦāĻžāχāϟ (1 MB)
  • āĻŽāĻŋāĻĄāĻŋ⧟āĻž āĻ¸ā§āĻŸā§‹āϰ⧇āϜ: ā§§ā§Ģā§Ļ āĻŽāĻŋāϞāĻŋ⧟āύ * ⧍ * ā§§ā§Ļ% * ā§§ āĻāĻŽāĻŦāĻŋ = āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ ā§Šā§Ļ āĻŸā§‡āϰāĻžāĻŦāĻžāχāϟ (30 TB)
  • ā§Ģ āĻŦāĻ›āϰ⧇āϰ āĻŽāĻŋāĻĄāĻŋ⧟āĻž āĻ¸ā§āĻŸā§‹āϰ⧇āϜ: ā§Šā§Ļ āϟāĻŋāĻŦāĻŋ * ā§Šā§Ŧā§Ģ āĻĻāĻŋāύ * ā§Ģ āĻŦāĻ›āϰ = ~ā§Ģā§Ģ āĻĒ⧇āϟāĻžāĻŦāĻžāχāϟ (55 PB)

āϟāĻŋāĻĒāϏ (Tips)

āĻŦā§āϝāĻžāĻ•-āĻ…āĻĢ-āĻĻā§āϝ-āĻāύāϭ⧇āϞāĻĒ āĻāĻ¸ā§āϟāĻŋāĻŽā§‡āĻļāύ⧇āϰ āĻĒ⧁āϰ⧋ āĻŦā§āϝāĻžāĻĒāĻžāϰāϟāĻžāχ āĻšāϞ⧋ āĻāϰ āĻĒā§āϰāĻ•ā§āϰāĻŋ⧟āĻž (process)āĨ¤ āύāĻŋāϖ⧁āρāϤ āĻĢāϞāĻžāĻĢāϞ āĻĒāĻžāĻ“ā§ŸāĻžāϰ āĻšā§‡ā§Ÿā§‡ āϏāĻŽāĻ¸ā§āϝāĻžāϟāĻŋ āφāĻĒāύāĻŋ āϕ⧀āĻ­āĻžāĻŦ⧇ āϏāĻŽāĻžāϧāĻžāύ āĻ•āϰāϛ⧇āύ āϏ⧇āϟāĻŋ āĻŦ⧇āĻļāĻŋ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤ āχāĻ¨ā§āϟāĻžāϰāĻ­āĻŋāĻ‰ā§ŸāĻžāϰāϰāĻž āĻŽā§‚āϞāϤ āφāĻĒāύāĻžāϰ āĻĒā§āϰāĻŦāϞ⧇āĻŽ āϏāϞāĻ­āĻŋāĻ‚ āĻ¸ā§āĻ•āĻŋāϞ (problem-solving skills) āϝāĻžāϚāĻžāχ āĻ•āϰāϤ⧇ āϚāĻžāύāĨ¤ āĻāĻ–āĻžāύ⧇ āĻ…āύ⧁āϏāϰāĻŖ āĻ•āϰāĻžāϰ āĻŽāϤ⧋ āĻ•āĻŋāϛ⧁ āϟāĻŋāĻĒāϏ āĻĻ⧇āĻ“ā§ŸāĻž āĻšāϞ⧋:

  • āϰāĻžāωāĻ¨ā§āĻĄāĻŋāĻ‚ āĻāĻŦāĻ‚ āĻ…ā§āϝāĻžāĻĒā§āϰāĻ•ā§āϏāĻŋāĻŽā§‡āĻļāύ (Rounding and Approximation): āχāĻ¨ā§āϟāĻžāϰāĻ­āĻŋāω āϚāϞāĻžāĻ•āĻžāϞ⧀āύ āϜāϟāĻŋāϞ āĻ—āĻžāĻŖāĻŋāϤāĻŋāĻ• āĻšāĻŋāϏāĻžāĻŦ āĻ•āϰāĻž āĻŦ⧇āĻļ āĻ•āĻ āĻŋāύāĨ¤ āϝ⧇āĻŽāύ āϧāϰ⧁āύ, â€œā§¯ā§¯ā§¯ā§Žā§­ / ⧝.ā§§â€ āĻāϰ āĻĢāϞāĻžāĻĢāϞ āϕ⧀? āĻāχ āϧāϰāύ⧇āϰ āϜāϟāĻŋāϞ āĻ…āĻ™ā§āϕ⧇āϰ āĻĒ⧇āĻ›āύ⧇ āφāĻĒāύāĻžāϰ āĻŽā§‚āĻ˛ā§āϝāĻŦāĻžāύ āϏāĻŽā§Ÿ āύāĻˇā§āϟ āĻ•āϰāĻžāϰ āϕ⧋āύ⧋ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āύ⧇āχāĨ¤ āφāĻĒāύāĻžāϰ āĻ•āĻžāϛ⧇ āύāĻŋāϖ⧁āρāϤ āύāĻŋāĻ°ā§āϭ⧁āϞāϤāĻž (Precision) āφāĻļāĻž āĻ•āϰāĻž āĻšā§Ÿ āύāĻŋā§Ÿā§‹āĻ—āĻ•āĻ°ā§āϤāĻžāϰāĻžāĨ¤ āϤāĻžāχ āϰāĻžāωāĻ¨ā§āĻĄ āύāĻžāĻŽā§āĻŦāĻžāϰ (round numbers) āĻāĻŦāĻ‚ āφāύ⧁āĻŽāĻžāύāĻŋāĻ• āĻšāĻŋāϏāĻžāĻŦ (approximation) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤ āĻ“āĻĒāϰ⧇āϰ āĻ­āĻžāϗ⧇āϰ āĻ…āĻ™ā§āĻ•āϟāĻŋāϕ⧇ āϏāĻšāϜāĻ­āĻžāĻŦ⧇ āĻāĻ­āĻžāĻŦ⧇ āĻšāĻŋāϏāĻžāĻŦ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ: â€œā§§ā§Ļā§Ļ,ā§Ļā§Ļā§Ļ / ā§§ā§Ļ”āĨ¤
  • āφāĻĒāύāĻžāϰ āĻ…āύ⧁āĻŽāĻžāύāϗ⧁āϞ⧋ (assumptions) āϞāĻŋāϖ⧇ āϰāĻžāϖ⧁āύ: āφāĻĒāύāĻŋ āϝ⧇āϏāĻŦ āĻ…āύ⧁āĻŽāĻžāύ āϧāϰ⧇ āύāĻŋāĻšā§āϛ⧇āύ āϏ⧇āϗ⧁āϞ⧋ āϞāĻŋāϖ⧇ āϰāĻžāĻ–āĻž āĻāĻ•āϟāĻŋ āĻ­āĻžāϞ⧋ āĻ…āĻ­ā§āϝāĻžāϏ, āϝāĻžāϤ⧇ āĻĒāϰ⧇ āĻĒā§āĻ°ā§Ÿā§‹āϜāύ āĻšāϞ⧇ āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤
  • āĻāĻ•āĻ• āĻŦāĻž āχāωāύāĻŋāϟāϗ⧁āϞ⧋ (units) āωāĻ˛ā§āϞ⧇āĻ– āĻ•āϰ⧁āύ: āφāĻĒāύāĻŋ āϝāĻ–āύ āĻ–āĻžāϤāĻžā§Ÿ “ā§Ģ” āϞāĻŋāĻ–āϛ⧇āύ, āϤāĻ–āύ āĻāϟāĻŋ āĻĻāĻŋā§Ÿā§‡ āĻ•āĻŋ ā§Ģ āĻ•āĻŋāϞ⧋āĻŦāĻžāχāϟ (5 KB) āύāĻžāĻ•āĻŋ ā§Ģ āĻŽā§‡āĻ—āĻžāĻŦāĻžāχāϟ (5 MB) āĻŦā§‹āĻāĻžāĻšā§āϛ⧇āύ? āĻāϗ⧁āϞ⧋ āύāĻž āϞāĻŋāĻ–āϞ⧇ āφāĻĒāύāĻŋ āύāĻŋāĻœā§‡āχ āĻ•āύāĻĢāĻŋāωāϜāĻĄ āĻšā§Ÿā§‡ āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āϤāĻžāχ āĻāĻ•āĻ• āϞāĻŋāϖ⧇ āϰāĻžāϖ⧁āύ, āĻ•āĻžāϰāĻŖ “5 MB” āϞāĻŋāĻ–āϞ⧇ āϕ⧋āύ⧋ āĻĻā§āĻŦāĻŋāϧāĻž (ambiguity) āĻĨāĻžāϕ⧇ āύāĻžāĨ¤
  • āϏāĻžāϧāĻžāϰāĻŖāϤ āϝ⧇āϏāĻŦ āĻŦā§āϝāĻžāĻ•-āĻ…āĻĢ-āĻĻā§āϝ-āĻāύāϭ⧇āϞāĻĒ āĻāĻ¸ā§āϟāĻŋāĻŽā§‡āĻļāύ āĻŦ⧇āĻļāĻŋ āϜāĻŋāĻœā§āĻžāĻžāϏāĻž āĻ•āϰāĻž āĻšāϝāĻŧ: QPS, āĻĒāĻŋāĻ• QPS, āĻ¸ā§āĻŸā§‹āϰ⧇āϜ, āĻ•ā§āϝāĻžāĻļ (cache), āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇āϰ āϏāĻ‚āĻ–ā§āϝāĻž āχāĻ¤ā§āϝāĻžāĻĻāĻŋāĨ¤ āχāĻ¨ā§āϟāĻžāϰāĻ­āĻŋāĻ‰ā§Ÿā§‡āϰ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤāĻŋāϰ āϏāĻŽā§Ÿ āφāĻĒāύāĻŋ āĻāχ āĻšāĻŋāϏāĻžāĻŦāϗ⧁āϞ⧋ āĻ…āύ⧁āĻļā§€āϞāύ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āĻĒā§āĻ°ā§āϝāĻžāĻ•āϟāĻŋāϏ āφāĻĒāύāĻžāϕ⧇ āύāĻŋāϖ⧁āρāϤ āĻ•āϰāĻŦ⧇ (Practice makes perfect)āĨ¤

āĻ…āĻ­āĻŋāύāĻ¨ā§āĻĻāύ, āφāĻĒāύāĻŋ āĻāϤāĻĻā§‚āϰ āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āĻĒā§œā§‡ āĻļ⧇āώ āĻ•āϰ⧇āϛ⧇āύ! āĻĻāĻžāϰ⧁āĻŖ āĻ•āĻžāϜ āĻ•āϰ⧇āϛ⧇āύ, āĻāĻŦāĻžāϰ āύāĻŋāĻœā§‡āϰ āĻĒāĻŋāĻ  āĻāĻ•āϟ⧁ āϚāĻžāĻĒā§œā§‡ āĻĻāĻŋāύ!