yagagagaga commented on code in PR #1750:
URL: https://github.com/apache/doris-website/pull/1750#discussion_r1914327916


##########
i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/schema-change.md:
##########
@@ -116,34 +114,24 @@ CREATE TABLE IF NOT EXISTS example_db.my_table(
     col4 int,
     col5 int
 ) DUPLICATE KEY(col1, col2, col3)
-DISTRIBUTED BY RANDOM BUCKETS 1
-ROLLUP (
-    example_rollup_index (col1, col3, col4, col5)
-)
-PROPERTIES (
-    "replication_num" = "1"
-)
+DISTRIBUTED BY RANDOM BUCKETS 10;
 ```
 
-**1. 向 `example_rollup_index` 的 col1 后添加一个 Key 列 `new_col`**
+2. 向 `example_db.my_table` 的 col1 后添加一个 Key 列 `key_col`
 
 ```sql
-ALTER TABLE example_db.my_table
-ADD COLUMN new_col INT KEY DEFAULT "0" AFTER col1
-TO example_rollup_index;
+ALTER TABLE example_db.my_table ADD COLUMN key_col INT KEY DEFAULT "0" AFTER 
col1;
 ```
 
-**2. 向 `example_rollup_index` 的 col1 后添加一个 Value 列 `new_col`**
+3. 向 `example_db.my_table` 的 col4 后添加一个 Value 列 `value_col`*

Review Comment:
   ```suggestion
   3. 向 `example_db.my_table` 的 col4 后添加一个 Value 列 `value_col`
   ```



##########
i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/Show-Statements/SHOW-ALTER.md:
##########
@@ -47,6 +41,31 @@ SHOW ALTER [CLUSTER | TABLE [COLUMN | ROLLUP] [FROM 
db_name]];
 4. 如果不指定 db_name,使用当前默认 db
 5. CLUSTER: 展示集群操作相关任务情况(仅管理员使用!待实现...)

Review Comment:
   没实现要不去掉吧



##########
i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/schema-change.md:
##########
@@ -24,89 +24,87 @@ specific language governing permissions and limitations
 under the License.
 -->
 
-用户可以通过 Schema Change 操作来修改已存在表的 Schema。表的 Schema,主要包括对列的修改和索引的改动,这里主要介绍列相关的 
Scheme 变更,关于索引相关的变更,可以查看数据表设计/表索引来查看每种索引的变更方式。
+用户可以通过[Alter 
Table](../sql-manual/sql-statements/table-and-view/table/ALTER-TABLE-COLUMN.md) 
操作来修改 Doris 表的 Schema。Schema 变更主要涉及列的修改和索引的变化。本文主要介绍列相关的 Schema 
变更,关于索引相关的变更,请参考[表索引](./index/index-overview.md) 了解不同索引的变更方法。
 
-## 名词解释
+## 原理介绍
 
-- Base Table:基表。使用建表语句创建出的原始表。
+Doris支持两种类型的 Schema Change 操作:轻量级 Schema Change和重量级 Schema 
Change。它们的区别主要体现在执行过程的复杂性、执行速度和资源消耗上。
 
-- Rollup:基于基表或者其他 Rollup 创建出来的上卷表。
+| 特性               | 轻量级 Schema Change | 重量级 Schema Change |
+|--------------------|----------------------|----------------------|
+| 执行速度           | 秒级(几乎实时)     | 分钟级、小时级、天级(依赖表的数据量,数据量越大,执行越慢) |
+| 是否需要数据重写   | 不需要               | 需要,涉及数据文件的重写 |
+| 系统性能影响       | 影响较小             | 可能影响系统性能,尤其是在数据转换过程中 |
+| 资源消耗           | 较低                 | 较高,会占用计算资源重新组织数据,过程中涉及到的表的数据占用的存储空间翻倍。 
|
+| 操作类型           | 增加、删除 Value 列,修改列名,修改 VARCHAR 长度 | 修改列的数据类型、更改主键、修改列的顺序等 |
 
-- Index:物化索引。Rollup 和 Base Table 都被称为物化索引。
+### 轻量级 Schema Change
 
-- Transaction:事务。每一个导入任务都对应一个事务,每个事务有一个唯一递增的 Transaction ID。
+轻量级 Schema Change 
是指不涉及数据重写的简单模式更改操作。这些操作通常在元数据级别进行,仅需要修改表的元数据,而不涉及数据文件的物理修改。轻量级 Schema Change 
操作通常能够在秒级别完成,不会对系统性能造成显著影响。轻量级 Schema Change 包括:
 
-## 原理介绍
+- 增加或删除 value 列
+- 更改列名
+- 修改 VARCHAR 列的长度(UNIQUE 和 DUP 表 Key 列除外)。
 
-**概览**
+### 重量级 Schema Change
 
-Schema Change 的实现分为两个大类:轻量级 Schema Change 和重量级 Schema Change。
+重量级 Schema Change 涉及到数据文件的重写或转换,这些操作相对复杂,通常需要借助 Doris 
的Backend(BE)进行数据的实际修改或重新组织。重量级 Schema Change 
操作通常涉及对表数据结构的深度变更,可能会影响到存储的物理布局。所有不支持轻量级 Schema Change 的操作,均属于重量级 Schema 
Change,比如:
 
-- 轻量级 Schema Change 完成速度很快,只会同步地修改 FE 的元数据,一般在秒级别完成。增加或删除 value 列、更改列名、增加除 DUP 
KEY 列和 UNIQUE KEY 列以外的 VARCHAR 列的长度,都会使用轻量级 Schema Change 的逻辑。
+- 更改列的数据类型
+- 修改列的排序顺序
 
-- 重量级 Schema Change 需要依赖 BE 进行数据文件的转换。具体实现方式如下:
+重量级操作会在后台启动一个任务进行数据转换。后台任务会对表的每个tablet进行转换,按tablet为单位,将原始数据重写到新的数据文件中。数据转换过程中,可能会出现数据"双写"现象,即在转换期间,新数据同时写入新
 tablet 旧 tablet 中。完成数据转换后,旧 tablet 会被删除,新 tablet 将取而代之。
 
-    |Schema change 实现 | 主要逻辑 | 使用场景 |
-    |-----------------|---------|----------|
-    | Direct Schema Change | 对数据文件进行整体重写,但是不会涉及重排序 | 更改 value 列的数据类型 |
-    | Sort Schema Change | 对数据文件进行整体重写,并进行重排序 | 更改 key 列的数据类型 |
-    | Hard Linked Schema Change | 对数据文件进行重新链接,不需要直接修改数据文件 | 在列的变更中被轻量级 Schema 
Change 取代 |
+## 作业管理
+### 查看作业
 
-**主要流程**
+用户可以通过 [`SHOW ALTER TABLE 
COLUMN`](../sql-manual/sql-statements/table-and-view/table/SHOW-ALTER-TABLE.md) 
命令查看 Schema Change 作业进度。可以查看当前正在执行或已经完成的 Schema Change 作业。当一次 Schema Change 
作业涉及到多个 Index 时,该命令会显示多行,每行对应一个 Index。举例如下:

Review Comment:
   > 当一次 Schema Change 作业涉及到多个 Index 时,该命令会显示多行,每行对应一个 Index。
   
   这里用 index 别人容易和索引联想到一起,不如直接用同步物化视图和Rollup



##########
i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/schema-change.md:
##########
@@ -153,91 +141,78 @@ CREATE TABLE IF NOT EXISTS example_db.my_table(
     col4 int SUM,
     col5 varchar(32) REPLACE DEFAULT "abc"
 ) AGGREGATE KEY(col1, col2, col3)
-DISTRIBUTED BY HASH(col1) BUCKETS 1
-ROLLUP (
-    example_rollup_index (col1, col3, col4, col5)
-)
-PROPERTIES (
-    "replication_num" = "1"
-)
+DISTRIBUTED BY HASH(col1) BUCKETS 10;
 ```
 
-**3. 向 `example_rollup_index` 的 col1 后添加一个 Key 列 `new_col`**
+2. 向 `example_db.my_table` 的 col1 后添加一个 Key 列 `key_col`*

Review Comment:
   ```suggestion
   2. 向 `example_db.my_table` 的 col1 后添加一个 Key 列 `key_col`
   ```



##########
i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/Show-Statements/SHOW-ALTER.md:
##########
@@ -47,6 +41,31 @@ SHOW ALTER [CLUSTER | TABLE [COLUMN | ROLLUP] [FROM 
db_name]];
 4. 如果不指定 db_name,使用当前默认 db
 5. CLUSTER: 展示集群操作相关任务情况(仅管理员使用!待实现...)
 
+## Result
+
+*SHOW ALTER TABLE COLUMN*
+
+| 字段名            | 描述                                                         |
+|-----------------------|------------------------------------------------------------------|
+| JobId                 | 每个 Schema Change 作业的唯一 ID。                          |
+| TableName             | 对应 Schema Change 的基表的表名。 |
+| CreateTime            | 作业创建时间。                                              
|
+| FinishedTime          | 作业完成时间。如果未完成,显示 "N/A"。      |
+| IndexName             | 此修改中涉及的一个索引的名称。        |
+| IndexId               | 新索引的唯一 ID。                                      |

Review Comment:
   ```suggestion
   | IndexName             | 此修改中涉及的一个基表/同步物化视图/Rollup的名称。        |
   | IndexId               | 新基表/同步物化视图/Rollup的唯一 ID。                           
           |
   ```



-- 
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: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to