【发布时间】:2013-06-10 18:13:55
【问题描述】:
我们有一个点击跟踪系统,我在其中跟踪每个请求的 IP 地址。
每天我们都会获得数百万次点击。
对于每个请求并将 IP 地址存储为 MySQL 中的 1 行
我们还需要每日统计前 10 个 IP 地址点击量。
这是我用 MySQL 得到的,但我们的问题是数据库变得越来越重,占用了很大的空间。
我在寻找可以有效存储此 IP 地址的良好“数据结构”吗?
目前,如果我选择好的数据结构,我会将每个点击存储为行,那么我的问题将解决
我不想运行复杂的查询,但每天前 10 个,每周每个 IP 地址前 10 个。
而且必须节省存储空间
【问题讨论】:
-
您将访问日志存储多长时间?统计数据只需要一天,还是永久保留?
-
尝试升级到付费版本或其他数据库供应商。
-
长长的比过去 1 年还要大
-
请告诉我们确切的 DDL。您是否使用BINARY 类型作为 IP 地址?此外,您是否需要存储每次点击,还是只存储一段时间内的汇总点击?
-
听起来你的表基本上是两列:IP 和请求时间?如果一天是最低级别的详细信息,您可以制作这三列:IP、日期和请求计数。或者,您可以有一个历史记录表,您可以在其中每天汇总信息。
标签: mysql database-design data-structures