lance-format/lance

Allow dictionary encoding to support more fixed width types

Open

#5,004 创建于 2025年10月20日

在 GitHub 查看
 (2 评论) (0 反应) (0 负责人)Rust (695 fork)github user discovery
good first issue

仓库指标

Star
 (6,582 star)
PR 合并指标
 (平均合并 6天 1小时) (30 天内合并 219 个 PR)

描述

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.

贡献者指南