lance-format/lance

Allow dictionary encoding to support more fixed width types

Open

#5.004 geöffnet am 20. Okt. 2025

Auf GitHub ansehen
 (2 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Rust (695 Forks)github user discovery
good first issue

Repository-Metriken

Stars
 (6.582 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 6T 1h) (219 gemergte PRs in 30 T)

Beschreibung

Currently the dictionary encoding in 2.1 only applies to some 128-bit fixed-width types. I think this was a combination of a few things:

  • At the time, we were not bit-packing indices, and so applying dictionary encoding to smaller types was unlikely to be beneficial
  • Estimating cardinality on all columns was expensive
  • TPC-H data has a lot of 128-bit decimals that benefit from dictionary encoding so there was an outsized (and unrealistic) benchmarking gain to focusing on 128-bit types.

However, we should at least be considering dictionary encoding for 64-bit types and maybe even 32-bit types.

Contributor Guide