lance-format/lance

Allow dictionary encoding to support more fixed width types

Open

#5004 aperta il 20 ott 2025

Vedi su GitHub
 (2 commenti) (0 reazioni) (0 assegnatari)Rust (695 fork)github user discovery
good first issue

Metriche repository

Star
 (6582 star)
Metriche merge PR
 (Merge medio 6g 1h) (219 PR mergiate in 30 g)

Descrizione

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.

Guida contributor