假设某个网站每天有超过10亿次的页面访问量,出于安全考虑,网站会记录访问客户端访问的ip地址和对应的时间。
如果现在已经记录了1000亿条数据,想统计一个指定时间段内的区域ip地址访问量。
那么这些数据应该按照何种方式来组织,才能尽快满足上面的统计需求呢?
设计完方案后,并指出该方案的优缺点,比如在什么情况下,可能会非常慢?
答:用B+树来组织,非叶子节点存储(某个时间点,页面访问量),叶子节点是访问的IP地址。这个方案
的优点是查询某个时间段内的IP访问量很快,但是要统计系统设计题某个IP的访问次数或是上次访问时间就不得不遍
历整个树的叶子节点。答:
或者可以建立二级索引,分别是时间和地点来建立索引。