Do you have any thoughts on sparse indexes and column preordering (like it is done in the Clickhouse, for instance)? I haven't found anything related (maybe it's already there, sorry then, I'm making my first steps in Rust :) ) in the LocustDB codebase and all the benchmark queries don't seem to imply index usage to leverage it for faster lookups. Even if sorting does not speed up most of the queries, because they imply full scan, analytical functions like LAG and LEAD require ordering and it is important to preorder data rather than order everything on each query.
My next question about inserts and it is related to the previous question. How difficult do you think is to implement the insert of new chunks of data to already present in-memory (and on-disk) columns taking into account that for each such insert you need to merge some data partitions and produce new partitions. Is it worth trying to improve LocustDB in this way and how difficult it could be? Thanks.
Do you have any thoughts on sparse indexes and column preordering (like it is done in the Clickhouse, for instance)? I haven't found anything related (maybe it's already there, sorry then, I'm making my first steps in Rust :) ) in the LocustDB codebase and all the benchmark queries don't seem to imply index usage to leverage it for faster lookups. Even if sorting does not speed up most of the queries, because they imply full scan, analytical functions like LAG and LEAD require ordering and it is important to preorder data rather than order everything on each query.
My next question about inserts and it is related to the previous question. How difficult do you think is to implement the insert of new chunks of data to already present in-memory (and on-disk) columns taking into account that for each such insert you need to merge some data partitions and produce new partitions. Is it worth trying to improve LocustDB in this way and how difficult it could be? Thanks.