This is an automated email from the ASF dual-hosted git repository. dataroaring pushed a commit to branch before_poc in repository https://gitbox.apache.org/repos/asf/doris-website.git
commit 53c8aea53cb5968442aef2207a248c1f7a8dcb97 Author: Yongqiang YANG <[email protected]> AuthorDate: Mon Mar 16 04:45:03 2026 -0700 [docs] Improve before-you-start-the-poc structure and query pitfalls - Nest Example Templates under Table Design section - Rewrite query pitfalls in action-oriented style matching load section - Add over-bucketing pitfall (up to 50% perf degradation) - Add under-bucketing pitfall (limited CPU parallelism) - Expand sort key pitfall with prefix truncation behavior vs PostgreSQL - Update Chinese translation to match Co-Authored-By: Claude Opus 4.6 <[email protected]> --- docs/gettingStarted/before-you-start-the-poc.md | 14 ++++++++------ .../current/gettingStarted/before-you-start-the-poc.md | 14 ++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/docs/gettingStarted/before-you-start-the-poc.md b/docs/gettingStarted/before-you-start-the-poc.md index 92aae4f141c..dd6cb6a97df 100644 --- a/docs/gettingStarted/before-you-start-the-poc.md +++ b/docs/gettingStarted/before-you-start-the-poc.md @@ -44,9 +44,9 @@ Default is **Random bucketing** (recommended for Duplicate Key tables). Use `DIS 3. **Compressed data per bucket ≤ 20 GB** (≤ 10 GB for Unique Key). Check with `SHOW TABLETS FROM your_table`. 4. **No more than 128 per partition.** Consider partitioning first if you need more. -## Example Templates +### Example Templates -### Log / Event Analytics +#### Log / Event Analytics ```sql CREATE TABLE app_logs @@ -63,7 +63,7 @@ AUTO PARTITION BY RANGE(date_trunc(`log_time`, 'day')) DISTRIBUTED BY RANDOM BUCKETS 10; ``` -### Real-Time Dashboard with Upsert (CDC) +#### Real-Time Dashboard with Upsert (CDC) ```sql CREATE TABLE user_profiles @@ -78,7 +78,7 @@ UNIQUE KEY(user_id) DISTRIBUTED BY HASH(user_id) BUCKETS 10; ``` -### Metrics Aggregation +#### Metrics Aggregation ```sql CREATE TABLE site_metrics @@ -107,7 +107,9 @@ See [Load Best Practices](../data-operate/import/load-best-practices). ### Query -- **Data skew.** Check tablet sizes with `SHOW TABLETS`. Switch to Random bucketing or a higher-cardinality bucket column if sizes vary significantly. -- **Wrong sort key order.** See [Sort Key](#sort-key). +- **Avoid data skew.** Check tablet sizes with `SHOW TABLETS`. Switch to Random bucketing or a higher-cardinality bucket column if sizes vary significantly. +- **Don't over-bucket.** Too many small tablets create scheduling overhead and can degrade query performance by up to 50%. See [Bucketing](#bucketing) for sizing guidelines. +- **Don't under-bucket.** Too few tablets limit CPU parallelism. See [Bucketing](#bucketing) for sizing guidelines. +- **Put the right columns in the sort key.** Unlike systems such as PostgreSQL, Doris only indexes the first 36 bytes of key columns and stops at the first VARCHAR. Columns beyond this prefix won't benefit from the sort key. Add [inverted indexes](../table-design/index/inverted-index/overview) for those columns. See [Sort Key](#sort-key). See [Query Profile](../query-acceleration/query-profile) to diagnose slow queries. diff --git a/i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/before-you-start-the-poc.md b/i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/before-you-start-the-poc.md index 641cce1aa9f..6f94bde1b32 100644 --- a/i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/before-you-start-the-poc.md +++ b/i18n/zh-CN/docusaurus-plugin-content-docs/current/gettingStarted/before-you-start-the-poc.md @@ -44,9 +44,9 @@ 3. **每个分桶的压缩后数据 ≤ 20 GB**(Unique Key 表 ≤ 10 GB)。可通过 `SHOW TABLETS FROM your_table` 查看。 4. **每个分区不超过 128 个分桶。**需要更多时优先考虑分区。 -## 建表模板 +### 建表模板 -### 日志 / 事件分析 +#### 日志 / 事件分析 ```sql CREATE TABLE app_logs @@ -63,7 +63,7 @@ AUTO PARTITION BY RANGE(date_trunc(`log_time`, 'day')) DISTRIBUTED BY RANDOM BUCKETS 10; ``` -### 实时看板与 Upsert(CDC) +#### 实时看板与 Upsert(CDC) ```sql CREATE TABLE user_profiles @@ -78,7 +78,7 @@ UNIQUE KEY(user_id) DISTRIBUTED BY HASH(user_id) BUCKETS 10; ``` -### 指标聚合 +#### 指标聚合 ```sql CREATE TABLE site_metrics @@ -107,7 +107,9 @@ DISTRIBUTED BY HASH(site_id) BUCKETS 10; ### 查询 -- **数据倾斜。**通过 `SHOW TABLETS` 检查 tablet 大小。差异明显时切换为 Random 分桶或选择基数更高的分桶列。 -- **排序键顺序不当。**参见 [Sort Key(排序键)](#sort-key排序键)。 +- **避免数据倾斜。**通过 `SHOW TABLETS` 检查 tablet 大小。差异明显时切换为 Random 分桶或选择基数更高的分桶列。 +- **不要分桶过多。**过多的小 tablet 会产生调度开销,查询性能最多可下降 50%。参见[分桶](#分桶)了解分桶数选择。 +- **不要分桶过少。**过少的 tablet 会限制 CPU 并行度。参见[分桶](#分桶)了解分桶数选择。 +- **正确设置排序键。**与 PostgreSQL 等系统不同,Doris 仅对排序键的前 36 字节建立索引,且遇到 VARCHAR 会立即截断。超出前缀范围的列无法从排序键受益,需添加[倒排索引](../table-design/index/inverted-index/overview)。参见 [Sort Key(排序键)](#sort-key排序键)。 诊断慢查询请使用 [Query Profile](../query-acceleration/query-profile)。 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
