You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by el...@apache.org on 2026/02/03 07:58:21 UTC

(doris-website) branch master updated: modify default variant_max_subcolumns_count (#3328)

This is an automated email from the ASF dual-hosted git repository.

eldenmoon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git


The following commit(s) were added to refs/heads/master by this push:
     new d15999b0b57 modify default variant_max_subcolumns_count (#3328)
d15999b0b57 is described below

commit d15999b0b574e96a619d100a7f2758292765884b
Author: lihangyu <li...@selectdb.com>
AuthorDate: Tue Feb 3 15:58:15 2026 +0800

    modify default variant_max_subcolumns_count (#3328)
    
    ## Versions
    
    - [x] dev
    - [x] 4.x
    - [x] 3.x
    - [ ] 2.1
    
    ## Languages
    
    - [x] Chinese
    - [x] English
    
    ## Docs Checklist
    
    - [x] Checked by AI
    - [ ] Test Cases Built
---
 .../sql-data-types/semi-structured/VARIANT.md            | 16 ++++++++--------
 .../sql-data-types/semi-structured/VARIANT.md            | 16 ++++++++--------
 .../sql-data-types/semi-structured/VARIANT.md            |  6 +++---
 .../sql-data-types/semi-structured/VARIANT.md            |  6 +++---
 .../sql-data-types/semi-structured/VARIANT.md            |  8 ++++----
 .../sql-data-types/semi-structured/VARIANT.md            |  8 ++++----
 6 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/docs/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md b/docs/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
index 43752c3cdad..09c0cde98f8 100644
--- a/docs/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
+++ b/docs/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
@@ -483,10 +483,10 @@ CREATE TABLE example_table (
 ```
 
 <table>
-<tr><td>Property<br/></td><td>Description<br/></td></tr>
-<tr><td>`variant_max_subcolumns_count`<br/></td><td>Max number of materialized paths. Above the threshold, new paths may be stored in a shared data structure. Default 0 (unlimited). Recommended 2048; do not exceed 10000.<br/></td></tr>
-<tr><td>`variant_enable_typed_paths_to_sparse`<br/></td><td>By default, typed paths are always materialized (and do not count against `variant_max_subcolumns_count`). When set to `true`, typed paths also count toward the threshold and may be moved to the shared structure.<br/></td></tr>
-<tr><td>`variant_sparse_hash_shard_count`<br/></td><td>Shard count for sparse columns. Distributes sparse subpaths across multiple sparse columns to improve read performance. Default 1; tune based on the number of sparse subpaths.<br/></td></tr>
+<tr><td>Property</td><td>Description</td></tr>
+<tr><td>`variant_max_subcolumns_count`</td><td>Max number of materialized paths. Above the threshold, new paths may be stored in a shared data structure. Default: 2048 (Recommended). 0 means no limit; do not exceed 10000.</td></tr>
+<tr><td>`variant_enable_typed_paths_to_sparse`</td><td>By default, typed paths are always materialized (and do not count against `variant_max_subcolumns_count`). When set to `true`, typed paths also count toward the threshold and may be moved to the shared structure.</td></tr>
+<tr><td>`variant_sparse_hash_shard_count`</td><td>Shard count for sparse columns. Distributes sparse subpaths across multiple sparse columns to improve read performance. Default: 1; tune based on the number of sparse subpaths.</td></tr>
 </table>
 
 ```sql
@@ -505,10 +505,10 @@ CREATE TABLE example_table (
 ```
 
 <table>
-<tr><td>Property<br/></td><td>Description<br/></td></tr>
-<tr><td>`variant_enable_doc_mode`<br/></td><td>Enable DOC encoding mode. When `true`, the original JSON is stored as a stored field to quickly return the whole JSON document. DOC mode is mutually exclusive with sparse columns. Default `false`.<br/></td></tr>
-<tr><td>`variant_doc_materialization_min_rows`<br/></td><td>Minimum row threshold to materialize subcolumns in DOC mode. When rows are below this value, only the original JSON is stored; after compaction merges files to reach the threshold, subcolumns are materialized. Helps reduce overhead for small-batch writes.<br/></td></tr>
-<tr><td>`variant_doc_hash_shard_count`<br/></td><td>Shard count for DOC encoding. The original JSON is split into the specified number of columns for storage and reassembled when querying the whole JSON. Default 64; tune based on JSON size and concurrency.<br/></td></tr>
+<tr><td>Property</td><td>Description</td></tr>
+<tr><td>`variant_enable_doc_mode`</td><td>Enable DOC encoding mode. When `true`, the original JSON is stored as a stored field to quickly return the whole JSON document. DOC mode is mutually exclusive with sparse columns. Default: `false`.</td></tr>
+<tr><td>`variant_doc_materialization_min_rows`</td><td>Minimum row threshold to materialize subcolumns in DOC mode. When rows are below this value, only the original JSON is stored; after compaction merges files to reach the threshold, subcolumns are materialized. Helps reduce overhead for small-batch writes.</td></tr>
+<tr><td>`variant_doc_hash_shard_count`</td><td>Shard count for DOC encoding. The original JSON is split into the specified number of columns for storage and reassembled when querying the whole JSON. Default: 64; tune based on JSON size and concurrency.</td></tr>
 </table>
 
 Behavior at limits and tuning suggestions:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
index a187bb63ae5..a513d431898 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
@@ -481,10 +481,10 @@ CREATE TABLE example_table (
 ```
 
 <table>
-<tr><td>稀疏列属性<br/></td><td>描述<br/></td></tr>
-<tr><td>`variant_max_subcolumns_count`<br/></td><td>控制 Path 物化列数的上限;超过后新增路径可能存放于共享数据结构。默认 0 表示不限,建议设置为 2048;不推荐超过 10000。<br/></td></tr>
-<tr><td>`variant_enable_typed_paths_to_sparse`<br/></td><td>默认指定了 Path 类型后,该 Path 一定会被提取(不计入 `variant_max_subcolumns_count`)。设置为 `true` 后也会计入阈值,可能被收敛到共享结构。<br/></td></tr>
-<tr><td>`variant_sparse_hash_shard_count`<br/></td><td>控制稀疏列的分片数量。将稀疏子列分散存储到多个稀疏列中,以提升查询性能。默认值为 1,建议根据稀疏子列数量适当调整。<br/></td></tr>
+<tr><td>稀疏列属性</td><td>描述</td></tr>
+<tr><td>`variant_max_subcolumns_count`</td><td>控制 Path 物化列数的上限;超过后新增路径可能存放于共享数据结构。默认 2048(推荐),0 表示不限制;不推荐超过 10000。</td></tr>
+<tr><td>`variant_enable_typed_paths_to_sparse`</td><td>默认指定了 Path 类型后,该 Path 一定会被提取(不计入 `variant_max_subcolumns_count`)。设置为 `true` 后也会计入阈值,可能被收敛到共享结构。</td></tr>
+<tr><td>`variant_sparse_hash_shard_count`</td><td>控制稀疏列的分片数量。将稀疏子列分散存储到多个稀疏列中,以提升查询性能。默认值为 1,建议根据稀疏子列数量适当调整。</td></tr>
 </table>
 
 ```sql
@@ -503,10 +503,10 @@ CREATE TABLE example_table (
 ```
 
 <table>
-<tr><td>DOC 编码属性<br/></td><td>描述<br/></td></tr>
-<tr><td>`variant_enable_doc_mode`<br/></td><td>是否启用 DOC 编码模式。设置为 `true` 时,原始 JSON 会作为存储字段保存,用于快速返回整个 JSON 文档。启用后将无法使用稀疏列机制。默认值为 `false`。<br/></td></tr>
-<tr><td>`variant_doc_materialization_min_rows`<br/></td><td>DOC 编码模式下触发子列物化的最小行数阈值。当写入行数低于该值时,仅存储原始 JSON;当文件合并后行数达到该阈值时,才将子列物化为独立子列。用于减少小批量写入时的开销。<br/></td></tr>
-<tr><td>`variant_doc_hash_shard_count`<br/></td><td>控制 DOC 编码的分片数量。原始 JSON 会被拆散存储到指定数量的列中,查询整个 JSON 时再组装这些分片。默认值为 64,可根据 JSON 大小和并发需求调整。<br/></td></tr>
+<tr><td>DOC 编码属性</td><td>描述</td></tr>
+<tr><td>`variant_enable_doc_mode`</td><td>是否启用 DOC 编码模式。设置为 `true` 时,原始 JSON 会作为存储字段保存,用于快速返回整个 JSON 文档;启用后将无法使用稀疏列机制。默认值为 `false`。</td></tr>
+<tr><td>`variant_doc_materialization_min_rows`</td><td>DOC 编码模式下触发子列物化的最小行数阈值。当写入行数低于该值时,仅存储原始 JSON;当文件合并后行数达到该阈值时,才将子列物化为独立子列,用于减少小批量写入时的开销。</td></tr>
+<tr><td>`variant_doc_hash_shard_count`</td><td>控制 DOC 编码的分片数量。原始 JSON 会被拆散存储到指定数量的列中,查询整个 JSON 时再组装这些分片。默认值为 64,可根据 JSON 大小和并发需求调整。</td></tr>
 </table>
 
 达到上限后的行为与调优建议:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
index e5bf321d552..ad6f0d03507 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
@@ -486,9 +486,9 @@ CREATE TABLE example_table (
 ```
 
 <table>
-<tr><td>属性<br/></td><td>描述<br/></td></tr>
-<tr><td>`variant_max_subcolumns_count` (仅 3.1 以上的版本支持) <br/></td><td>控制 Path 物化列数的上限;超过后新增路径可能存放于共享数据结构。默认 0 表示不限,建议设置为 2048;不推荐超过 10000。<br/></td></tr>
-<tr><td>`variant_enable_typed_paths_to_sparse` (仅 3.1 以上的版本支持) <br/></td><td>默认指定了 Path 类型后,该 Path 一定会被提取(不计入 `variant_max_subcolumns_count`)。设置为 `true` 后也会计入阈值,可能被收敛到共享结构。<br/></td></tr>
+<tr><td>属性</td><td>描述</td></tr>
+<tr><td>`variant_max_subcolumns_count` (仅 3.1 以上的版本支持)</td><td>控制 Path 物化列数的上限;超过后新增路径可能存放于共享数据结构。默认 2048(推荐),0 表示不限制;不推荐超过 10000。</td></tr>
+<tr><td>`variant_enable_typed_paths_to_sparse` (仅 3.1 以上的版本支持)</td><td>默认指定了 Path 类型后,该 Path 一定会被提取(不计入 `variant_max_subcolumns_count`)。设置为 `true` 后也会计入阈值,可能被收敛到共享结构。</td></tr>
 </table>
 
 达到上限后的行为与调优建议:
diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
index eb65b641eb9..ffbc758a4e2 100644
--- a/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
+++ b/i18n/zh-CN/docusaurus-plugin-content-docs/version-4.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
@@ -432,9 +432,9 @@ CREATE TABLE example_table (
 ```
 
 <table>
-<tr><td>属性<br/></td><td>描述<br/></td></tr>
-<tr><td>`variant_max_subcolumns_count`<br/></td><td>控制 Path 物化列数的上限;超过后新增路径可能存放于共享数据结构。默认 0 表示不限,建议设置为 2048;不推荐超过 10000。<br/></td></tr>
-<tr><td>`variant_enable_typed_paths_to_sparse`<br/></td><td>默认指定了 Path 类型后,该 Path 一定会被提取(不计入 `variant_max_subcolumns_count`)。设置为 `true` 后也会计入阈值,可能被收敛到共享结构。<br/></td></tr>
+<tr><td>属性</td><td>描述</td></tr>
+<tr><td>`variant_max_subcolumns_count`</td><td>控制 Path 物化列数的上限;超过后新增路径可能存放于共享数据结构。默认 2048(推荐),0 表示不限制;不推荐超过 10000。</td></tr>
+<tr><td>`variant_enable_typed_paths_to_sparse`</td><td>默认指定了 Path 类型后,该 Path 一定会被提取(不计入 `variant_max_subcolumns_count`)。设置为 `true` 后也会计入阈值,可能被收敛到共享结构。</td></tr>
 </table>
 
 达到上限后的行为与调优建议:
diff --git a/versioned_docs/version-3.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md b/versioned_docs/version-3.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
index 9c232a9a4d6..f9b7d5b25d6 100644
--- a/versioned_docs/version-3.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
+++ b/versioned_docs/version-3.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
@@ -2,7 +2,7 @@
 {
     "title": "VARIANT",
     "language": "en",
-    "description": "The VARIANT type stores semi-structured JSON data. It can contain different primitive types (integers, strings, booleans, etc.),"
+    "description": "The VARIANT type stores semi-structured JSON data. It can contain different primitive types (integers, strings, booleans, etc.), one-dimensional arrays, and nested objects. On write, Doris infers the structure and type of sub-paths based on JSON paths and materializes frequent paths as independent subcolumns, leveraging columnar storage and vectorized execution for both flexibility and performance."
 }
 ---
 
@@ -486,9 +486,9 @@ CREATE TABLE example_table (
 ```
 
 <table>
-<tr><td>Property<br/></td><td>Description<br/></td></tr>
-<tr><td>`variant_max_subcolumns_count`(only versions above 3.1 support this)<br/></td><td>Max number of materialized paths. Above the threshold, new paths may be stored in a shared data structure. Default 0 (unlimited). Recommended 2048; do not exceed 10000.<br/></td></tr>
-<tr><td>`variant_enable_typed_paths_to_sparse`(only versions above 3.1 support this)<br/></td><td>By default, typed paths are always materialized (and do not count against `variant_max_subcolumns_count`). When set to `true`, typed paths also count toward the threshold and may be moved to the shared structure.<br/></td></tr>
+<tr><td>Property</td><td>Description</td></tr>
+<tr><td>`variant_max_subcolumns_count` (only versions above 3.1 support this)</td><td>Max number of materialized paths. Above the threshold, new paths may be stored in a shared data structure. Default: 2048 (Recommended). 0 means no limit; do not exceed 10000.</td></tr>
+<tr><td>`variant_enable_typed_paths_to_sparse` (only versions above 3.1 support this)</td><td>By default, typed paths are always materialized (and do not count against `variant_max_subcolumns_count`). When set to `true`, typed paths also count toward the threshold and may be moved to the shared structure.</td></tr>
 </table>
 
 Behavior at limits and tuning suggestions:
diff --git a/versioned_docs/version-4.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md b/versioned_docs/version-4.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
index b5116669ea3..c6c200efd85 100644
--- a/versioned_docs/version-4.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
+++ b/versioned_docs/version-4.x/sql-manual/basic-element/sql-data-types/semi-structured/VARIANT.md
@@ -2,7 +2,7 @@
 {
     "title": "VARIANT",
     "language": "en-US",
-    "description": "The VARIANT type stores semi-structured JSON data. It can contain different primitive types (integers, strings, booleans, etc.),"
+    "description": "The VARIANT type stores semi-structured JSON data. It can contain different primitive types (integers, strings, booleans, etc.), one-dimensional arrays, and nested objects. On write, Doris infers the structure and type of sub-paths based on JSON paths and materializes frequent paths as independent subcolumns, leveraging columnar storage and vectorized execution for both flexibility and performance."
 }
 ---
 
@@ -432,9 +432,9 @@ CREATE TABLE example_table (
 ```
 
 <table>
-<tr><td>Property<br/></td><td>Description<br/></td></tr>
-<tr><td>`variant_max_subcolumns_count`<br/></td><td>Max number of materialized paths. Above the threshold, new paths may be stored in a shared data structure. Default 0 (unlimited). Recommended 2048; do not exceed 10000.<br/></td></tr>
-<tr><td>`variant_enable_typed_paths_to_sparse`<br/></td><td>By default, typed paths are always materialized (and do not count against `variant_max_subcolumns_count`). When set to `true`, typed paths also count toward the threshold and may be moved to the shared structure.<br/></td></tr>
+<tr><td>Property</td><td>Description</td></tr>
+<tr><td>`variant_max_subcolumns_count`</td><td>Max number of materialized paths. Above the threshold, new paths may be stored in a shared data structure. Default: 2048 (Recommended). 0 means no limit; do not exceed 10000.</td></tr>
+<tr><td>`variant_enable_typed_paths_to_sparse`</td><td>By default, typed paths are always materialized (and do not count against `variant_max_subcolumns_count`). When set to `true`, typed paths also count toward the threshold and may be moved to the shared structure.</td></tr>
 </table>
 
 Behavior at limits and tuning suggestions:


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