Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tracking Issue: Sparse primary key codec #5282

Open
5 tasks
WenyXu opened this issue Jan 3, 2025 · 0 comments
Open
5 tasks

Tracking Issue: Sparse primary key codec #5282

WenyXu opened this issue Jan 3, 2025 · 0 comments
Assignees
Labels
C-enhancement Category Enhancements

Comments

@WenyXu
Copy link
Member

WenyXu commented Jan 3, 2025

What type of enhancement is this?

Performance

What does the enhancement do?

In the metrics engine scenario, when the number of primary key columns on a physical table becomes excessively large, the CPU overhead for encoding all primary keys increases dramatically. This results in significant performance bottlenecks for both write and query operations.

Proposal
Introduce a sparse primary key codec that encodes only non-null primary key columns. By skipping the encoding of null or empty columns, this change aims to:

  • Reduce CPU overhead associated with primary key encoding.
  • Improve overall write and query performance.

TODO

  • sparse primary key codec implementation
    • support for read, write in memtable
    • backward compatibility
  • pluggable codec implementation
  • codec benchmark

Implementation challenges

No response

@WenyXu WenyXu added the C-enhancement Category Enhancements label Jan 3, 2025
@WenyXu WenyXu self-assigned this Jan 3, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement Category Enhancements
Projects
None yet
Development

No branches or pull requests

1 participant