2
我的代码从Web服务捕获数值。捕获的值通常会增加,但有时会减少。现在,我只是在做什么,我在一个特定的时间观察到一个愚蠢的捕捉...这是我的表结构是什么样子现在:分析不断增加的数据的最佳途径?
id date_collected value1_observed value2_observed
1 2012-01-26 1:00am 500 12
2 2012-01-26 1:01am 90000 NULL
3 2012-01-26 1:02am 100 50
1 2012-01-26 7:23am 502 12
2 2012-01-26 7:24am 90105 NULL
3 2012-01-26 8:09am 97 55
你可以看到...
- ID = 1个VALUE1在6小时6小时增加23分钟
- ID = 2值1增加了105 23分钟
- ID = 3 VALUE1在7小时下降8分钟
难点:
- 收集时间不一致(I收集每天多次随着时间的变化的长度集合之间)
- 该值可以增加或减少或为空
我已经捕获了数千万行这些记录,我希望能够更容易地查询它们,所以我想我需要将这些数据转换成更适合我想要的问题的模式回答。我希望能够找到如下模式:
- “在凌晨1点到上午5点之间,这些ID的值变化最大”。
- “在过去的30天里,哪些ID有价值增长最多(绝对和相对)?”
对我该如何构建架构有任何建议吗?将这些数据转换为传统的星型模式是否可能?
UPDATE回答问题:
- 我目前使用Microsoft SQL Server,但愿意接受使用MySQL或其他开源选项。
- 如果id 1从50变成100到52,我想知道它是+50,然后是-48。这样我可以看到波动和净收益/损失随着时间的推移。例如,如果我在一个网站上跟踪注册用户......通常这些数字总是在增加,但如果人们删除他们的账户,我想要确定这一趋势。但是,如果我的应用程序没有观察到从50到100的变化,并且只记录了50和52,则它不知道该数字是否达到100。
感谢任何见解/方向,
- 保罗
请指定您正在使用的数据库 – 2012-01-27 09:16:36
关于“值1中的最大变化”,如果值1在您的间隔期间从50变为100,然后返回52,那么变化为2或a 98的变化? – 2012-01-27 12:21:40
我已更新发布回答Lukas Eder和Catcall的问题。 – PaulMest 2012-01-27 21:59:20