cockroachdb / cockroachdb/pebble
db: dictionary compression
- Dominant language
- Go
- Stars
- 6k
- Forks
- 584
- Avg merge
- 16h 35m
- Merged PRs (30d)
- 5
Description
Today Pebble's sstable compression is entirely per-block. If there's significant repetition across blocks within a sstable, the repetition is persisted. We could consider building dictionaries that are used across all the blocks of an sstable in the hopes of achieving better compression ratios. See RocksDB's feature:
See https://github.com/facebook/rocksdb/wiki/Dictionary-Compression
Jira issue: PEBBLE-106
Epic CRDB-49140
Contributor guide
No contributing guide indexed for this repository
Research direction
No Pebble file or test is named. Start by reading the linked RocksDB Dictionary Compression design, then locate Pebble's per-block SSTable compression path and determine how an SSTable-wide dictionary would be selected and shared. Done should include a concrete design and evidence that cross-block repetition improves compression ratios.
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
- 25/100