[問題] 如何在短時間內對資料庫的 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