Skip to content
Merged
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
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion en_US/admin/configuration-fields/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ These settings define the communication ports for different protocols used by th

- **`redis`**:
Specifies the Redis Service endpoint, which is only available in cluster mode.
- **Default**: `"0.0.0.0:8362"`.
- **Default**: `"0.0.0.0:6379"`.
- Note: This option is commented out, so it is disabled by default. Uncomment it to enable.

## Session Management
Expand Down
2 changes: 1 addition & 1 deletion en_US/key-value-data-model/quick-start.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,5 @@ To launch the Datalayers Service with Redis support enabled (assuming the defaul
2. Once installed, connect to the Datalayers Redis Service using the following command:

```bash
redis-cli -p 8362
redis-cli -p 6379
```
21 changes: 14 additions & 7 deletions zh_CN/admin/backup-restore.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,29 @@ description: "Datalayers 数据备份与恢复指南:介绍 dldump 的核心

数据库备份和恢复用于保护数据安全、防止数据丢失或损坏。通过定期备份,可在系统故障、硬件损坏或人为错误时,将数据库恢复到最近可用状态,确保业务连续性与数据完整性。本文主要介绍数据备份与恢复能力。

`dldump` 是 Datalayers 提供的数据导出与导入工具,适合用于单库、单表或全库级别的备份恢复操作。

## 工具使用说明

`dldump` 工具提供了丰富的选项以供配置,您可以通过执行 `dldump --help` 以查看 `dldump` 的所有子命令和选项。此处对一些重要的选项进行说明:

| 参数 | <div style="width:40px">简写</div> | 描述 |
| 参数 | 简写 | 描述 |
| --- | --- | --- |
| --host | -h | 指定 Datalayers 实例的地址,默认为:127.0.0.1 |
| --port | -P | 指定 Datalayers 实例的 SQL 服务端口,默认为:8360 |
| --username | -u | 指定用于鉴权的用户名,默认为:admin |
| --password | -p | 指定用于鉴权的密码,默认为:public |
| --output | -o | 指定备份时数据的存储路径。为了避免用户无意间覆盖之前的备份,要求导出时指定的目录为空 |
| --input | -i | 指定恢复时数据的加载路径。如果指定的目录为空,则会中止恢复操作 |
| --meta | | 指定备份时是否要包含元信息(如:建库和建表语句),默认包含元信息。如果不备份元信息,您可以传入 --meta false |
| --data | | 指定备份时是否要包含表数据,默认包含表数据。如果要求不备份表数据,您可以传入 --data false |
| --meta | - | 指定备份时是否要包含元信息(如:建库和建表语句),默认包含元信息。如果不备份元信息,您可以传入 --meta false |
| --data | - | 指定备份时是否要包含表数据,默认包含表数据。如果要求不备份表数据,您可以传入 --data false |
| --database | -d | 指定备份或恢复的数据库。如果不显式设定该选项,则默认转储所有数据库 |
| --table | -t | 指定备份或恢复的表。如果指定了 table,则必须指定 database。如果不显式设定该选项,则默认备份 database 下所有表 |
| --max-file-size | -s | 指定一个数据文件大小的最大值,默认为 8GiB。只支持整型作为合法的输入。单位为:GiB |
| --start | | 指定一个时间戳,时间戳大于或等于 start 的表数据才会被备份。合法的日期格式和整型均认为是合法的时间戳 |
| --end | | 指定一个时间戳,时间戳小于或等于 end 的表数据才会被备份。合法的日期格式和整型均认为是合法的时间戳 |
| --tls | | 通过 TLS 加密方式与数据库进行交互。自签证书则需指定 root ca,如:--tls /etc/datalayers/datalayers.crt |
| --help | | show this help, then exit |
| --start | - | 指定一个时间戳,时间戳大于或等于 start 的表数据才会被备份。合法的日期格式和整型均认为是合法的时间戳 |
| --end | - | 指定一个时间戳,时间戳小于或等于 end 的表数据才会被备份。合法的日期格式和整型均认为是合法的时间戳 |
| --tls | - | 通过 TLS 加密方式与数据库进行交互。自签证书则需指定 root ca,如:--tls /etc/datalayers/datalayers.crt |
| --help | - | show this help, then exit |

## 备份与恢复

Expand Down Expand Up @@ -170,3 +172,8 @@ test> SELECT * FROM device;
+---------------------------+-----+-------+------+
10 rows in set (0.002 sec)
```

## 相关文档

- 想了解连接与查询验证,请参考 [Datalayers 命令行工具 dlsql 使用指南](../getting-started/command-line-tool.md)
- 想了解服务配置与数据目录设置,请参考 [配置文件介绍](./datalayers-configuration.md)
2 changes: 1 addition & 1 deletion zh_CN/admin/configuration-fields/server.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ path = "run/datalayers.sock"
# Users can start this service only when Datalayers server starts in cluster mode.
# Do not support redis service by default.
# Default: "".
# addr = "0.0.0.0:8362"
# addr = "0.0.0.0:6379"

# The username.
# Default: "admin".
Expand Down
27 changes: 15 additions & 12 deletions zh_CN/admin/datalayers-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,9 @@ sudo -u datalayers dlsql

**Peer 认证注意事项**:

- **认证限制**
- 仅限本地访问:Peer 认证仅支持通过 Unix Socket 的本地连接
- **连接端权限要求**:连接端账号必须满足以下条件之一:
- 具备超级管理员权限(root 用户)
- 用户的 UID 与数据库服务运行时的 UID 完全一致
- **权限**:通过 Peer 认证建立的连接将获得系统级最高权限
- 仅限本地访问:Peer 认证仅支持通过 Unix Socket 的本地连接
- 连接端账号必须满足以下条件之一:具备超级管理员权限,或用户 UID 与数据库服务运行时的 UID 完全一致
- 通过 Peer 认证建立的连接将获得系统级最高权限
- 配置 `Unix Socket` 服务后,需重启 Datalayers,以确保服务生效

## Web 控制台
Expand All @@ -79,17 +76,23 @@ dlsql --web-console 9362

## 连接参数详解

| 参数 | <div style="width:28px">简写 </div> | 描述 |
| 参数 | 简写 | 描述 |
| --- | --- | --- |
| --host | -h | 设置连接 Datalayers 服务器地址, 默认为本地路径通过 Unix Socket 方式连接: /var/lib/datalayers/run/datalayers.sock |
| --username | -u | 设置连接 Datalayers 使用的用户名 |
| --password | -p | 设置连接 Datalayers 使用的密码 |
| --port | -P | 设置连接 Datalayers 的端口 |
| --database | -d | 设置连接 Datalayers 时使用的数据库 |
| --execute | -e | 运行一次 SQL STATEMENT 后退出 |
| --load-file | | 执行指定的 SQL 脚本文件 |
| --web-console | | 指定 Web 控制台的监听端口并启动 Web 控制台 |
| --load-file | - | 执行指定的 SQL 脚本文件 |
| --web-console | - | 指定 Web 控制台的监听端口并启动 Web 控制台 |
| --version | -V | 显示 CLI 工具的版本 |
| --tls | | 通过 TLS 加密方式与数据库进行交互。自签证书则需指定 root ca,如:--tls /etc/datalayers/datalayers.crt |
| --max-display-rows | | 在使用 `dlsql` 查询数据时最多显示多少条记录,缺省值为:`40`,如需显示更多记录,则需通过该参数进行指定(`0` 表示无限制) |
| --help | | show this help, then exit |
| --tls | - | 通过 TLS 加密方式与数据库进行交互。自签证书则需指定 root ca,如:--tls /etc/datalayers/datalayers.crt |
| --max-display-rows | - | 在使用 `dlsql` 查询数据时最多显示多少条记录,缺省值为:`40`,如需显示更多记录,则需通过该参数进行指定(`0` 表示无限制) |
| --help | - | show this help, then exit |

## 相关文档

- 想快速完成连接、建库和查询,请参考 [Datalayers 命令行工具 dlsql 使用指南](../getting-started/command-line-tool.md)
- 想了解服务参数与认证配置,请参考 [配置文件介绍](./datalayers-configuration.md)
- 想通过浏览器或图形化工具访问实例,请参考 [Datalayers 集成 DBeaver 指南](../integration/datalayers-with-dbeaver.md)
29 changes: 24 additions & 5 deletions zh_CN/admin/datalayers-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,15 @@ description: "Datalayers 配置文件介绍:说明 datalayers.toml 的路径

本文介绍 Datalayers 配置文件的结构、常见位置与使用方式。

`datalayers.toml` 是 Datalayers 的核心配置入口,涉及服务监听、认证方式、查询资源、存储后端和引擎行为等关键参数。

## 配置修改建议

- 修改配置前先备份当前文件
- 优先只修改与你当前场景直接相关的参数
- 修改后按部署方式重启 Datalayers,使新配置生效
- 在生产环境变更前先在测试环境验证配置效果

## 配置文件目录

Datalayers 配置文件为 `datalayers.toml`,根据安装方式其所在位置有所不同:
Expand All @@ -18,6 +27,16 @@ Datalayers 配置文件为 `datalayers.toml`,根据安装方式其所在位置

主配置文件包含了大部分常用的配置项,如果您没有在配置文件中明确指定某个配置项,Datalayers 将使用默认配置。

## 常见关注的配置分类

- `server`:服务启动模式、监听地址、HTTP 端口、时区等基础参数
- `server.auth`:认证方式、默认账号密码、JWT 密钥、密码策略等安全相关参数
- `server.tls`:TLS 证书与密钥配置
- `server.redis`、`server.prometheus`、`server.postgres`、`server.mcp`:可选协议或服务能力配置
- `query`:查询内存池和慢查询日志配置
- `ts_engine`:时序引擎、缓存、WAL 和 schemaless 写入相关参数
- `storage`:元数据、对象存储和存储后端配置

## 配置文件示例

```toml
Expand Down Expand Up @@ -106,7 +125,7 @@ path = "run/datalayers.sock"
# Users can start this service only when Datalayers server starts in cluster mode.
# Do not support redis service by default.
# Default: "".
# addr = "0.0.0.0:8362"
# addr = "0.0.0.0:6379"

# The username.
# Default: "admin".
Expand Down Expand Up @@ -525,10 +544,10 @@ username = "admin"

配置项与环境变量之前可以通过以下规则转换:

* 由于配置文件中的 `.` 分隔符不能使用于环境变量,因此 Datalayers 选用双下划线 `__` 作为配置分割;
* 为了与其他的环境变量有所区分,Datalayers 还增加了一个前缀 `DATALAYERS_` 来用作环境变量命名空间;
- 由于配置文件中的 `.` 分隔符不能使用于环境变量,因此 Datalayers 选用双下划线 `__` 作为配置分割;
- 为了与其他的环境变量有所区分,Datalayers 还增加了一个前缀 `DATALAYERS_` 来用作环境变量命名空间;

## 配置项优先级与覆盖规则

* DATALAYERS 配置按以下顺序进行优先级排序:命令行参数 > 环境变量 > datalayers.toml > 操作系统设置(timezone)。
* 以“DATALAYERS_”开头的环境变量设置具有最高优先级,并将覆盖 etc/datalayers.toml 文件中的任何设置。
- DATALAYERS 配置按以下顺序进行优先级排序:命令行参数 > 环境变量 > datalayers.toml > 操作系统设置(timezone)。
- 以“DATALAYERS_”开头的环境变量设置具有最高优先级,并将覆盖 etc/datalayers.toml 文件中的任何设置。
8 changes: 8 additions & 0 deletions zh_CN/admin/optimize-configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ cpu_cores = 4

以上配置表示 CPU 的最后4个 Core 用于后台任务,其余的为前台线程。详见:[runtime](../admin/configuration-fields/runtime.md)

建议在 CPU 核数较多且后台任务占比较高的环境中启用该类隔离,以降低前台请求与后台维护任务之间的资源竞争。

## 自动改表

在通过 InfluxDB 行协议写入时,Datalayers 支持根据行协议约定进行自动建表与改表,系统在高负载情况下,改表过程中可能会对写入性能产生一定影响,因此在生产环境中我们建议将自动改表功能关闭掉。
Expand All @@ -56,3 +58,9 @@ cpu_cores = 4
# Default: false.
auto_alter_table = false
```

## 相关文档

- 想做系统层优化,请参考 [Datalayers 系统调优指南](./system-tune.md)
- 想查看配置字段细节,请参考 [runtime 配置字段](./configuration-fields/runtime.md)
- 想做查询层调优,请参考 [查询性能调优概述](../development-guide/query-performance-tuning-overview.md)
26 changes: 23 additions & 3 deletions zh_CN/admin/system-metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,27 @@ description: "Datalayers 提供丰富的监控指标,帮助用户全面掌握

Datalayers 提供丰富的监控指标,帮助用户全面掌握服务运行状态,快速识别和定位系统异常。

本文适合在容量规划、性能分析、故障排查和日常运维场景中使用,可作为 Datalayers 指标查询与监控面板建设的参考入口。

## 适用场景

- 观察实例 CPU、内存、写入和查询负载
- 判断 Flush、Compact、缓存与写入链路是否存在瓶颈
- 配合 Prometheus 和 Grafana 构建可视化监控与告警规则

## 与监控系统集成

Datalayers 原生支持与 Prometheus 集成,实现高效的监控数据采集。将 Datalayers 接入第三方监控系统可带来以下优势:

* **统一监控视图**:将 Datalayers 的监控数据与其他系统指标(如服务器主机信息)整合,构建完整的监控体系
* **可视化展示**:通过 Grafana 等工具创建丰富的监控仪表盘,直观呈现系统运行状态(详见 [Grafana监控](./system-monitor-grafana.md))
* **智能告警**:利用 Prometheus Alertmanager 实现多通道告警通知,及时发现问题并快速响应
- **统一监控视图**:将 Datalayers 的监控数据与其他系统指标整合,构建完整的监控体系
- **可视化展示**:通过 Grafana 等工具创建监控面板,直观呈现系统运行状态,详见 [系统监控](./system-monitor-grafana.md)
- **智能告警**:利用 Prometheus Alertmanager 实现多通道告警通知,及时发现问题并快速响应

## 指标使用建议

- 优先关注带有明显阈值建议的核心指标,这些指标更适合作为初始告警规则候选项
- 结合趋势变化而不是单点数值判断问题,例如持续升高的 pending 队列、持续偏高的内存占用
- 将系统级指标与 Datalayers 进程级指标一起观察,避免只看单一指标造成误判

## Datalayers Metrics

Expand Down Expand Up @@ -54,3 +68,9 @@ Datalayers 原生支持与 Prometheus 集成,实现高效的监控数据采集
| **fdb_process_disk_free_bytes** | gauge | <span style="color:red">*</span> 元数据存储磁盘已使用空间大小,单位:bytes, 使用空间超过 `95%` 会导致服务不可用 |
| **fdb_exporter_latency_seconds** | gauge | <span style="color:red">*</span> 访问元数据服务的时延,单位:秒。不应该大于 `1` |
| fdb_process_disk_total_bytes | gauge | 元数据存储磁盘的总空间大小,单位:bytes |

## 相关文档

- 想了解如何采集和展示这些指标,请参考 [系统监控](./system-monitor-grafana.md)
- 想根据指标调整服务配置,请参考 [配置文件介绍](./datalayers-configuration.md)
- 想进行系统级性能优化,请参考 [Datalayers 系统调优指南](./system-tune.md)
6 changes: 6 additions & 0 deletions zh_CN/admin/system-monitor-grafana.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,3 +92,9 @@ docker run --name my-grafana --network host grafana/grafana
以下为监控面板示意图:

![metrics example](../assets/dashboard_metrics.png)

## 相关文档

- 想了解指标写入与协议兼容,请参考 [Datalayers Prometheus 协议兼容](../prometheus/overview.md)
- 想直接构建数据分析面板,请参考 [Datalayers 集成 Grafana 可视化指南](../integration/datalayers-with-grafana.md)
- 想调整服务参数和资源限制,请参考 [配置文件介绍](./datalayers-configuration.md)
27 changes: 27 additions & 0 deletions zh_CN/admin/system-tune.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,20 @@ description: "Datalayers 作为高性能数据处理系统,其性能表现与

Datalayers 作为高性能数据处理系统,其性能表现与底层操作系统配置密切相关。通过合理的系统参数调优,可以显著提升系统处理能力和稳定性。本文档提供针对 Datalayers 的系统级优化配置方案。

本文适用于性能优化、稳定性提升和生产环境部署准备场景,重点关注操作系统层面对 Datalayers 的影响。

## 适用场景

- 在生产环境上线前进行系统基线优化
- 排查因系统资源限制带来的性能瓶颈
- 提升高并发写入和查询场景下的稳定性

## 调优前建议

- 在变更前记录当前系统参数,便于回滚
- 优先在测试环境验证调优效果,再推广到生产环境
- 将系统调优与 Datalayers 配置调优、监控指标观察结合使用

## 关闭交换分区

Linux 交换分区会给 Datalayers 带来严重的性能问题,因此需要禁用交换分区。
Expand All @@ -28,3 +42,16 @@ echo "* hard nofile 65535" >> /etc/security/limits.conf
## 时钟同步

时序数据在处理时,很多数据处理逻辑是与时间信息强相关,因此需确保系统时间正确。

建议使用稳定的 NTP 服务保持节点时间同步,尤其是在集群部署、跨主机写入和时间窗口查询场景下。

## 调优后建议验证

- 检查交换分区、文件句柄和系统时间同步状态是否符合预期
- 结合 [系统监控指标](./system-metrics.md) 观察 CPU、内存、Flush 和 Compact 指标是否改善
- 在业务高峰或压测场景中复核系统稳定性和延迟表现

## 相关文档

- 想查看监控指标与阈值建议,请参考 [系统监控指标](./system-metrics.md)
- 想配置服务资源和缓存参数,请参考 [配置文件介绍](./datalayers-configuration.md)
2 changes: 1 addition & 1 deletion zh_CN/development-guide/connection.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ Datalayers 支持多种认证机制与细粒度权限控制。默认采用静态

### Redis 协议

- **兼容性**:完全兼容 Redis 协议
- **兼容性**:兼容 Redis 协议
- **适用场景**:分布式、海量键值存储需求

## 协议选择建议
Expand Down
5 changes: 5 additions & 0 deletions zh_CN/development-guide/postgresql/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,11 @@ Datalayers 兼容 PostgreSQL 网络连接协议,可对接 PostgreSQL 生态中
- 希望复用 PostgreSQL JDBC、连接池或 SQL IDE 进行开发调试
- 希望在不改动过多连接方式的前提下快速接入数据库

## 前置条件

- 已启用 Datalayers 的 PostgreSQL 协议服务
- 客户端侧已准备 PostgreSQL 兼容工具或驱动

## 使用说明

- 使用 PostgreSQL 连接协议时,需使用 PostgreSQL 方言。
Expand Down
6 changes: 6 additions & 0 deletions zh_CN/development-guide/prometheus/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ description: "介绍 Datalayers 对 Prometheus Remote Write 与 PromQL 的兼容

Datalayers 兼容 Prometheus 的 Remote Write 协议与 PromQL 查询语言,可直接接入现有 Prometheus 与 Grafana 生态,用于承接监控指标写入、查询与可视化。

## 适用场景

- 将现有 Prometheus 指标写入 Datalayers
- 复用 PromQL 查询已有监控数据
- 与 Grafana 配合构建统一监控与分析看板

这意味着你可以:

- 继续使用现有的 Prometheus 采集配置,只需调整 Remote Write 目标地址,即可将监控数据写入 Datalayers;
Expand Down
6 changes: 6 additions & 0 deletions zh_CN/development-guide/table-design/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,3 +55,9 @@ Datalayers 中,表名大小写敏感,例如 `table1` 与 `Table1` 会被视
- **STORAGE_TYPE**:指定持久化文件的存储介质。可结合部署方式与成本目标选择本地或对象存储。

关于表属性的完整说明,请参考 [时序表引擎指南](../../sql-reference/table-engine/timeseries.md)。

## 相关文档

- 想设计时序表,请参考 [时序存储使用指南](./timeseries-table-design.md)
- 想设计全文检索表,请参考 [全文检索使用指南](./fulltext-table-design.md)
- 想做查询层调优,请参考 [查询性能调优概述](../query-performance-tuning-overview.md)
Loading