Open Hipska opened 1 week ago
I think nobody wanted to have all possible tags for all the time; that's why the index
table feature zero-timestamp
is not supported in the graphite_tagged
.
The Version
column should be used in ENGINE = ReplacingMergeTree(Version)
as the latest version in the partition for (Tag1, Path, Date)
combination.
Right, thanks for pointing out. So what if one would use ReplacingMergeTree(Date)
instead?
The most straightforward shot I suggest is using CODEC(DoubleDelta, ZSTD)
as Version
's codec. You will be surprised by how much better it is. Another thing that could be tested is the addition of TTL. If you'll succeed with it, updating the documentation would be a significant improvement!
ReplacingMergeTree(Date)
will be unstable. I don't know how CH decides which row to keep on the same values.
The implementation details of the tagged
table are tricky for me. So, getting rid of the Version
should be in sync with graphite-clickhouse and carbon-clickhouse.
ReplacingMergeTree(Date)
will be unstable. I don't know how CH decides which row to keep on the same values.
Does it matter, since they're the same values?
The implementation details of the
tagged
table are tricky for me. So, getting rid of theVersion
should be in sync with graphite-clickhouse and carbon-clickhouse.
It's not getting rid of it, just setting the value always to 0
(given that you adjust the table engine as well). I only see one use of that column in graphite-clickhouse, and that seems to be for its own tags implementation, not regular graphite tags..
In graphite-clickhouse it's post-aggregation for the ReplacingMergeTree
, exactly the same purpose.
By adding the TTL and CODEC to default.tagging_graphite
you'll have the same as Version=0
without changing the code.
Is there any reason the config option for
upload
zero-timestamp
is not honoured fortype = "tagged"
? IMHO, the storage could be optimised if it would just store value0
, I don't think I use theVersion
column in my setup?