1

我有很多日志文件数据,我想从中显示动态图表,基本上是任意时间段,可选地由不同的列过滤或聚合(我可以预先生成)。我想知道将数据存储在数据库中并访问它以显示图表的最佳方法,当:

  • 时间分辨率应该从一秒到一年不等
  • 有跨越几个“时间段”的条目,例如一个连接可能已经打开了几天,我想计算并显示用户连接的每一个小时,而不仅仅是在创建连接的小时“槽”中或完成

是否有用于帮助处理此类和大量数据的 Rails 的最佳实践或工具/插件?是否有专门为此量身定制的数据库引擎,或者具有有用的功能(例如 CouchDB 索引)?

编辑:我正在寻找一种可扩展的方式来处理这些数据和访问模式。我们考虑的事情:为每个存储桶运行查询,在应用程序中合并 - 可能太慢了。GROUP BY 时间戳/粒度 - 不能正确计算连接数。以最小的粒度将数据预处理成行并在查询中进行下采样——这可能是最好的方法。

4

2 回答 2

0

我认为您可以为此使用mysql时间戳。

于 2010-08-19T00:02:00.167 回答
0

我最终解决它的方法是将数据预处理到每分钟的存储桶中,因此每个事件和分钟都有一行。这使得选择并产生正确的结果变得足够容易和快速。要获得不同的粒度,您可以对时间戳列进行整数运算 - 选择 abs(timestamp/factor)*factor 并按 abs(timestamp/factor)*factor 分组。

于 2010-08-27T21:21:17.567 回答