课程进度 2% · 第1/8章第1/8章 · 标签 1/8
— 1 —
从业务问题开始
本方向贯穿一个在线学习平台:每天产生课程浏览、视频播放和练习提交事件,运营希望知道哪些课程吸引用户、哪些环节发生流失。先把问题改写成可计算的定义,例如“某日有至少一次有效播放的去重用户数”。如果连有效播放是否排除自动预览都没约定,换成分布式集群只会更快地产生不一致的答案。
定义还要说明排除项,例如机器人访问、测试账号与失败播放是否计入;将这些规则写成带输入和预期的样本,才能在不同引擎间保持一致。
— 2 —
规模不是唯一判断条件
假设每天一千万条事件,每条约五百字节,原始载荷约五GB,全年约一点八TB,尚未计算副本、索引和中间结果。容量规划要同时考虑保留时间、峰值写入和查询延迟。小样本先用单机验证口径;当容量、吞吐或恢复时间超过单机预算,再引入分布式处理,不能仅因数据被称为“大数据”就搭建复杂平台。
容量模型应注明压缩前后与保留天数。若查询只需最近七天,可以将活跃查询层与长期归档层分开,避免所有历史数据都维持同等访问成本。