[doc](fix) update cold hot separation chinese doc (#20542)
This commit is contained in:
@ -290,9 +290,9 @@ curl http://be_host:webserver_port/metrics?type=json
|
||||
|`doris_be_stream_load_txn_request `| {type="commit"}| Num| stream load 执行成功的事务数的累计值| 同上|
|
||||
|`doris_be_stream_load_txn_request `| {type="rollback"}| | stream load 执行失败的事务数的累计值 |同上 |
|
||||
|`doris_be_unused_rowsets_count`| | Num | 当前已废弃的rowset的个数| 这些rowset正常情况下会被定期删除 |
|
||||
|`doris_be_upload_fail_count`| | Num | 冷热分离功能,上传到远端存储失败的rowset的次数累计值| |
|
||||
|`doris_be_upload_rowset_count`| | Num | 冷热分离功能,上传到远端存储成功的rowset的次数累计值| |
|
||||
|`doris_be_upload_total_byte`| | | 字节 | 冷热分离功能,上传到远端存储成功的rowset数据量累计值| |
|
||||
|`doris_be_upload_fail_count`| | Num | 冷热分层功能,上传到远端存储失败的rowset的次数累计值| |
|
||||
|`doris_be_upload_rowset_count`| | Num | 冷热分层功能,上传到远端存储成功的rowset的次数累计值| |
|
||||
|`doris_be_upload_total_byte`| | | 字节 | 冷热分层功能,上传到远端存储成功的rowset数据量累计值| |
|
||||
|`doris_be_load_bytes`| | 字节|通过 tablet sink 发送的数量累计 | 可观测导入数据量 | P0 |
|
||||
|`doris_be_load_rows`| | Num | 通过 tablet sink 发送的行数累计| 可观测导入数据量 | P0 |
|
||||
|`fragment_thread_pool_queue_size`| | Num | 当前查询执行线程池等待队列的长度 | 如果大于零,则说明查询线程已耗尽,查询会出现堆积 | P0 |
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
---
|
||||
{
|
||||
"title": "冷热分离",
|
||||
"title": "冷热分层",
|
||||
"language": "zh-CN"
|
||||
}
|
||||
---
|
||||
@ -24,7 +24,7 @@ specific language governing permissions and limitations
|
||||
under the License.
|
||||
-->
|
||||
|
||||
# 冷热分离
|
||||
# 冷热分层
|
||||
|
||||
## 需求场景
|
||||
|
||||
@ -37,19 +37,19 @@ under the License.
|
||||
## 解决方案
|
||||
在Partition级别上设置freeze time,表示多久这个Partition会被freeze,并且定义freeze之后存储的remote storage的位置。在be上daemon线程会周期性的判断表是否需要freeze,若freeze后会将数据上传到s3上。
|
||||
|
||||
冷热分离支持所有doris功能,只是把部分数据放到对象存储上,以节省成本,不牺牲功能。因此有如下特点:
|
||||
冷热分层支持所有doris功能,只是把部分数据放到对象存储上,以节省成本,不牺牲功能。因此有如下特点:
|
||||
|
||||
- 冷数据放到对象存储上,用户无需担心数据一致性和数据安全性问题
|
||||
- 灵活的freeze策略,冷却远程存储property可以应用到表和partition级别
|
||||
- 用户查询数据,无需关注数据分布位置,若数据不在本地,会拉取对象上的数据,并cache到be本地
|
||||
- 副本clone优化,若存储数据在对象上,则副本clone的时候不用去拉取存储数据到本地
|
||||
- 远程对象空间回收recycler,若表、分区被删除,或者冷热分离过程中异常情况产生的空间浪费,则会有recycler线程周期性的回收,节约存储资源
|
||||
- cache优化,将访问过的冷数据cache到be本地,达到非冷热分离的查询性能
|
||||
- 远程对象空间回收recycler,若表、分区被删除,或者冷热分层过程中异常情况产生的空间浪费,则会有recycler线程周期性的回收,节约存储资源
|
||||
- cache优化,将访问过的冷数据cache到be本地,达到非冷热分层的查询性能
|
||||
- be线程池优化,区分数据来源是本地还是对象存储,防止读取对象延时影响查询性能
|
||||
|
||||
## Storage policy的使用
|
||||
|
||||
存储策略是使用冷热分离功能的入口,用户只需要在建表或使用doris过程中,给表或分区关联上storage policy,即可以使用冷热分离的功能。
|
||||
存储策略是使用冷热分层功能的入口,用户只需要在建表或使用doris过程中,给表或分区关联上storage policy,即可以使用冷热分层的功能。
|
||||
|
||||
<version since="dev"></version> 创建S3 RESOURCE的时候,会进行S3远端的链接校验,以保证RESOURCE创建的正确。
|
||||
|
||||
|
||||
@ -50,7 +50,7 @@ ALTER RESOURCE 'spark0' PROPERTIES ("working_dir" = "hdfs://127.0.0.1:10000/tmp/
|
||||
```sql
|
||||
ALTER RESOURCE 'remote_s3' PROPERTIES ("s3.connection.maximum" = "100");
|
||||
```
|
||||
3. 修改冷热分离S3资源相关信息
|
||||
3. 修改冷热分层S3资源相关信息
|
||||
- 支持修改项
|
||||
- `s3.access_key` s3的ak信息
|
||||
- `s3.secret_key` s3的sk信息
|
||||
|
||||
@ -32,7 +32,7 @@ ALTER STORAGE POLICY
|
||||
|
||||
### Description
|
||||
|
||||
该语句用于修改一个已有的冷热分离迁移策略。仅 root 或 admin 用户可以修改资源。
|
||||
该语句用于修改一个已有的冷热分层迁移策略。仅 root 或 admin 用户可以修改资源。
|
||||
语法:
|
||||
```sql
|
||||
ALTER STORAGE POLICY 'policy_name'
|
||||
@ -41,11 +41,11 @@ PROPERTIES ("key"="value", ...);
|
||||
|
||||
### Example
|
||||
|
||||
1. 修改名为 cooldown_datetime冷热分离数据迁移时间点:
|
||||
1. 修改名为 cooldown_datetime冷热分层数据迁移时间点:
|
||||
```sql
|
||||
ALTER STORAGE POLICY has_test_policy_to_alter PROPERTIES("cooldown_datetime" = "2023-06-08 00:00:00");
|
||||
```
|
||||
2. 修改名为 cooldown_ttl的冷热分离数据迁移倒计时
|
||||
2. 修改名为 cooldown_ttl的冷热分层数据迁移倒计时
|
||||
```sql
|
||||
ALTER STORAGE POLICY has_test_policy_to_alter PROPERTIES ("cooldown_ttl" = "10000");
|
||||
ALTER STORAGE POLICY has_test_policy_to_alter PROPERTIES ("cooldown_ttl" = "1h");
|
||||
|
||||
@ -269,13 +269,13 @@ ALTER TABLE example_db.my_table MODIFY COLUMN k1 COMMENT "k1", MODIFY COLUMN k2
|
||||
ALTER TABLE example_db.mysql_table MODIFY ENGINE TO odbc PROPERTIES("driver" = "MySQL");
|
||||
```
|
||||
|
||||
12. 给表添加冷热分离数据迁移策略
|
||||
12. 给表添加冷热分层数据迁移策略
|
||||
```sql
|
||||
ALTER TABLE create_table_not_have_policy set ("storage_policy" = "created_create_table_alter_policy");
|
||||
```
|
||||
注:表没有关联过storage policy,才能被添加成功,一个表只能添加一个storage policy
|
||||
|
||||
13. 给表的partition添加冷热分离数据迁移策略
|
||||
13. 给表的partition添加冷热分层数据迁移策略
|
||||
```sql
|
||||
ALTER TABLE create_table_partition MODIFY PARTITION (*) SET("storage_policy"="created_create_table_partition_alter_policy");
|
||||
```
|
||||
|
||||
@ -97,7 +97,7 @@ PROPERTIES ("key"="value", ...);
|
||||
```
|
||||
2. 创建数据迁移策略
|
||||
1. 说明
|
||||
- 冷热分离创建策略,必须先创建resource,然后创建迁移策略时候关联创建的resource名
|
||||
- 冷热分层创建策略,必须先创建resource,然后创建迁移策略时候关联创建的resource名
|
||||
- 当前不支持删除drop数据迁移策略,防止数据被迁移后。策略被删除了,系统无法找回数据
|
||||
|
||||
2. 指定数据冷却时间创建数据迁移策略
|
||||
|
||||
@ -129,7 +129,7 @@ Spark 用于 ETL 时需要指定 working_dir 和 broker。说明如下:
|
||||
);
|
||||
```
|
||||
|
||||
如果 s3 reource 在[冷热分离](../../../../../docs/advanced/cold_hot_separation.md)中使用,需要添加额外的字段。
|
||||
如果 s3 reource 在[冷热分层](../../../../../docs/advanced/cold_hot_separation.md)中使用,需要添加额外的字段。
|
||||
```sql
|
||||
CREATE RESOURCE "remote_s3"
|
||||
PROPERTIES
|
||||
|
||||
@ -632,7 +632,7 @@ distribution_desc
|
||||
);
|
||||
```
|
||||
|
||||
11. 通过`storage_policy`属性设置表的冷热分离数据迁移策略
|
||||
11. 通过`storage_policy`属性设置表的冷热分层数据迁移策略
|
||||
```
|
||||
CREATE TABLE IF NOT EXISTS create_table_use_created_policy
|
||||
(
|
||||
@ -649,7 +649,7 @@ distribution_desc
|
||||
```
|
||||
注:需要先创建s3 resource 和 storage policy,表才能关联迁移策略成功
|
||||
|
||||
12. 为表的分区添加冷热分离数据迁移策略
|
||||
12. 为表的分区添加冷热分层数据迁移策略
|
||||
```
|
||||
CREATE TABLE create_table_partion_use_created_policy
|
||||
(
|
||||
|
||||
Reference in New Issue
Block a user