【发布时间】:2013-05-18 06:16:16
【问题描述】:
查询数据库或日志文件以获取正常运行时间信息或每个给定时间间隔的请求数是很常见的。
随着您收集的数据越来越多,SQL 查询或日志爬取变得越来越慢(想象一下 1000 万个表行/日志行)。
典型问题:
- 过去 x 个月我们处理了多少任务?
- 我们的服务在过去 X 时间段内的可用性如何?
- 过去一小时的平均请求数是否高于过去 1 天的平均值?
我想使用一些键值存储:许多具有不同自动过期的存储桶 - 所以我们可以研究例如10 分钟/1 小时/1 天存储桶并汇总所有项目,并自豪地说“在过去 10 分钟内,我们处理了 10^6 个请求”。
我确信 MongoDB 或 Redis 在存储桶中提供时间到期 - 我只是有点担心实现是否简单。
你会如何解决这个问题?你知道更好的工具来完成这项任务吗?
(我们的项目是用java和python编写的)
【问题讨论】:
-
我的第一个想法是使用一些 AOP 来捕获您想要的 KPI 数据,但是使用 python 以及我想它不会起作用。我的一些客户正在使用 Zabbix (zabbix.com) 来捕获 Mysql 和 Webserver KPI。
标签: java mongodb scalability key-value nosql