Reduce cardinality by split tags to buckets


I’m planning a system that will use influxdb, I think I understand the concepts of tags/measurements/fields/buckets.

I have a tag that its value can be one of a few option(for example “Continents”), is it more efficient(memory/speed) to split it to different buckets ?

  • In a query I will always request information about specific continent.
  • the schema is the same and the RP is the same.


Hello @bentt6,
buckets, measurements, and tags are all indexed. Yes storing the information from a specific continent together could be more efficient from a query perspective. However, I would consider storing the information in separate measurements instead of separate buckets. There isn’t an performance advantage for storing in different measurements vs buckets.
Why are you considering storing the data in different buckets instead of measurements?

I would say that if you need to manage the authorization of the data from different continents differently, then I would then i would split the data into different buckets (with different tokens scoped to each bucket).
Otherwise I would put all my data in one bucket under different measurements.