2012-02-06 47 views
1

我已经建成并应用其进行随机的东西,我想收集,我想,以显示图形的各种统计数据。我的问题是我不知道如何将数据存储在数据库中,除了将每个日志写入新行看起来非常低效。如何存储日志数据?

示例数据(5分钟的平均值):操作的

  • 用户数
  • 在线用户数

什么是存储这些信息的最佳方式?我是否需要一个单独的桌子来记录我正在记录的事物,或者他们是否都可以进入一张桌子?

回答

2

通常你不需要全分辨率的数据保存所有的时间,你可以重新处理定期成较低分辨率的数据,以节省空间。例如,您可以存储完整分辨率的一天(平均5分钟),但定期将这些数据重新平均到1小时箱/ 1天箱/ 1个月箱等,同时还会剔除数据。

这可以让你有你需要显示在不同的时间段(每小时,每天,每周,每月等)活动的漂亮图表,同时限制你的应用程序只需要怎样的行数的数据。

也有存储优良的应用和显示的时间序列数据。想起了MRTGRRDTool。请参见本教程为好深思: rrdtutorial

+0

感谢您的信息。这些链接并没有很好的解释他们做什么,只是使用mysql并索引相关的列。 – redslazer 2012-02-06 08:51:42

+0

是索引必要的列,不要担心链接,除非你想要一个单独的工具内置数据存储和图形。听起来像你想自己实现它,所以玩得开心,祝你好运! – 2012-02-06 09:03:19

+0

我应该有一个单独的表中的每个变量或我可以扔掉它们都在1个表和具有索引类型列? – redslazer 2012-02-06 09:07:18