I've been working over the last few days on writing documentation on how the emoncms time-series feed engines work (phpfiwa, phpfina and phptimeseries). The documentation is an early draft at this stage and I would very much welcome comments.
https://github.com/openenergymonitor/documentation/tree/master/BuildingBlocks/TimeSeries
Emoncms time series database development history
Variable interval time series
Fixed interval time series
Fixed interval with averaging time series
On a related note out of an interest in creating a version of emoncms that will run and log to SD cards without wearing them out so fast I've started to look at how the write load created by the emoncms feed engines can be reduced through in memory buffering and writing in larger blocks to disk, initial testing suggests that it could be reduced by potentially more than a 1000x on systems with 30+ feeds, maybe several 100x on systems with only a few feeds.
See forum post: http://openenergymonitor.org/emon/node/5319
https://github.com/openenergymonitor/documentation/tree/master/BuildingBlocks/TimeSeries
Emoncms time series database development history
Variable interval time series
Fixed interval time series
Fixed interval with averaging time series
On a related note out of an interest in creating a version of emoncms that will run and log to SD cards without wearing them out so fast I've started to look at how the write load created by the emoncms feed engines can be reduced through in memory buffering and writing in larger blocks to disk, initial testing suggests that it could be reduced by potentially more than a 1000x on systems with 30+ feeds, maybe several 100x on systems with only a few feeds.
See forum post: http://openenergymonitor.org/emon/node/5319