18 lines
768 B
Plaintext
18 lines
768 B
Plaintext
|
PoC, not optimized for performance.
|
||
|
Store data as JSON
|
||
|
Use one file per timeseries
|
||
|
Metadata is a dict of dimension/value pairs.
|
||
|
We can find each file quickly by using a hash of the metadata as the
|
||
|
filename
|
||
|
Can we find all timeseries which match only some of the dimensions
|
||
|
(e.g. response times of a particular service across all nodes)?
|
||
|
Opening each file is going to be slow pretty fast. So we need an index.
|
||
|
We don't expect new timeseries to spring into existence all that often,
|
||
|
so I guess for now we can just rewrite the whole index when a new
|
||
|
timeseries is added. Structure is pretty simple: Two levels of
|
||
|
dict (dimension, value) and then a list of matching timeseries.
|
||
|
|
||
|
Using an RDBMS doesn't seem like a good idea,
|
||
|
|
||
|
I'll design an efficient binary format later.
|