Hello, I didn't quite get the concept of dimension...
# general
j
Hello, I didn't quite get the concept of dimension columns in Pinot. If we have datatypes well-defined for the columns, then what's the significance of specifying Pinot field specification, like metricsField, dimensionFields, etc?
m
Metrics are things you count/sum/avg/etc. Dimensions are ones you slice/dice (filter/group) by.
While that is the idea, pinot does not enforce these as strict rules. Think of these as hints to pinot to do internal optimizations (for example, metrics by end up being stored without a dictionary, may have a different default null value, etc)
n
just wanted to add here, these become more relevant when you do segment merge and rollups. Pinot will use dimensions + time to identify records to merge/rollup against
j
Another example would be for metrics aggregation, where we use dimensions and time as the key, and automatically aggregate values for the metrics
m
Yeah, I think we should document this 🙂