暮らしの技術

暮らしを豊かにする技術や、特に暮らしを豊かにしない技術があります

influxdb へ時系列データを突っ込んで chronograf で可視化する

時系列データをうまいこと取り回す方法をいろいろと検討していて,今日はinfluxdbとchronografを試してた.これは2010年の為替の様子です.

f:id:side_tana:20160925030341p:plain

dbの中身はこんなクエリでこんな結果が返ってくる状況

> select MEAN("OpenBid") from candle where '2016-09-23T00:00:00+09:00' < time AND time < '2016-09-24T00:00:00+09:00' GROUP BY "instrument", time(1d)
name: candle
tags: instrument=CAD_JPY
time			mean
----			----
2016-09-22T00:00:00Z
2016-09-23T00:00:00Z	77.28651111988425

name: candle
tags: instrument=EUR_JPY
time			mean
----			----
2016-09-22T00:00:00Z
2016-09-23T00:00:00Z	113.13053859380965

name: candle
tags: instrument=USD_JPY
time			mean
----			----
2016-09-22T00:00:00Z
2016-09-23T00:00:00Z	100.96978221722053

なんか秒間2000〜4000データポイントぐらいのペースで打ち込んでいたのだけれど(過去のデータなので,最短5秒間隔で保存されたものを6時間分ぐらいまとめてbulkインサートしてる),4GB/2コアのVMを2013年のMacBookPro(物理2コア) で動かしてると結構な勢いでoom-killerが走って,基本的にはSystemdによって復活するのだけれど,その間のデータを取り逃がしたりしがちなので大変.

今回はメトリクスの収集ツールというよりは時系列データの学習と検証につかうデータセットを作るために使いたいと思っていて,aggregationが強力なので便利そう〜っとおもってガッとやってみたけれど,本当にこんなことでいいのか,という気持ちになってきた.

というか,そういう目的なので RQ とか CQ 使っていい感じにデータを減らしとくとかもやらないし,もったいないな〜って気持ちになってきています.