作者poc7667 (poc)
看板Ruby
标题[问题] 如何在短时间内对资料库的 data 做 sampl
时间Mon Dec 8 11:52:38 2014
原始资料
Timestamp High Low Volume
10:24.22345 100 99 10
10:24.23345 110 97 20
10:24.33455 97 89 40
10:25.33455 60 40 50
我可以对原始资料指定一段时间做 sampling 的动作
假设以一秒为单位
Timestamp High Low Volume Count
10:24 110 89 70 3
10:25 60 20 110 2
我开发的框架是 Ruby on Rails 资料库是 PostgreSQL
我想请教这类型的较佳作法为何呢? 可以让我缩短 query 的时间
这些动作我想可以轻易的在 Rails 上面的 model 或者 concern 做掉,
但是是否会造成效能严重低落?
因为我的想法是如果能在 database 处理应该就要放在 db 处理才是
这部份是否有相关的文章,或者方向可以指点呢?谢谢
我在 stackoverflow 上面的原文问题
How to do sampling on data on a query in a short time
Suppose my raw data is that
Timestamp High Low Volume
10:24.22345 100 99 10
10:24.23345 110 97 20
10:24.33455 97 89 40
10:25.33455 60 40 50
10:25.93455 40 20 60
If I sampling for 1 second,
The output data should be
Timestamp High Low Volume Count
10:24 110 89 70 3
10:25 60 20 110 2
The sampling unit from varing from `1 second, 5 sec, 1 minute, 1 hour, 1 day, ...`
How to query the sampled data in quick time in the postgreSQL database with Rails ?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.149.126
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Ruby/M.1418010761.A.F7E.html
1F:→ guanting886: 丢到背景运算 12/08 23:47
2F:→ guanting886: 然後算完再放到sql table 12/08 23:47
3F:→ poc7667: 楼上的意思是说,先算过一次,存到db吗?只是raw data 12/10 00:16
4F:→ poc7667: 就约400万笔,这样子空间会消耗有点大。原本觉得sql能算 12/10 00:17
5F:→ poc7667: 就把它计算掉 12/10 00:17
6F:→ alog: data -> nosql, info -> sql 12/10 00:17
7F:→ alog: 现在很多即时运算的东西会丢sql以外的东西 12/10 00:18
8F:→ alog: 我觉得是先算完再考虑放到sql table 12/10 00:18
9F:→ alog: 跟上面一样做法比较ok 12/10 00:18
10F:→ uranusjr: 这在 ActiveRecords 应该是办不到, 纯 SQL 要看 backend 12/10 10:56
11F:→ uranusjr: 但效能不会太好(以前做过类似的, 相信我真的不值得) 12/10 10:56
12F:→ poc7667: alog大,这样子的应用 noSQL优势会在哪边呢? 12/12 00:10