[Feature] Paimon dynamic bucket supports adding buckets based on storage size.
- Dominant language
- Java
- Stars
- 3.4k
- Forks
- 1.4k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 396
Description
### Search before asking
- [X] I searched in the [issues](https://github.com/apache/incubator-paimon/issues) and found nothing similar.
### Motivation
The existing dynamic bucket solution is based on the data volume within each bucket to determine whether to add a new one. Due to the need to cache primary keys, when the table's data volume is large, more memory is required to support the dynamic bucket feature. It is hoped that the addition of buckets can be determined based on the storage size of the buckets, reducing the additional memory overhead.
### Solution
By detecting whether the written bucket capacity reaches a threshold before adding new ones, it's also necessary to consider the scenario where the bucket capacity might decrease after bucket compaction.
### Anything else?
_No response_
### Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
Contributor guide
No contributing guide indexed for this repository
Research direction
Locate the dynamic-bucket implementation and its bucket-compaction path; first trace how bucket data volume currently triggers additions and where storage size is available. Done means bucket additions can use a storage-size threshold while correctly handling capacity decreases after compaction, with coverage for both behaviors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100