用于存储Internet使用统计数据的Django模型

用于存储Internet使用统计数据的Django模型,django,models,data-visualization,Django,Models,Data Visualization,我正在编写一个基于Django的小型前端来收集和绘制互联网使用统计数据 目前,我们从ISP获得每月文本文件,显示每5分钟间隔的平均字节/秒。例如: Date Time In Out 28.03.2010 00:00:00 204304 228922 28.03.2010 00:05:00 104231 222998 28.03.2010 00:10:00 264292 210194 28.03.2010 00:15:00 212982 213048 2

我正在编写一个基于Django的小型前端来收集和绘制互联网使用统计数据

目前,我们从ISP获得每月文本文件,显示每5分钟间隔的平均字节/秒。例如:

Date       Time        In      Out
28.03.2010 00:00:00 204304  228922
28.03.2010 00:05:00 104231  222998
28.03.2010 00:10:00 264292  210194
28.03.2010 00:15:00 212982  213048
28.03.2010 00:20:00 90543   139082
28.03.2010 00:25:00 71620   175556
28.03.2010 00:30:00 65382   207898
28.03.2010 00:35:00 68676   213925
28.03.2010 00:40:00 62974   204304
28.03.2010 00:45:00 54341   208427
28.03.2010 00:50:00 98822   155641
我们将这些数字乘以300(5x60),得到每个5分钟块的总字节输入/输出

(我真的很好奇,为什么ISP会给我们这样的平均字节/秒,而不是给我们在5分钟的时间间隔内消耗的总字节数?对任何知情的人来说,这有什么技术基础吗?)

然后,把这些数据汇总起来,得到每天或每小时的总数,并用图表表示出来,就相当简单了

我的问题很简单——在Django中,存储这些数据的有效模型是什么

输入/输出的总字节数实际上不属于单个时间点,它涵盖一个时段。将每个数据点存储为开始和结束时间,然后存储总字节输入/输出,这有多大意义?这样做感觉更干净,但仅仅存储一个日期/时间并假设它是在它之前/之后的五分钟间隔内(老实说,我甚至不确定这两个时间中的哪一个是)是否不好

或者有没有更聪明/高效的方法来存储这些数据?最终的结果是我们想要做一些事情,比如绘制每小时或每天(或任意时间段)的总数,以及绘制实际流量等

我试图找到一种有效的存储数据的方法,这也很容易查询上述统计数据

还有,我们可以在这里使用哪些特别好的可视化/统计数据

干杯,
Victor

RRDTool设计用于存储和绘制此类数据


如果您查看pypi,也可以使用两种不同的python包装器。RRDTool基本上是为存储和绘制此类数据而设计的


如果您查看pypi,也可以使用两种不同的python包装器,我会考虑使用一些非关系的东西来存储它们,例如Redis或MongoDB。两者都有很好的python客户端lib,我会考虑使用一些非关系的东西来存储它们,比如Redis或MongoDB。两者都有很好的python客户机LIB可用。