【发布时间】:2011-05-25 05:38:56
【问题描述】:
我需要汇总 Web 应用程序服务器的实时统计信息。 例如:
- 已完成多少内容类型 X 的请求
- 处理Y类型的请求需要多长时间
等等。
为了获得最佳性能,此数据必须完全位于内存中,而不是文件中。它不会记录每个请求,而是只存储各个方面的计数器。
我知道的最简单的方法是将值存储在类似 SQL 的表中并执行类似 SQL 的查询。好处是索引是现成的,无需开发工作。我想像Apache Derby 这样的一些嵌入式Java 数据库可以完成这项工作。
另一种方法是为每个“索引列”实现集合(比如列表)和哈希表。这样一来,一切都是用 Java/Scala 集合 API 完成的,但实际上我必须自己实现索引机制,测试它,维护它等等。
所以我的问题是您认为哪种方式更受欢迎,是否有其他方式可以轻松快速地实现此功能?
谢谢。
【问题讨论】:
-
我刚刚发现了 RRDtool。我想知道这是否是首选的方式,而不是重新发明轮子。还有称为 rrd4j (rrd4j.dev.java.net) 的 Java 实现
标签: java sql statistics embedded-database