无论笔试还是面试总会被问到一些架构题,关键还无法理解面试官究竟在问什么。开始积累这些题吧,放到下面
关于海量数据存储与访问,涉及到分库,分表,可以参考此文:
《数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器》
1、有一个监控系统,有大量的数据记录包括{url,用户访问ip,时间},要对这个监控系统进行维护,并提供查询。
设计一个能存储和维护1000亿条记录,实时监控,并支持一下两种查询:
1. 指定任意一个时间段(精确到分钟)和某个url,查处这个时间段内的所有url的访问总量。
2. 指定任意一个时间段(精确到分钟)和某个ip,查询这个时间段内的ip访问总量。
思路:按照年进行分库,然后按照月进行分表。时间采用int存储。date按照时间进行分区。 然后date和url,date和ip建立联合索引。ps,分区字段需 要是int型