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.
|