lance-format / lance-format/lance

Less RAM-intensive approach for 2.1+ blob reading

Open
#4,806 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Rust
Stars
7.1k
Forks
852
Avg merge
3d 18h
Merged PRs (30d)
272

Description

Currently the 2.1 blob scheduler loads all descriptions into RAM at initialize time. We could instead offer a 2-iops path where the descriptions are loaded on a per-page basis during schedule_ranges. This would introduce some indirect I/O but we can tackle that by spawning a task similar to how we handle full-zip variable data with repetition index.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the 2.1 blob scheduler's initialization and schedule_ranges paths, then compare them with the full-zip variable-data handling and repetition-index task mentioned in the issue. Done should provide a per-page description-loading path with bounded memory while accounting for the resulting indirect I/O.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
data-engineering, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.