Path to System Design
SNAKE TEMPLATE FOR REQUIREMENT #
Scenario: use-case (if system is big) / interface (if sys is small).
Necessary: constrain/hypothesis.
Application: service/algorithm, e.g. MVC etc.
Kilobit: data.
Evolve: agile spring plan, inc. performance.
Example of recommender sys for personal radio station.
S: recommend a song for a user; like; dislike; skip.
N: 5 Millon users online » about 50k qps (quests per sec) » need 1~2 servers only (cuz we can optimize, e.g. by giving 100 songs per time).
A: alpha, online & offline.
K: size & how to choose, which subset to use: not too big (algorithm performance), not too small (data quality).
E: analyze & go back.