cockroachdb / cockroachdb/pebble

colblk: uint column families

Open
#4,426 0 comments 0 reactions 0 assignees View on GitHub
A-storage C-performance T-storage
Dominant language
Go
Stars
6k
Forks
584
Avg merge
16h 35m
Merged PRs (30d)
5

Description

There are a few instances where we have multiple uints that are always accessed together. Block handles, consisting of an offset and a length, are one example. If we stored blob value handles' components as colblk columns, they would be another example.

We could introduce a new column type that performs the Uints-type's width reduction and deltas, but stores each row's deltas together contiguously. This would allow us to combine those memory accesses scattered across the block into a single memory access, while preserving the fixed-width encoding and delta encoding.

Jira issue: PEBBLE-365

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names the colblk Uints type, block handles, and blob value handles, but no files or tests. Start by locating those existing column and handle implementations, then compare their encoding and access patterns. Done means a reviewed design and implementation for row-contiguous delta storage with preserved width reduction and fixed-width encoding.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
databases, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.