Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[dbsp] Inline up to two values in FileIndexedZSet.
Indexed Z-sets are commonly used for updating indexes on primary keys.
For this purpose, each key usually has one value (for insertions and
deletions) or two values (for updates).  Writing this small number of
values to a second column maintained separately in the layer file causes
I/O to additional data blocks.

This commit introduces a new way to store these indexed Z-sets.  With
this commit, when a key has just one or two values, those values are
written inline with the key, which reduces the number of data blocks
that need to be fetched to read a key along with its values.  This
should improve performance.

This commit does drop two performance-oriented features from
FileIndexedZSet: push_cursor() and fetch().  I don't think that either
of these have really been used without explicit enabling via DevTweaks.
If they prove important, then we can figure out how to re-implement
them with the new format.

Signed-off-by: Ben Pfaff <blp@feldera.com>
  • Loading branch information
blp committed Dec 24, 2025
commit 2260ad4d89b2284f0dad7402c556e7b0da2285b4
Loading