Repository navigation
[Opt](storage) Add pre decoder for BinaryPlainPageV2 and BinaryDictPage - #57327
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
2 similar comments
|
run buildall |
|
run buildall |
ClickBench: Total hot run time: 27.38 s |
BinaryPlainPageV2PreDecoder159bbac to
acf4d00
Compare
0c7b0e6 to
699dbb5
Compare
|
run buildall |
ClickBench: Total hot run time: 28.04 s |
9dd92c6 to
e881118
Compare
|
run buildall |
ClickBench: Total hot run time: 27.35 s |
e881118 to
72d5a71
Compare
|
run buildall |
ClickBench: Total hot run time: 27.77 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
|
run buildall |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
8cd8e08 to
f292d0c
Compare
|
run buildall |
ClickBench: Total hot run time: 29.53 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
…57220 #57327 #59075 (#57441) ### What problem does this PR solve? pick: - #56815 - #56846 - #57220 - #57327 - #59075 Clickbench result on alicloud c6.4xlarge machine, Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz ||(baseline) LZ4F, 64KB data page size, 48 bucket, binary_plain_encoding_default_impl=v1, integer_type_default_use_plain_encoding =false| zstd(3), 1MB data page size, 48 bucket, binary_plain_encoding_default_impl=v1, integer_type_default_use_plain_encoding =false | zstd(3), 1MB data page size, 48 bucket, binary_plain_encoding_default_impl=v2, integer_type_default_use_plain_encoding =true | |---|---|---|---| |data size|16.087 GB| 11.016 GB | 8.56 GB | |load time|592s| 555s | 539s | |cold run total| 214.22 s | 177.57 s | 131.4 s | |hot run total| 36.03 s | 39.82 s | 39.05 s | ### Release note None ### Check List (For Author) - Test <!-- At least one of them must be included. --> - [ ] Regression test - [ ] Unit Test - [ ] Manual test (add detailed scripts or steps below) - [ ] No need to test or manual test. Explain why: - [ ] This is a refactor/code format and no logic has been changed. - [ ] Previous test can cover this change. - [ ] No code files have been changed. - [ ] Other reason <!-- Add your reason? --> - Behavior changed: - [ ] No. - [ ] Yes. <!-- Explain the behavior change --> - Does this need documentation? - [ ] No. - [ ] Yes. <!-- Add document PR link here. eg: apache/doris-website#1214 --> ### Check List (For Reviewer who merge this PR) - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label <!-- Add branch pick label that this PR should merge into -->
What problem does this PR solve?
Summary
This PR implements pre-decoders for BinaryPlainPageV2 and BinaryDictPage formats to enable O(1) random access seeking by converting page data at read time. The main improvements include:
Technical Details
Pre-Decoder Design
BinaryPlainPageV2PreDecoder (be/src/olap/rowset/segment_v2/binary_plain_page_v2_pre_decoder.h:41)
BinaryDictPagePreDecoder (be/src/olap/rowset/segment_v2/binary_dict_page_pre_decoder.h)
Configuration Changes
Files Changed
Test Plan
Impact
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)