Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1,243 changes: 1,243 additions & 0 deletions TOC-tidb-cloud-lake.md

Large diffs are not rendered by default.

118 changes: 118 additions & 0 deletions tidb-cloud-lake/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
---
title: TiDB Cloud Lake 文档
hide_sidebar: true
hide_commit: true
summary: TiDB Cloud Lake 是一项面向分析型工作负载的云原生数据仓库服务。它采用计算与存储分离架构,并支持 ANSI SQL、半结构化数据处理和面向 AI 的工作流。
---

<LearningPathContainer platform="tidb-cloud" title="TiDB Cloud Lake" subTitle="TiDB Cloud Lake 是一项面向分析型工作负载的云原生数据仓库服务。它采用计算与存储分离架构,并支持 ANSI SQL、半结构化数据处理和面向 AI 的工作流。">

<LearningPath label="学习" icon="cloud1">

[TiDB Cloud Lake 概览](https://docs.pingcap.com/zh/tidbcloudlake/lake-overview/)

[架构](https://docs.pingcap.com/zh/tidbcloudlake/tidb-cloud-lake-architecture/)

[版本](https://docs.pingcap.com/zh/tidbcloudlake/editions/)

</LearningPath>

<LearningPath label="试用" icon="cloud5">

[快速入门](https://docs.pingcap.com/zh/tidbcloudlake/lake-quick-start/)

[从 Snowflake 迁移](https://docs.pingcap.com/zh/tidbcloudlake/migrate-from-snowflake/)

[使用 Vector 导入 JSON 日志](https://docs.pingcap.com/zh/tidbcloudlake/ingest-json-logs-with-vector-cloud/)

</LearningPath>

<LearningPath label="连接" icon="doc8">

[连接概览](https://docs.pingcap.com/zh/tidbcloudlake/connection-overview/)

[使用 LakeSQL 连接](https://docs.pingcap.com/zh/tidbcloudlake/connect-using-lakesql/)

[使用 Golang 连接](https://docs.pingcap.com/zh/tidbcloudlake/connect-using-golang/)

[使用 Tableau 连接](https://docs.pingcap.com/zh/tidbcloudlake/tableau/)

[使用 AWS PrivateLink 连接](https://docs.pingcap.com/zh/tidbcloudlake/connect-with-aws-privatelink/)

[使用 Alibaba Cloud PrivateLink 连接](https://docs.pingcap.com/zh/tidbcloudlake/connect-with-alibaba-cloud-privatelink/)

</LearningPath>

<LearningPath label="集成" icon="cloud4">

[数据集成概览](https://docs.pingcap.com/zh/tidbcloudlake/data-integration-overview/)

[数据源](https://docs.pingcap.com/zh/tidbcloudlake/data-sources/)

[集成任务](https://docs.pingcap.com/zh/tidbcloudlake/integration-tasks/)

</LearningPath>

<LearningPath label="加载" icon="cloud3">

[Stage 概述](https://docs.pingcap.com/zh/tidbcloudlake/stage-overview/)

[从文件加载](https://docs.pingcap.com/zh/tidbcloudlake/load-from-files/)

[查询与转换](https://docs.pingcap.com/zh/tidbcloudlake/query-stage/)

[持续数据管道](https://docs.pingcap.com/zh/tidbcloudlake/continuous-data-pipelines/)

</LearningPath>

<LearningPath label="分析" icon="cloud6">

[多模态数据分析](https://docs.pingcap.com/zh/tidbcloudlake/multimodal-data-analytics/)

[SQL 分析](https://docs.pingcap.com/zh/tidbcloudlake/sql-analytics/)

[向量搜索](https://docs.pingcap.com/zh/tidbcloudlake/vector-search-guide/)

</LearningPath>

<LearningPath label="运维" icon="tidb-cloud-tune">

[管理成本](https://docs.pingcap.com/zh/tidbcloudlake/manage-costs/)

[监控使用情况](https://docs.pingcap.com/zh/tidbcloudlake/monitor-usage/)

[AI-Powered 的功能](https://docs.pingcap.com/zh/tidbcloudlake/ai-powered-features/)

[性能优化](https://docs.pingcap.com/zh/tidbcloudlake/performance-optimization/)

[故障排查](https://docs.pingcap.com/zh/tidbcloudlake/troubleshooting/)

</LearningPath>

<LearningPath label="安全" icon="users">

[安全性与可靠性](https://docs.pingcap.com/zh/tidbcloudlake/security-reliability/)

[访问控制](https://docs.pingcap.com/zh/tidbcloudlake/access-control/)

[数据保护策略](https://docs.pingcap.com/zh/tidbcloudlake/data-protection-policies/)

[使用 AWS IAM Role 进行认证](https://docs.pingcap.com/zh/tidbcloudlake/authenticate-with-aws-iam-role/)

[合规与安全](https://docs.pingcap.com/zh/tidbcloudlake/compliance-security/)

</LearningPath>

<LearningPath label="参考" icon="cloud-dev">

[SQL 语句概览](https://docs.pingcap.com/zh/tidbcloudlake/sql-statements-overview/)

[价格与计费](https://docs.pingcap.com/zh/tidbcloudlake/pricing-billing/)

[数据摄取基准测试](https://docs.pingcap.com/zh/tidbcloudlake/benchmark-data-ingestion/)

[支持服务](https://docs.pingcap.com/zh/tidbcloudlake/support-services/)

</LearningPath>

</LearningPathContainer>
22 changes: 22 additions & 0 deletions tidb-cloud-lake/guides/access-control.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
title: 访问控制
summary: 了解 TiDB Cloud Lake 中的访问控制。它结合使用基于角色的访问控制(RBAC)和自主访问控制(DAC)来管理数据库、表、视图等数据对象的权限。
---

# 访问控制

{{{ .lake }}} 的访问控制功能同时采用了 [Role-Based Access Control (RBAC)](https://en.wikipedia.org/wiki/Role-based_access_control) 和 [Discretionary Access Control (DAC)](https://en.wikipedia.org/wiki/Discretionary_access_control) 模型。当用户访问 {{{ .lake }}} 中的数据对象时,必须被授予适当的权限或角色,或者拥有该数据对象的所有权。数据对象可以指多种元素,例如数据库、表、视图、stage 或 UDF。

![Access control](/media/tidb-cloud-lake/access-control-1.png)

| 概念 | 描述 |
|-----------|------------------------------------------------------------|
| 权限 | 权限在与 {{{ .lake }}} 中的数据对象交互时起着关键作用。这些权限(如读、写和执行)能够对用户操作进行精细控制,从而确保符合用户需求并维护数据安全。 |
| 角色 | 角色可简化访问控制。角色是分配给用户的预定义权限集合,可简化权限管理。管理员可以根据职责对用户进行分类,从而高效授予权限,而无需逐一进行单独配置。 |
| 所有权 | 所有权是一种用于控制数据访问的特殊权限。当用户拥有某个数据对象时,他们具有最高级别的控制权,可以决定访问权限。这种直接的所有权模型使用户能够管理自己的数据,并控制在 {{{ .lake }}} 环境中谁可以访问或修改这些数据。 |

本指南介绍相关概念,并提供如何在 {{{ .lake }}} 中管理访问控制的说明:

- [权限](/tidb-cloud-lake/guides/privileges.md)
- [角色](/tidb-cloud-lake/guides/roles.md)
- [所有权](/tidb-cloud-lake/guides/ownership.md)
149 changes: 149 additions & 0 deletions tidb-cloud-lake/guides/aggregating-index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
---
title: 聚合索引
summary: 聚合索引通过预计算并存储聚合结果,显著加速分析型查询,避免在常见分析操作中扫描整张表。
---

# 聚合索引

聚合索引通过预计算并存储聚合结果,显著加速分析型查询,避免在常见分析操作中扫描整张表。

## 它解决了什么问题? {#what-problem-does-it-solve}

大规模数据集上的分析型查询会面临显著的性能挑战:

| 问题 | 影响 | 聚合索引解决方案 |
|---------|--------|---------------------------|
| **全表扫描** | SUM、COUNT、MIN、MAX 查询需要扫描数百万行 | 直接读取预计算结果 |
| **重复计算** | 相同的聚合被反复计算 | 结果只存储一次,多次复用 |
| **仪表盘查询缓慢** | 分析仪表盘加载需要数分钟 | 常见指标可实现亚秒级响应 |
| **计算成本高** | 大量聚合负载会消耗资源 | 对缓存结果仅需极少计算 |
| **用户体验差** | 用户需要等待报表和分析结果 | 为商业智能提供即时结果 |

**示例**:销售分析查询 `SELECT SUM(revenue), COUNT(*) FROM sales WHERE region = 'US'` 需要处理 1 亿行数据。没有聚合索引时,它需要扫描所有美国销售记录;有了聚合索引后,它可以立即返回预计算结果。

## 工作原理 {#how-it-works}

1. **创建索引** → 定义需要预计算的聚合查询
2. **结果存储** → {{{ .lake }}} 将聚合结果存储在优化后的数据块中
3. **查询匹配** → 传入的查询会自动使用预计算结果
4. **自动修改** → 当底层数据发生变化时,结果会刷新

## 快速开始 {#quick-setup}

```sql
-- Create table with sample data
CREATE TABLE sales(region VARCHAR, product VARCHAR, revenue DECIMAL, quantity INT);

-- Create aggregating index for common analytics
CREATE AGGREGATING INDEX sales_summary AS
SELECT region, SUM(revenue), COUNT(*), AVG(quantity)
FROM sales
GROUP BY region;

-- Refresh the index (manual mode)
REFRESH AGGREGATING INDEX sales_summary;

-- Verify the index is used
EXPLAIN SELECT region, SUM(revenue) FROM sales GROUP BY region;
```

## 支持的操作 {#supported-operations}

| ✅ 支持 | ❌ 不支持 |
|-------------|-----------------|
| SUM、COUNT、MIN、MAX、AVG | 窗口函数 |
| GROUP BY 子句 | GROUPING SETS |
| WHERE 过滤条件 | ORDER BY、LIMIT |
| 简单聚合 | 复杂子查询 |

## 刷新策略 {#refresh-strategies}

| 策略 | 适用场景 | 配置 |
|----------|-------------|---------------|
| **自动(SYNC)** | 实时分析、小规模数据集 | `CREATE AGGREGATING INDEX ... SYNC` |
| **手动** | 大规模数据集、批处理 | `CREATE AGGREGATING INDEX ...`(默认) |
| **后台(Cloud)** | 生产负载 | 在 {{{ .lake }}} 中自动执行 |

### 自动刷新与手动刷新 {#automatic-vs-manual-refresh}

```sql
-- Automatic refresh (updates with every data change)
CREATE AGGREGATING INDEX auto_summary AS
SELECT region, SUM(revenue) FROM sales GROUP BY region SYNC;

-- Manual refresh (update on demand)
CREATE AGGREGATING INDEX manual_summary AS
SELECT region, SUM(revenue) FROM sales GROUP BY region;

REFRESH AGGREGATING INDEX manual_summary;
```

## 性能示例 {#performance-example}

以下示例展示了显著的性能提升:

```sql
-- Prepare data
CREATE TABLE agg(a int, b int, c int);
INSERT INTO agg VALUES (1,1,4), (1,2,1), (1,2,4), (2,2,5);

-- Create an aggregating index
CREATE AGGREGATING INDEX my_agg_index AS SELECT MIN(a), MAX(c) FROM agg;

-- Refresh the aggregating index
REFRESH AGGREGATING INDEX my_agg_index;

-- Verify if the aggregating index works
EXPLAIN SELECT MIN(a), MAX(c) FROM agg;

-- Key indicators in the execution plan:
-- ├── aggregating index: [SELECT MIN(a), MAX(c) FROM default.agg]
-- ├── rewritten query: [selection: [index_col_0 (#0), index_col_1 (#1)]]
-- This shows the query uses precomputed results instead of scanning raw data
```

## 最佳实践 {#best-practices}

| 实践 | 收益 |
|----------|---------|
| **为常见查询建立索引** | 聚焦于频繁执行的分析查询 |
| **使用手动刷新** | 更好地控制修改时机 |
| **监控索引使用情况** | 使用 EXPLAIN 验证索引是否被利用 |
| **清理未使用的索引** | 删除未被使用的索引 |
| **匹配查询模式** | 索引过滤条件应与实际查询一致 |

## 管理命令 {#management-commands}

| 命令 | 用途 |
|---------|---------|
| `CREATE AGGREGATING INDEX` | 创建新的聚合索引 |
| `REFRESH AGGREGATING INDEX` | 使用最新数据修改索引 |
| `DROP AGGREGATING INDEX` | 删除索引(使用 VACUUM TABLE 清理存储) |
| `SHOW AGGREGATING INDEXES` | 列出所有索引 |

## 重要说明 {#important-notes}

**适合使用聚合索引的场景:**

- 频繁的分析型查询(仪表盘、报表)
- 具有重复聚合的大规模数据集
- 稳定的查询模式
- 对性能要求高的应用

**不适合使用的场景:**

- 数据频繁变化
- 一次性的分析型查询
- 小表上的简单查询

## 配置 {#configuration}

```sql
-- Enable/disable aggregating index feature
SET enable_aggregating_index_scan = 1; -- Enable (default)
SET enable_aggregating_index_scan = 0; -- Disable
```

---

*聚合索引最适用于大规模数据集上的重复性分析负载。建议从最常用的仪表盘和报表查询开始。*
32 changes: 32 additions & 0 deletions tidb-cloud-lake/guides/ai-powered-features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
---
title: AI 驱动功能
summary: 借助 AI 驱动功能,TiDB Cloud Lake 允许你通过自然语言对话获取帮助、支持和解决方案。
---

# AI 驱动功能

借助 AI 驱动功能,{{{ .lake }}} 允许你通过自然语言对话获取帮助、支持和解决方案。这些 AI 驱动功能默认启用,但如果你希望禁用它们,可以导航到 **Manage** > **Settings**。

## 用于协助的 AI Chat {#ai-chat-for-assistance}

AI Chat 支持自然语言交互,使信息检索更加直观,并简化问题解决流程。

要启动 AI-Chat,请执行以下操作:

1. 点击侧边栏中的放大镜图标 <svg t="1723600475826" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2903" width="16" height="16"><path d="M949.76 884.3264a88.68864 88.68864 0 0 1-25.64096 62.67904 87.14752 87.14752 0 0 1-123.76576 0.16896l-164.29568-160.87552a382.4128 382.4128 0 0 1-26.43968 12.6208 382.83776 382.83776 0 0 1-300.032 0 383.38048 383.38048 0 0 1-122.48064-83.39968 391.296 391.296 0 0 1 0-550.36928 384.56832 384.56832 0 0 1 627.55328 123.648 391.00416 391.00416 0 0 1-40.704 376.57088l150.32832 156.56448a88.576 88.576 0 0 1 25.47712 62.39232z" fill="#1677FF" p-id="2904"></path></svg> 以打开搜索框。

2. 切换到 **Chat** 标签页。

3. 输入你的问题。

### AI 驱动的 SQL Assistant {#ai-powered-sql-assistant}

在工作区 (Worksheet) 中编辑 SQL 语句时,可以使用 AI 辅助。你无需从头编写 SQL,AI 可以为你生成。

要在编辑 SQL 语句时使用 AI,只需在新行开头输入 "/",然后输入你的查询,例如 "return current time":

![Alt text](/media/tidb-cloud-lake/ai-worksheet-1.gif)

你还可以为现有 SQL 语句获取 AI 辅助。为此,请选中你的 SQL 并点击 **Edit**,以指定你希望进行的更改或请求进一步帮助。或者,点击 **Chat** 与 AI 展开对话,以获得更全面的支持。

![Alt text](/media/tidb-cloud-lake/ai-worksheet-2.gif)
Loading
Loading