csun5285 opened a new pull request, #22461:
URL: https://github.com/apache/doris/pull/22461
## Proposed changes
There were two global compaction policies available: "size_based" and
"time_series". Now, the compaction policy can be specified during table
creation.
```
CREATE TABLE IF NOT EXISTS example_db.example_tbl
(
`user_id` LARGEINT NOT NULL,
`date` DATE NOT NULL,
`city` VARCHAR(20),
`age` SMALLINT,
)
DUPLICATE KEY(`user_id`)
DISTRIBUTED BY HASH(`user_id`) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
"compaction_policy"="time_series",
"time_series_compaction_goal_size_mbyte"="1024"
);
```
I have added four properties to the table:
- `compaction_policy`: Defines the compaction policy used for the table. It
could be time-series or size-based.
- `time_series_compaction_goal_size_mbytes`: Sets the target size in
megabytes for time series compaction. When the total size of the segment files
for time series data reaches this threshold, compaction will be triggered.
- `time_series_compaction_file_count_threshold`: Specifies the file count
threshold for time series compaction. When the number of segment files for time
series data exceeds this value, compaction will be triggered.
- `time_series_compaction_time_threshold_seconds`: Sets the time threshold
in seconds for time series compaction. When the time elapsed since the last
compaction operation on time series data exceeds this threshold, the next
compaction will be performed.
If you don't specify these compaction-related properties during table
creation, the database will use default values for them.
Besides specifying these properties during table creation, you can also use
the ALTER statement to modify them later.
```
alter table table_name set
("time_series_compaction_file_count_threshold"="1000");
```
Issue Number: close #xxx
<!--Describe your changes.-->
## Further comments
If this is a relatively large or complex change, kick off the discussion at
[[email protected]](mailto:[email protected]) by explaining why you
chose the solution you did and what alternatives you considered, etc...
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]