Open dario-liberman opened 4 months ago
@Jackie-Jiang - Maybe you would know the answer?
Read ahead size might also play a role in this https://github.com/apache/pinot/issues/12166
Unused columns shouldn't be loaded into memory. Again, MMAP is controlled by OS, not Pinot or Java
I was concerned about indiscriminate prefetching of all column indexes at the time a segment is loaded for example.
This is happening only during server start to try to load data into memory to reduce cold start impact. When a column is unused, it will be flushed out of memory very soon and not loaded back
In order design the tables so to optimise MMAP loaded segments to fit in memory we would like to understand if unused (or rarely used columns) would be impacting memory usage.
Basically we want to serve two use cases:
Data is partitioned by user uuid.
The second use-case is rarely used, 99.99% load is for first use case.
We would like to understand if Pinot would map to memory columns that are not used in the aggregation queries when loading a segment.
An alternative could be to have two tables, one with just dimensional columns, one with all columns, use each table respectively for each use case.