[问题] 如何在短时间内对数据库的 data 做 sampl

楼主: poc7667 (poc)   2014-12-08 11:52:38
原始资料
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 ?
作者: guanting886 (Guanting)   2014-12-08 23:47:00
丢到背景运算然后算完再放到sql table
楼主: poc7667 (poc)   2014-12-10 00:16:00
楼上的意思是说,先算过一次,存到db吗?只是raw data就约400万笔,这样子空间会消耗有点大。原本觉得sql能算就把它计算掉
作者: alog (A肉哥)   2014-12-10 00:17:00
data -> nosql, info -> sql现在很多即时运算的东西会丢sql以外的东西我觉得是先算完再考虑放到sql table跟上面一样做法比较ok
作者: uranusjr (←這人是超級笨蛋)   2014-12-10 10:56:00
这在 ActiveRecords 应该是办不到, 纯 SQL 要看 backend但效能不会太好(以前做过类似的, 相信我真的不值得)
楼主: poc7667 (poc)   2014-12-12 00:10:00
alog大,这样子的应用 noSQL优势会在哪边呢?

Links booklink

Contact Us: admin [ a t ] ucptt.com