时序数据库 CTSDB 3.0版默认兼容 开源 InfluxDB v1.7 版本。本章将说明时序数据库 CTSDB 3.0版创建数据库、下载数据并将数据写入数据库,对开源 InfluxDB V1.7 的兼容情况。
数据库管理
全新购买的时序数据库 CTSDB 3.0版实例没有数据库,需手动创建数据库。数据库的创建与删除相关命令使用语义请参见下表。其中,✅表示兼容 InfluxDB,❌表示不兼容。更多信息,请参见 Sample data。
命令 | 作用 | 兼容性 | 语义 |
CREATE DATABASE | 创建一个新的数据库 | ✅ | 当前 CREATE DATABASE 仅支持配置如下参数,其它参数暂不支持。语义格式如下所示: CREATE DATABASE <database_name> [WITH [DURATION <duration[默认无限制]>]] database_name:指数据库库名。 DURATION:数据过期删除时间(TTL , Time To Live),单位:天,取值为非零整数,选填参数。如果不启用数据过期,不配置该参数,如需启用数据过期,该数据库中的数据达到过期时间后将被自动删除清理,请谨慎配置!例如 DURATION 180d,表示该数据库中的数据达到180天即过期自动删除。 创建一个名为 test_tsdb1 的数据库,该数据库的数据永久保留: CREATE DATABASE test_tsdb1 。创建一个名为 test_tsdb2 的数据库,该数据库启用数据过期,设置数据被保留30天: CREATE DATABASE test_tsdb2 WITH DURATION 30d 。 |
DROP DATABASE | 删除数据库 | ✅ | 执行语义如下所示: DROP DATABASE <database_name> |
DROP SERIES
| 删除数据库时间序列数据 | ❌ | - |
DROP MEASUREMENT | 删除测量值 | ✅ | 执行语义: DROP MEASUREMENT <measurement_name> |
DROP SHARD | 删除数据分片 | ❌ | - |
DELETE |
删除数据点,可以根据时间范围和查询条件来删除一个或多个数据点
| ✅ | 执行语义:
DELETE FROM <measurement_name> WHERE [<tag_key>='<tag_value>'] | [<time interval>] 如下以删除名为 cpu_load 的测量类型中时间戳在某个时间范围内的所有数据点为例,演示其执行方式。
DELETE FROM cpu_load WHERE time >= '2023-05-20T00:00:00Z' AND time < '2023-05-21T00:00:00Z' |
CREATE RETENTION POLICY | 创建数据保留策略的命令 | ❌ | - |
ALTER RETENTION POLICY | 修改保留策略 | ❌ | - |
DROP RETENTION POLICY | 删除保留策略 | ❌ | - |
写入协议
InfluxDB Line Protocol 是 InfluxDB 数据库使用的一种数据格式,用于将数据以文本形式写入 InfluxDB 数据库。该协议使用逗号分隔值(CSV)格式,其中包含时间戳、测量标识符、标签和字段。您可以使用该协议将数据写入 InfluxDB 数据库,并从中检索和查询数据。
协议 | 协议说明 | 是否兼容 | 格式 |
InfluxDB Line Protocol | InfluxDB Line Protocol 是一种基于文本的数据格式,用于将数据点写入 InfluxDB 数据库。每个数据点都由一个单独的行表示,行中包含时间戳和测量值名称、标签集和字段集的值。 | ✅ | 每个数据点都由一个单独的行表示,行中包含时间戳和测量值名称、标签集和字段集的值。
|
Prometheus | Prometheus 是一种开源的监控系统和时间序列数据库,用于收集、存储和查询各种类型的指标数据。
InfluxDB 提供了一个兼容 Prometheus 的 HTTP API 端点,使得 Prometheus 可以将其数据写入InfluxDB 中。 | ✅ | 启用 Prometheus 远程读写 API 与 InfluxDB: 1. 创建目标数据库
在 InfluxDB 实例中,通过 库管理 或参照 管理数据库,创建一个数据库来存储从 Prometheus 发送的数据。
在下面提供的示例中以 prometheus_test 举例,用作数据库名称 CREATE DATABASE "prometheus_test" 。2. 请将 URL 值添加到 Prometheus 配置文件中的以下设置: username、password:分别为实例的访问账号与密码。
influxdb_ip:指实例内网 IP 地址。
db:指数据库库名,举例如 prometheus_test。
|
下载并写入数据
下载并写入符合 InfluxDB Line Protocol 协议的时序数据,请参见 使用数据库实例。更多信息,请参见 Download and write the data to InfluxDB。