qiaojialin commented on code in PR #399:
URL: https://github.com/apache/iotdb-docs/pull/399#discussion_r1833854722


##########
src/zh/UserGuide/Master/Reference/Common-Config-Manual.md:
##########
@@ -666,6 +666,34 @@ IoTDB ConfigNode 和 DataNode 的公共配置参数位于 `conf` 目录下。
 |默认值| 100000 |
 |改后生效方式|重启生效|
 
+#### TTL 配置
+* ttl\_check\_interval
+
+|     名字     | ttl\_check\_interval     |
+| :----------: |:-------------------------|
+|     描述     | ttl 检查任务的间隔,单位 ms,默认为 2h |
+|     类型     | int                      |
+|    默认值    | 7200000                  |
+| 改后生效方式 | 重启生效                     |
+
+* max\_expired\_time
+
+|     名字     | max\_expired\_time           |
+| :----------: |:-----------------------------|
+|     描述     | 具有TTL的设备的最大过期时间。单位 ms,默认为一个月 |

Review Comment:
   ```suggestion
   |     描述     | 如果一个文件中存在设备已经过期超过此时间,那么这个文件将被立即整理。 |
   ```



##########
src/zh/UserGuide/Master/stage/Delete-Data/TTL.md:
##########
@@ -21,28 +21,46 @@
 
 # 数据存活时间(TTL)
 
-IoTDB 支持对 database 级别设置数据存活时间(TTL),这使得 IoTDB 可以定期、自动地删除一定时间之前的数据。合理使用 TTL
+IoTDB 支持对 device 级别设置数据存活时间(TTL),这使得 IoTDB 可以定期、自动地删除一定时间之前的数据。合理使用 TTL
 可以帮助您控制 IoTDB 占用的总磁盘空间以避免出现磁盘写满等异常。并且,随着文件数量的增多,查询性能往往随之下降,
 内存占用也会有所提高。及时地删除一些较老的文件有助于使查询性能维持在一个较高的水平和减少内存资源的占用。
 
 TTL的默认单位为毫秒,如果配置文件中的时间精度修改为其他单位,设置ttl时仍然使用毫秒单位。
 
+当设置 TTL 时,系统会根据设置的路径寻找所包含的所有 device,并为这些 device 设置 TTL 时间,系统会按设备粒度对过期数据进行删除。
+当设备数据过期后,将不能被查询到,但磁盘文件中的数据不能保证立即删除(会在一定时间内删除),但可以保证最终被删除。
+考虑到操作代价,系统不会立即物理删除超过 TTL 的数据,而是通过合并来延迟地物理删除。因此,在数据被物理删除前,如果调小或者解除 TTL,可能会导致之前因 
TTL 而不可见的数据重新出现。
+系统中仅能设置至多 1000 条 TTL 规则,达到该上限时,需要先删除部分 TTL 规则才能设置新的规则
+
+## TTL Path 规则
+设置的路径 path 只支持前缀路径(即路径中间不能带 \* , 且必须以 \*\* 结尾),该路径会匹配到设备,也允许用户指定不带星的 path 为具体的 
database 或 device,当 path 不带 \* 时,会检查是否匹配到 database,若匹配到 database,则会同时设置 path 和 
path.\*\*。
+注意:设备 TTL 设置不会对元数据的存在性进行校验,即允许对一条不存在的设备设置 TTL。
+```
+合格的 path:
+root.**
+root.db.**
+root.db.group1.**
+root.db
+root.db.group1.d1
+
+不合格的 path:
+root.*.db
+root.**.db.*
+root.db.*
+```
+## TTL 适用规则
+当一个设备适用多条TTL规则时,优先适用较精确和较长的规则。例如对于设备“root.bj.hd.dist001.turbine001”来说,规则“root.bj.hd.dist001.turbine001”比“root.bj.hd.dist001.\*\*”优先,而规则“root.bj.hd.dist001.\*\*”比“root.bj.hd.\*\*”优先;
 ## 设置 TTL
-
+set ttl 操作可以理解为设置一条 TTL规则,比如 set ttl to root.sg.group1.\*\* 
就相当于对所有可以匹配到该路径模式的设备挂载 ttl。 unset ttl 操作表示对相应路径模式卸载 TTL,若不存在对应 TTL,则不做任何事。若想把 
TTL 调成无限大,则可以使用 INF 关键字
 设置 TTL 的 SQL 语句如下所示:
 ```
-IoTDB> set ttl to root.ln 3600000
-```
-这个例子表示在`root.ln`数据库中,只有3600000毫秒,即最近一个小时的数据将会保存,旧数据会被移除或不可见。
-```
-IoTDB> set ttl to root.sgcc.** 3600000
-```
-支持给某一路径下的 database 设置TTL,这个例子表示`root.sgcc`路径下的所有 database 设置TTL。
-```
-IoTDB> set ttl to root.** 3600000
+set ttl to prefixPath 360000;

Review Comment:
   ```suggestion
   set ttl to pathPattern 360000;
   ```



-- 
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]

Reply via email to