From 4121a92171d43b8fbe8bf5cd69c5cd8a3d683a23 Mon Sep 17 00:00:00 2001 From: BohuTANG Date: Wed, 3 Dec 2025 18:31:17 +0800 Subject: [PATCH 1/2] docs: reorganize UDF documentation order --- .../10-sql-commands/00-ddl/10-udf/ddl-alter-function.md | 2 +- .../00-ddl/10-udf/ddl-create-function-embedded.md | 2 +- .../10-sql-commands/00-ddl/10-udf/ddl-create-table-function.md | 2 +- .../10-sql-commands/00-ddl/10-udf/ddl-drop-function.md | 2 +- .../10-sql-commands/00-ddl/10-udf/ddl-show-user-functions.md | 2 +- docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/index.md | 2 +- .../10-sql-commands/00-ddl/10-udf/ddl-alter-function.md | 2 +- .../00-ddl/10-udf/ddl-create-function-embedded.md | 2 +- .../10-sql-commands/00-ddl/10-udf/ddl-create-table-function.md | 2 +- .../10-sql-commands/00-ddl/10-udf/ddl-drop-function.md | 2 +- .../10-sql-commands/00-ddl/10-udf/ddl-show-user-functions.md | 2 +- docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/index.md | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-alter-function.md b/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-alter-function.md index 78a2545713..faa62abed8 100644 --- a/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-alter-function.md +++ b/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-alter-function.md @@ -1,6 +1,6 @@ --- title: ALTER FUNCTION -sidebar_position: 3 +sidebar_position: 5 --- import FunctionDescription from '@site/src/components/FunctionDescription'; diff --git a/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-function-embedded.md b/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-function-embedded.md index 997b950179..dd96939ca6 100644 --- a/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-function-embedded.md +++ b/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-function-embedded.md @@ -1,6 +1,6 @@ --- title: CREATE EMBEDDED FUNCTION -sidebar_position: 3 +sidebar_position: 2 --- import FunctionDescription from '@site/src/components/FunctionDescription'; diff --git a/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-table-function.md b/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-table-function.md index a6ac34c416..725a89f6eb 100644 --- a/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-table-function.md +++ b/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-table-function.md @@ -1,6 +1,6 @@ --- title: CREATE TABLE FUNCTION -sidebar_position: 2 +sidebar_position: 3 --- import FunctionDescription from '@site/src/components/FunctionDescription'; diff --git a/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-drop-function.md b/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-drop-function.md index 00fa3cf835..e601fe71c2 100644 --- a/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-drop-function.md +++ b/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-drop-function.md @@ -1,6 +1,6 @@ --- title: DROP FUNCTION -sidebar_position: 4 +sidebar_position: 6 --- import FunctionDescription from '@site/src/components/FunctionDescription'; diff --git a/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-show-user-functions.md b/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-show-user-functions.md index d205f8bbef..e0ac6b67f5 100644 --- a/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-show-user-functions.md +++ b/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-show-user-functions.md @@ -1,6 +1,6 @@ --- title: SHOW USER FUNCTIONS -sidebar_position: 2 +sidebar_position: 4 --- import FunctionDescription from '@site/src/components/FunctionDescription'; diff --git a/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/index.md b/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/index.md index 05a27ef747..7a7b7c884a 100644 --- a/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/index.md +++ b/docs/cn/sql-reference/10-sql-commands/00-ddl/10-udf/index.md @@ -10,8 +10,8 @@ Databend 中的用户自定义函数(User-Defined Function,UDF)允许您 |---|---| | [CREATE SCALAR FUNCTION](ddl-create-function.md) | 纯 SQL 标量函数(无外部语言) | | [CREATE AGGREGATE FUNCTION](ddl-create-aggregate-function.md) | 脚本 UDAF(JavaScript/Python 运行时) | -| [CREATE TABLE FUNCTION](ddl-create-table-function.md) | 纯 SQL 表函数(返回结果集) | | [CREATE EMBEDDED FUNCTION](ddl-create-function-embedded.md) | 嵌入式函数(Python/JavaScript/WASM) | +| [CREATE TABLE FUNCTION](ddl-create-table-function.md) | 纯 SQL 表函数(返回结果集) | | [SHOW USER FUNCTIONS](ddl-show-user-functions.md) | 列出所有用户自定义函数 | | [ALTER FUNCTION](ddl-alter-function.md) | 修改现有函数 | | [DROP FUNCTION](ddl-drop-function.md) | 移除函数 | diff --git a/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-alter-function.md b/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-alter-function.md index fafaf98a8b..076f074c16 100644 --- a/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-alter-function.md +++ b/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-alter-function.md @@ -1,6 +1,6 @@ --- title: ALTER FUNCTION -sidebar_position: 3 +sidebar_position: 5 --- import FunctionDescription from '@site/src/components/FunctionDescription'; diff --git a/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-function-embedded.md b/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-function-embedded.md index cf0477d12d..c8670881d9 100644 --- a/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-function-embedded.md +++ b/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-function-embedded.md @@ -1,6 +1,6 @@ --- title: CREATE EMBEDDED FUNCTION -sidebar_position: 3 +sidebar_position: 2 --- import FunctionDescription from '@site/src/components/FunctionDescription'; diff --git a/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-table-function.md b/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-table-function.md index c1a284cb77..ea807da169 100644 --- a/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-table-function.md +++ b/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-create-table-function.md @@ -1,6 +1,6 @@ --- title: CREATE TABLE FUNCTION -sidebar_position: 2 +sidebar_position: 3 --- import FunctionDescription from '@site/src/components/FunctionDescription'; diff --git a/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-drop-function.md b/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-drop-function.md index a8f034d327..d6137cd958 100644 --- a/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-drop-function.md +++ b/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-drop-function.md @@ -1,6 +1,6 @@ --- title: DROP FUNCTION -sidebar_position: 4 +sidebar_position: 6 --- import FunctionDescription from '@site/src/components/FunctionDescription'; diff --git a/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-show-user-functions.md b/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-show-user-functions.md index eef4e8d16b..43693b5932 100644 --- a/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-show-user-functions.md +++ b/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/ddl-show-user-functions.md @@ -1,6 +1,6 @@ --- title: SHOW USER FUNCTIONS -sidebar_position: 2 +sidebar_position: 4 --- import FunctionDescription from '@site/src/components/FunctionDescription'; diff --git a/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/index.md b/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/index.md index d954c3019c..5b14d0197b 100644 --- a/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/index.md +++ b/docs/en/sql-reference/10-sql-commands/00-ddl/10-udf/index.md @@ -10,8 +10,8 @@ User-Defined Functions (UDFs) in Databend allow you to create custom operations |---------|-------------| | [CREATE SCALAR FUNCTION](ddl-create-function.md) | SQL-only scalar function (no external language) | | [CREATE AGGREGATE FUNCTION](ddl-create-aggregate-function.md) | Script UDAF (JavaScript/Python runtimes) | -| [CREATE TABLE FUNCTION](ddl-create-table-function.md) | SQL-only table function returning result sets | | [CREATE EMBEDDED FUNCTION](ddl-create-function-embedded.md) | Embedded scalar functions (Python/JavaScript/WASM) | +| [CREATE TABLE FUNCTION](ddl-create-table-function.md) | SQL-only table function returning result sets | | [SHOW USER FUNCTIONS](ddl-show-user-functions.md) | Lists all user-defined functions | | [ALTER FUNCTION](ddl-alter-function.md) | Modifies existing functions | | [DROP FUNCTION](ddl-drop-function.md) | Removes functions | From a4cc082c8337c35ff5773fbc7e726531a1cb23b8 Mon Sep 17 00:00:00 2001 From: BohuTANG Date: Wed, 3 Dec 2025 18:55:51 +0800 Subject: [PATCH 2/2] docs(cn): improve Chinese translation for better readability MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Restructure long sentences into natural Chinese expression - Fix typo: '使户' -> '使用户' in access-control/index.md - Replace passive voice with active voice - Simplify table descriptions - Use idiomatic Chinese phrases like '开箱即用', '按需付费' - Improve consistency in terminology Files updated: - guides/10-deploy/index.md - guides/20-cloud/index.md - guides/40-load-data/00-stage/00-what-is-stage.md - guides/51-ai-functions/index.md - guides/56-security/access-control/index.md - guides/56-security/index.md --- docs/cn/guides/10-deploy/index.md | 26 ++++----- docs/cn/guides/20-cloud/index.md | 42 +++++++-------- .../40-load-data/00-stage/00-what-is-stage.md | 54 ++++++++++--------- docs/cn/guides/51-ai-functions/index.md | 38 ++++++------- .../56-security/access-control/index.md | 12 ++--- docs/cn/guides/56-security/index.md | 18 +++---- 6 files changed, 96 insertions(+), 94 deletions(-) diff --git a/docs/cn/guides/10-deploy/index.md b/docs/cn/guides/10-deploy/index.md index d9d0fa0dce..fc611db1dc 100644 --- a/docs/cn/guides/10-deploy/index.md +++ b/docs/cn/guides/10-deploy/index.md @@ -6,24 +6,24 @@ import IndexOverviewList from '@site/src/components/IndexOverviewList'; # Databend 私有化部署 -## 开源性能,您的基础设施 +## 开源高性能,部署在您的基础设施 -在您自己的基础设施上部署和管理 Databend —— 一个用 Rust 构建的开源、高性能云数仓 —— 享受完全的灵活性。在保持对环境和数据安全完全控制的同时,体验卓越的性能和效率。 +Databend 是一款基于 Rust 构建的开源高性能云数仓。您可以将它部署在自有基础设施上,完全掌控运行环境和数据安全,同时享受出色的性能与灵活性。 -提供 [社区版](../00-products/00-dce.md) 或 [企业版](../00-products/01-dee/index.md)。 +可选 [社区版](../00-products/00-dce.md) 或 [企业版](../00-products/01-dee/index.md)。 -## 主要优势 +## 核心优势 -| 优势 | 描述 | +| 优势 | 说明 | |---------|-------------| -| **数据安全** | 在您自己的安全边界内完全控制您的数据 | -| **基础设施控制** | 在针对您的工作负载优化的首选硬件上部署 | -| **定制化** | 微调配置以匹配您的性能要求 | -| **灵活部署** | 支持裸机、虚拟机和 Kubernetes | -| **成本效益** | 利用现有基础设施并优化资源分配 | - -:::tip 试用 Databend Cloud -更喜欢零维护选项?Databend Cloud 为您管理所有部署和升级复杂性。[在此注册](https://www.databend.cn/apply/?r=doc-card) 体验完全托管服务的便利。 +| **数据自主可控** | 数据始终保留在您自己的安全边界内 | +| **基础设施可控** | 按需选择最适合业务负载的硬件配置 | +| **灵活定制** | 可根据性能需求精细调优各项配置 | +| **多种部署方式** | 支持物理机、虚拟机及 Kubernetes | +| **成本优化** | 充分利用现有资源,合理分配计算与存储 | + +:::tip 试试 Databend Cloud +不想操心运维?Databend Cloud 帮您搞定部署和升级。[点此注册](https://www.databend.cn/apply/?r=doc-card),即刻体验全托管服务。 ::: ## 快速导航 diff --git a/docs/cn/guides/20-cloud/index.md b/docs/cn/guides/20-cloud/index.md index 8701cb659d..b3f48d6098 100644 --- a/docs/cn/guides/20-cloud/index.md +++ b/docs/cn/guides/20-cloud/index.md @@ -2,33 +2,33 @@ title: 使用 Databend Cloud --- -# Databend Cloud 概述 +# Databend Cloud 概览 -Databend Cloud 是一个完全托管的云数仓服务,为您的数据分析需求提供无缝、可扩展且经济高效的解决方案。本指南将帮助您了解使用 Databend Cloud 的基本要点。 +Databend Cloud 是全托管的云数仓服务,开箱即用、弹性扩展、按需付费,让您专注于数据分析本身。 ## 快速导航 -| 类别 | 资源 | 描述 | +| 类别 | 资源 | 说明 | | ------------ | ------------------------------------------------------------- | ---------------------------------- | -| **入门指南** | [创建新账户](/guides/cloud/new-account) | 注册 Databend Cloud 并创建您的组织 | -| **基础知识** | [组织与成员](/guides/cloud/using-databend-cloud/organization) | 了解组织的工作原理并管理团队成员 | -| | [计算集群](/guides/cloud/using-databend-cloud/warehouses) | 了解计算资源、规模和最佳实践 | -| | [工作区](/guides/cloud/using-databend-cloud/worksheet) | 执行 SQL 查询并分析数据 | -| | [仪表盘](/tutorials/cloud-ops/dashboard) | 通过可视化监控您的数据分析 | -| **管理** | [成本管理](/guides/cloud/manage/costs) | 设置支出限制并控制您的费用 | -| | [监控](/guides/cloud/manage/monitor) | 跟踪使用情况和性能 | -| | [AI 功能](/guides/cloud/manage/ai-features) | 利用 AI 功能进行数据分析 | -| | [指标](/guides/cloud/manage/metrics) | 分析性能指标 | +| **快速开始** | [创建账户](/guides/cloud/new-account) | 注册并创建您的组织 | +| **基础功能** | [组织与成员](/guides/cloud/using-databend-cloud/organization) | 了解组织机制,管理团队成员 | +| | [计算集群](/guides/cloud/using-databend-cloud/warehouses) | 了解计算资源配置与最佳实践 | +| | [工作区](/guides/cloud/using-databend-cloud/worksheet) | 编写和执行 SQL 查询 | +| | [仪表盘](/tutorials/cloud-ops/dashboard) | 可视化展示分析结果 | +| **运维管理** | [成本管理](/guides/cloud/manage/costs) | 设置预算上限,控制开支 | +| | [监控](/guides/cloud/manage/monitor) | 追踪用量和性能 | +| | [AI 功能](/guides/cloud/manage/ai-features) | 借助 AI 辅助数据分析 | +| | [指标](/guides/cloud/manage/metrics) | 查看性能指标 | -## 🔗 连接选项 +## 🔗 连接方式 -| 客户端类型 | 选项 | 使用场景 | +| 类型 | 工具 | 适用场景 | | -------------- | ------------------------------------------------ | --------------------------------------- | -| **SQL 客户端** | [BendSQL](/guides/sql-clients/bendsql) | 面向开发者和脚本的命令行界面 | -| | [DBeaver](/guides/sql-clients/jdbc) | 用于数据分析和可视化查询的 GUI 应用程序 | -| **编程语言** | [Python](/guides/sql-clients/developers/python) | 数据科学、分析和机器学习 | -| | [Go](/guides/sql-clients/developers/golang) | 后端应用程序和微服务 | -| | [Node.js](/guides/sql-clients/developers/nodejs) | Web 应用程序和服务 | -| | [Java](/guides/sql-clients/developers/jdbc) | 企业应用程序 | +| **SQL 客户端** | [BendSQL](/guides/sql-clients/bendsql) | 命令行工具,适合开发者和脚本调用 | +| | [DBeaver](/guides/sql-clients/jdbc) | 图形界面,适合可视化查询和数据分析 | +| **编程语言** | [Python](/guides/sql-clients/developers/python) | 数据科学、分析、机器学习 | +| | [Go](/guides/sql-clients/developers/golang) | 后端服务和微服务 | +| | [Node.js](/guides/sql-clients/developers/nodejs) | Web 应用开发 | +| | [Java](/guides/sql-clients/developers/jdbc) | 企业级应用 | -有关详细的连接说明和更多选项,请参阅 [SQL 客户端](/guides/sql-clients/) 部分。 +更多连接方式请参阅 [SQL 客户端](/guides/sql-clients/)。 diff --git a/docs/cn/guides/40-load-data/00-stage/00-what-is-stage.md b/docs/cn/guides/40-load-data/00-stage/00-what-is-stage.md index 0654ba40e5..f67e6d3c47 100644 --- a/docs/cn/guides/40-load-data/00-stage/00-what-is-stage.md +++ b/docs/cn/guides/40-load-data/00-stage/00-what-is-stage.md @@ -2,27 +2,29 @@ title: 什么是 Stage? --- -在 Databend 中,Stage 是一个存放数据文件的虚拟位置。您可以直接查询 Stage 中的文件,或将数据加载到表中。反之,您也可以将表中的数据卸载到 Stage 作为文件存储。使用 Stage 的妙处在于,您可以像访问电脑文件夹一样便捷地进行数据加载和卸载操作。就像将文件放入文件夹时无需知晓其在硬盘上的确切位置一样,访问 Stage 中的文件只需指定 Stage 名称和文件名(例如 `@mystage/mydatafile.csv`),而无需指明其在对象存储桶中的具体路径。与电脑文件夹类似,您可以在 Databend 中创建任意数量的 Stage。但需注意,Stage 不能嵌套包含其他 Stage,每个 Stage 都是独立存在的。 +Stage 是 Databend 中用于存放数据文件的虚拟位置。您可以直接查询 Stage 中的文件,也可以将其加载到表里;反过来,也可以把表数据导出到 Stage。 -通过 Stage 加载数据还能提升文件上传、管理和筛选的效率。借助 [BendSQL](../../30-sql-clients/00-bendsql/index.md),您只需一条命令即可轻松上传或下载 Stage 中的文件。向 Databend 加载数据时,您可以在 COPY INTO 命令中直接指定 Stage,使命令从该 Stage 读取甚至筛选数据文件。同样,从 Databend 导出数据时,您也可以将数据文件转储至 Stage。 +Stage 的好处在于使用简单,就像操作电脑里的文件夹:您只需指定 Stage 名称和文件名(如 `@mystage/mydatafile.csv`),无需关心文件在对象存储中的实际路径。您可以按需创建任意数量的 Stage,但 Stage 之间相互独立,不能嵌套。 + +Stage 还能提升文件管理效率。通过 [BendSQL](../../30-sql-clients/00-bendsql/index.md),一条命令即可完成文件上传或下载。加载数据时,可在 COPY INTO 命令中指定 Stage,实现文件读取和筛选;导出数据时,同样可以将文件写入 Stage。 ## Stage 类型 -根据实际存储位置和可访问性,Stage 可分为以下类型:内部 Stage、外部 Stage 和用户 Stage。下表总结了 Databend 中不同 Stage 类型的特性,包括存储位置、可访问性及推荐使用场景: +根据存储位置和访问权限的不同,Stage 分为三种类型: | | 用户 Stage | 内部 Stage | 外部 Stage | |----------------------|--------------------------------|----------------------------------------------|-----------------------------------------------------------------------------------------------------------| -| **存储位置** | 内部对象存储(Databend) | 内部对象存储(Databend) | 外部对象存储(如 S3、Azure) | -| **创建方式** | 自动创建 | 手动创建:`CREATE STAGE stage_name;` | 手动创建:`CREATE STAGE stage_name` `'s3://bucket/prefix/'` `CONNECTION=(endpoint_url='x', ...);` | -| **访问控制** | 仅创建用户可访问 | 可与其他用户或角色共享 | 可与其他用户或角色共享 | -| **删除 Stage** | 不允许删除 | 删除 Stage 并清空其中文件 | 仅删除 Stage;外部存储中的文件保留 | -| **文件上传** | 必须上传文件至 Databend | 必须上传文件至 Databend | 无需上传;用于从外部存储读取或卸载数据 | -| **使用场景** | 个人/私有数据 | 团队/共享数据 | 外部数据集成或卸载 | +| **存储位置** | Databend 内部对象存储 | Databend 内部对象存储 | 外部对象存储(如 S3、Azure) | +| **创建方式** | 系统自动创建 | 手动创建:`CREATE STAGE stage_name;` | 手动创建:`CREATE STAGE stage_name` `'s3://bucket/prefix/'` `CONNECTION=(endpoint_url='x', ...);` | +| **访问权限** | 仅本人可用 | 可共享给其他用户或角色 | 可共享给其他用户或角色 | +| **删除行为** | 不可删除 | 删除 Stage 同时清空文件 | 仅删除 Stage 定义,外部文件保留 | +| **文件上传** | 需上传到 Databend | 需上传到 Databend | 无需上传,直接读写外部存储 | +| **适用场景** | 个人私有数据 | 团队共享数据 | 对接外部数据源或导出数据 | | **路径格式** | `@~/` | `@stage_name/` | `@stage_name/` | ### 内部 Stage -内部 Stage 的文件实际存储在 Databend 所在的对象存储中。组织内所有用户均可访问内部 Stage,每个用户都能利用该 Stage 进行数据加载或导出任务。与创建文件夹类似,创建 Stage 时需要指定名称。以下是使用 [CREATE STAGE](/sql/sql-commands/ddl/stage/ddl-create-stage) 命令创建内部 Stage 的示例: +内部 Stage 的文件存储在 Databend 所在的对象存储中,组织内所有用户都可以访问。创建时需指定名称: ```sql -- 创建名为 my_internal_stage 的内部 Stage @@ -31,16 +33,16 @@ CREATE STAGE my_internal_stage; ### 外部 Stage -外部 Stage 允许您指定 Databend 所在位置之外的对象存储。例如,若您的数据集存储在 Google 云存储容器中,可使用该容器创建外部 Stage。创建外部 Stage 时,必须提供连接信息以便 Databend 访问外部存储位置。 +外部 Stage 用于对接 Databend 之外的对象存储。例如,您的数据存放在 Google Cloud Storage 或 Amazon S3 中,就可以创建外部 Stage 来访问。创建时需提供连接信息。 -以下是创建外部 Stage 的示例。假设您有一个名为 `databend-doc` 的 Amazon S3 存储桶存放数据集: +假设您有一个名为 `databend-doc` 的 S3 存储桶: ![alt text](/img/guides/external-stage.png) -您可以使用 [CREATE STAGE](/sql/sql-commands/ddl/stage/ddl-create-stage) 命令创建外部 Stage 连接该存储桶: +可以用 [CREATE STAGE](/sql/sql-commands/ddl/stage/ddl-create-stage) 命令创建外部 Stage: ```sql --- 创建名为 my_external_stage 的外部 Stage +-- 创建外部 Stage CREATE STAGE my_external_stage URL = 's3://databend-doc' CONNECTION = ( @@ -49,7 +51,7 @@ CREATE STAGE my_external_stage ); ``` -创建外部 Stage 后,即可从 Databend 访问数据集。例如列出文件: +创建后即可访问其中的数据,比如列出文件: ```sql LIST @my_external_stage; @@ -62,13 +64,13 @@ LIST @my_external_stage; └────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ ``` -请注意,外部存储必须是 Databend 支持的对象存储方案。[CREATE STAGE](/sql/sql-commands/ddl/stage/ddl-create-stage) 命令页面提供了常用对象存储的连接信息配置示例。 +> 外部存储必须是 Databend 支持的对象存储。[CREATE STAGE](/sql/sql-commands/ddl/stage/ddl-create-stage) 页面列出了各类对象存储的连接配置示例。 ### 用户 Stage -用户 Stage 可视为特殊的内部 Stage:其文件存储在 Databend 内部对象存储中,但其他用户无法访问。每个用户都默认拥有专属的用户 Stage,无需预先创建或命名。此外,用户无法删除自己的用户 Stage。 +用户 Stage 是一种特殊的内部 Stage:文件存储在 Databend 内部,但仅本人可见。每个用户自动拥有一个用户 Stage,无需手动创建,也无法删除。 -用户 Stage 适合作为无需共享的私有数据文件仓库。访问用户 Stage 需使用 `@~` 符号。例如列出 Stage 中所有文件: +用户 Stage 适合存放不需要共享的私有文件。访问时使用 `@~`,例如列出所有文件: ```sql LIST @~; @@ -76,13 +78,13 @@ LIST @~; ## 管理 Stage -Databend 提供多种命令帮助您管理 Stage 及其中的暂存文件: +Databend 提供以下命令来管理 Stage 及其中的文件: -| 命令 | 描述 | 适用于用户 Stage | 适用于内部 Stage | 适用于外部 Stage | +| 命令 | 说明 | 用户 Stage | 内部 Stage | 外部 Stage | | ------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------- | ------------------------- | ------------------------- | -| [CREATE STAGE](/sql/sql-commands/ddl/stage/ddl-create-stage) | 创建内部或外部 stage | 否 | 是 | 是 | -| [DROP STAGE](/sql/sql-commands/ddl/stage/ddl-drop-stage) | 删除内部或外部 stage | 否 | 是 | 是 | -| [DESC STAGE](/sql/sql-commands/ddl/stage/ddl-desc-stage) | 显示内部或外部 stage 的属性 | 否 | 是 | 是 | -| [LIST](/sql/sql-commands/ddl/stage/ddl-list-stage) | 返回 stage 中暂存文件的列表。或者,表函数 [LIST_STAGE](/sql/sql-functions/table-functions/list-stage) 提供类似功能,并增加了获取特定文件信息的灵活性 | 是 | 是 | 是 | -| [REMOVE](/sql/sql-commands/ddl/stage/ddl-remove-stage) | 从 stage 中移除暂存文件 | 是 | 是 | 是 | -| [SHOW STAGES](/sql/sql-commands/ddl/stage/ddl-show-stages) | 返回已创建的内部和外部 stage 列表 | 否 | 是 | 是 | \ No newline at end of file +| [CREATE STAGE](/sql/sql-commands/ddl/stage/ddl-create-stage) | 创建内部或外部 Stage | ✗ | ✓ | ✓ | +| [DROP STAGE](/sql/sql-commands/ddl/stage/ddl-drop-stage) | 删除 Stage | ✗ | ✓ | ✓ | +| [DESC STAGE](/sql/sql-commands/ddl/stage/ddl-desc-stage) | 查看 Stage 属性 | ✗ | ✓ | ✓ | +| [LIST](/sql/sql-commands/ddl/stage/ddl-list-stage) | 列出 Stage 中的文件。也可使用表函数 [LIST_STAGE](/sql/sql-functions/table-functions/list-stage),支持更灵活的文件查询 | ✓ | ✓ | ✓ | +| [REMOVE](/sql/sql-commands/ddl/stage/ddl-remove-stage) | 删除 Stage 中的文件 | ✓ | ✓ | ✓ | +| [SHOW STAGES](/sql/sql-commands/ddl/stage/ddl-show-stages) | 列出已创建的 Stage | ✗ | ✓ | ✓ | \ No newline at end of file diff --git a/docs/cn/guides/51-ai-functions/index.md b/docs/cn/guides/51-ai-functions/index.md index 18d0793a42..3dd97276e3 100644 --- a/docs/cn/guides/51-ai-functions/index.md +++ b/docs/cn/guides/51-ai-functions/index.md @@ -1,31 +1,31 @@ -# AI 与 ML 集成 +# AI 与机器学习集成 -Databend 通过两种互补的方法实现强大的 AI 和 ML 功能:使用您自己的基础设施构建自定义 AI 函数,或使用自然语言创建对话式数据体验。 +Databend 提供两种方式实现 AI/ML 能力:使用自有基础设施构建 AI 函数,或通过自然语言与数据交互。 -## 外部函数 - 推荐方法 +## 外部函数(推荐) -外部函数使您能够将数据与自定义的 AI/ML 基础设施连接,为 AI 工作负载提供最大的灵活性和性能。 +外部函数让您可以将数据与自定义 AI/ML 服务对接,最大程度发挥灵活性和性能。 -| 功能 | 优势 | +| 特性 | 优势 | |---------|----------| -| **自定义模型** | 使用任何开源或专有的 AI/ML 模型 | -| **GPU 加速** | 部署在配备 GPU 的机器上以加快推理速度 | -| **数据隐私** | 将数据保留在您的基础设施内 | -| **可扩展性** | 独立的扩展和资源优化 | -| **灵活性** | 支持任何编程语言和 ML 框架 | +| **自定义模型** | 可接入任意开源或私有 AI/ML 模型 | +| **GPU 加速** | 部署在 GPU 机器上加速推理 | +| **数据私有** | 数据始终留在自有基础设施中 | +| **独立扩展** | 计算资源可按需独立调配 | +| **语言无关** | 支持任意编程语言和 ML 框架 | -## MCP 服务器 - 自然语言数据交互 +## MCP 服务器 —— 用自然语言查数据 -模型上下文协议(Model Context Protocol, MCP)服务器使 AI 助手能够使用自然语言与您的 Databend 数据库进行交互,非常适合构建对话式 BI 工具。 +MCP(Model Context Protocol)服务器让 AI 助手能够用自然语言查询 Databend 数据库,非常适合构建对话式 BI 工具。 -| 功能 | 优势 | +| 特性 | 优势 | |---------|----------| -| **自然语言** | 使用简单的英语查询您的数据 | -| **AI 助手集成** | 可与 Claude、ChatGPT 和自定义代理配合使用 | -| **实时分析** | 从您的数据中即时获取洞察 | +| **自然语言查询** | 用日常语言提问即可获取数据 | +| **AI 助手集成** | 支持 Claude、ChatGPT 及自定义 Agent | +| **即时洞察** | 实时从数据中获取分析结论 | -## 入门指南 +## 快速上手 -**[外部函数指南](01-external-functions.md)** - 学习如何通过实际示例和实施指导来创建和部署自定义 AI 函数 +**[外部函数指南](01-external-functions.md)** —— 通过示例学习如何创建和部署自定义 AI 函数 -**[MCP 服务器指南](02-mcp.md)** - 使用 mcp-databend 和自然语言查询构建对话式 BI 工具 \ No newline at end of file +**[MCP 服务器指南](02-mcp.md)** —— 使用 mcp-databend 构建自然语言驱动的 BI 工具 \ No newline at end of file diff --git a/docs/cn/guides/56-security/access-control/index.md b/docs/cn/guides/56-security/access-control/index.md index 43cd718f5e..6f4479ccc5 100644 --- a/docs/cn/guides/56-security/access-control/index.md +++ b/docs/cn/guides/56-security/access-control/index.md @@ -2,17 +2,17 @@ title: 访问控制 --- -Databend 将 [基于角色的访问控制 (RBAC)](https://en.wikipedia.org/wiki/Role-based_access_control) 和 [自主访问控制 (DAC)](https://en.wikipedia.org/wiki/Discretionary_access_control) 模型结合起来,以实现其访问控制功能。当用户访问 Databend 中的数据对象时,必须被授予适当的权限或角色,或者需要拥有该数据对象的所有权。数据对象可以指各种元素,例如数据库、表、视图、Stage 或 UDF。 +Databend 结合了 [基于角色的访问控制 (RBAC)](https://en.wikipedia.org/wiki/Role-based_access_control) 和 [自主访问控制 (DAC)](https://en.wikipedia.org/wiki/Discretionary_access_control) 两种模型。用户访问数据对象时,必须拥有相应的权限或角色,或者是该对象的所有者。这里的"数据对象"包括数据库、表、视图、Stage、UDF 等。 ![Alt text](/img/guides/access-control-1.png) -| 概念 | 描述 | +| 概念 | 说明 | |----------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 权限 | 权限在与 Databend 中的数据对象交互时起着至关重要的作用。这些权限(例如读取、写入和执行)提供对用户操作的精确控制,确保与用户需求保持一致并维护数据安全。 | -| 角色 | 角色简化了访问控制。角色是分配给用户的预定义权限集,从而简化了权限管理。管理员可以根据职责对用户进行分类,从而有效地授予权限,而无需单独配置。 | -| 所有权 | 所有权是用于控制数据访问的特殊权限。当用户拥有数据对象时,他们拥有最高的控制级别,可以决定访问权限。这种简单的所有权模型使户能够管理其数据,从而控制谁可以在 Databend 环境中访问或修改它。 | +| 权限 | 权限决定了用户能对数据对象执行哪些操作(如读取、写入、执行等),是实现精细化访问控制、保障数据安全的基础。 | +| 角色 | 角色是一组预定义权限的集合。管理员可以按职责划分角色,将权限批量授予用户,无需逐一配置,大幅简化权限管理。 | +| 所有权 | 所有权是一种特殊权限。对象的所有者拥有最高控制权,可以决定谁能访问或修改该对象。 | -本指南介绍了相关概念,并提供了有关如何在 Databend 中管理访问控制的说明: +本指南将介绍上述概念,并说明如何在 Databend 中管理访问控制: - [权限](01-privileges.md) - [角色](02-roles.md) diff --git a/docs/cn/guides/56-security/index.md b/docs/cn/guides/56-security/index.md index de0db8bd70..7243c062ed 100644 --- a/docs/cn/guides/56-security/index.md +++ b/docs/cn/guides/56-security/index.md @@ -2,14 +2,14 @@ title: 安全与可靠性 --- -Databend 提供**企业级的安全与可靠性功能**,在数据的整个生命周期内保护您的数据安全。从控制数据访问权限、防范网络威胁到从操作失误中恢复,Databend 的**多层安全方法**帮助您维护数据完整性、合规性和业务连续性。 +Databend 提供**企业级安全与可靠性功能**,全方位保护您的数据。无论是权限管控、网络防护,还是误操作恢复,Databend 的**多层安全机制**都能帮您守护数据完整性、满足合规要求、保障业务连续运行。 -| 安全功能 | 用途 | 使用场景 | +| 功能 | 作用 | 适用场景 | |-----------------|---------|------------| -| [**访问控制(Access Control)**](/guides/security/access-control) | 管理用户权限 | 当您需要通过基于角色的安全性和对象所有权来控制数据访问时 | -| [**审计追踪**](audit-trail.md) | 追踪数据库活动 | 当您需要全面的审计追踪来进行安全监控、合规性检查和性能分析时 | -| [**网络策略(Network Policy)**](/guides/security/network-policy) | 限制网络访问 | 当您希望即便拥有有效凭据,也只允许来自特定 IP 范围的连接时 | -| [**密码策略(Password Policy)**](/guides/security/password-policy) | 设置密码要求 | 当您需要强制执行密码复杂度、轮换和账户锁定规则时 | -| [**脱敏策略(Masking Policy)**](/guides/security/masking-policy) | 隐藏敏感数据 | 当您需要在保护机密数据的同时,仍然允许授权访问时 | -| [**故障保护(Fail-Safe)**](/guides/security/fail-safe) | 防止数据丢失 | 当您需要从兼容 S3 的存储中恢复意外删除的数据时 | -| [**从操作失误中恢复(Recovery from Errors)**](/guides/security/recovery-from-operational-errors) | 修复操作失误 | 当您需要从被删除的数据库/表或错误的数据修改中恢复时 | \ No newline at end of file +| [**访问控制**](/guides/security/access-control) | 管理用户权限 | 需要通过角色和对象所有权精细控制数据访问 | +| [**审计追踪**](audit-trail.md) | 记录数据库活动 | 需要完整审计日志用于安全监控、合规检查或性能分析 | +| [**网络策略**](/guides/security/network-policy) | 限制网络访问 | 需要限制只有特定 IP 段才能连接,即使凭据正确也拒绝其他来源 | +| [**密码策略**](/guides/security/password-policy) | 设定密码规则 | 需要强制密码复杂度、定期轮换或账户锁定策略 | +| [**脱敏策略**](/guides/security/masking-policy) | 隐藏敏感信息 | 需要在保护敏感数据的同时允许授权用户访问 | +| [**故障保护**](/guides/security/fail-safe) | 防止数据丢失 | 需要从 S3 兼容存储中恢复误删数据 | +| [**误操作恢复**](/guides/security/recovery-from-operational-errors) | 修复操作失误 | 需要恢复被删除的数据库/表,或撤销错误的数据修改 | \ No newline at end of file