本文共 489 字,大约阅读时间需要 1 分钟。
假定我们有1亿用户的访问日志数据,每个用户在每天的日志中都可能有浏览信息,也可能没有;每天的日志是按时间顺序生成的,每个用户浏览的时间确可能跨度很大,例如一个用户的浏览行为在日志的第1,100,10000行上进行了记录。现在我们需要将该日志转化为一个以用户ID为关键码,用户在该天的浏览历史做值的这样一个日志,并且要求当输入用户ID和指定时间段(最多为3个月),那么该用户日志该如何生成?这里给三个方案:
A:单表策略,<user,data>为主关键字,<url list>为值,任何搜索都只需对表做一次操作。
B:多表策略,<user>为主关键字,<url list>为值,每个表是1天的全部数据,搜索需要多表进行操作,如果查询用户90天的数据,需要读90张表。
C:综合策略,<user,data>为主关键字,<url list>为值,每自然周数据做一个表。
D:您的方案
注:以上每个表均为提供随机查询的数据结构,且物理上都是一个完整的文件,或者是一个完整的整体(裸盘的话)。
大家认为哪一种方案更好,或者提出自己认为更好的方案。
本周五公布我的观点,欢迎探讨,共同交流。
转载地址:http://qoewn.baihongyu.com/