We store "dimensions" as table columns with no artificial limits on column count. If you able to send all dimensions in the same message, they will be stored on one row of data. If dimensions are sent as separate messages, current implementation will store them on different rows. This will make columns sparse. We can change that if need be and "update" the same row as dimensions arrive as long as they have the same timestamp value.
There is an option to store set of dimensions separately as asof/splice join separate tables.
There is an option to store set of dimensions separately as asof/splice join separate tables.