创建数据库
使用influxctl CLI或管理HTTP API在您的InfluxDB Cloud Dedicated集群中创建数据库。
使用influxctl database create命令在您的InfluxDB Cloud Dedicated集群中创建数据库。
如果您还没有,下载并安装
influxctlCLI,然后为您的集群influxctl配置连接配置文件。在你的终端中,运行
influxctl database create命令并提供以下内容:- 可选: 数据库 保留期限 默认是
无限(0). - 可选: 数据库表(测量)限制。默认为
500。 - 可选: 数据库列限制。默认是
250。 - 可选: InfluxDB 标签用于分区模板。限制为总共 7 个标签或标签桶。
- 可选: InfluxDB 标签桶 用于分区模板。限制为总共 7 个标签或标签桶。
- 可选: 一个Rust strftime日期和时间字符串
用于指定分区模板中的时间格式,并确定
按时间分区的时间间隔。默认为
%Y-%m-%d。 - 数据库名称 (请参见 数据库命名限制)
- 可选: 数据库 保留期限 默认是
InfluxDB Cloud Dedicated 在分区模板中支持最多 7 个总标签或标签桶。
influxctl database create \
--retention-period 30d \
--max-tables 500 \
--max-columns 250 \
--template-tag TAG_KEY_1 \
--template-tag TAG_KEY_2 \
--template-tag-bucket TAG_KEY_3,100 \
--template-tag-bucket TAG_KEY_4,300 \
--template-timeformat '%Y-%m-%d' \
DATABASE_NAME
在您的命令中替换以下内容:
数据库属性
保留期限语法(influxctl CLI)
使用 --retention-period 标志来定义
保留期
用于数据库。
保留期值是由数字值和时间单位组成的时间持续值。
例如, 30d 意味着 30 天。
零持续时间 (0d) 的保留期是无限的,数据不会过期。
保留期值不能是负数或包含空格。
有效的持续时间单位包括
- m: 分钟
- h: 小时
- d: 天
- w: 周
- mo: 月份
- y: 年
示例保留期值
0d: 无限/无3d: 3天6w: 6 周1mo: 1个月(30天)1y: 1 年30d30d: 60天2.5d: 60小时
自定义分区(influxctl CLI)
InfluxDB Cloud Dedicated 允许您为每个数据库定义自定义分区策略。分区是存储在Apache Parquet格式中的数据的逻辑分组,在 InfluxDB 3 存储引擎中。默认情况下,数据按天分区,但根据您的架构和工作负载,自定义分区策略可以提高查询性能。
使用 --template-tag、--template-tag-bucket 和 --template-timeformat 标志来定义用于生成数据库分区键的分区模板部分。
获取更多信息,请参见 Manage data partitioning.
此示例使用 cURL 发送管理 HTTP API 请求,但您可以使用任何 HTTP 客户端。
如果您还没有,请按照说明 安装 cURL 到您的系统。
在您的终端中,使用 cURL 向以下 InfluxDB Cloud 专用端点发送请求:
POST https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases
在URL中提供以下凭据:
提供以下请求头:
Accept: application/json以确保响应体是JSON内容Content-Type: application/json表示请求体是JSON内容Authorization: Bearer和一个 管理 API 令牌 用于你的集群 (请参阅如何 创建管理令牌 以进行管理 API 请求).
在请求体中提供以下参数:
- 可选: 数据库 保留期限(以纳秒为单位)。
默认值为
0(无限制)。 - 可选: 数据库表(测量)限制。默认为
500。 - 可选: 数据库列限制。默认是
250。 - 可选: InfluxDB 标签用于分区模板中。限制为最多 7 个标签或标签桶。
- 可选: InfluxDB 标签桶用于分区模板。总限制为7个标签或标签桶。
- 可选:一个支持的 Rust strftime 日期和时间字符串,用于指定分区模板中的时间格式,并确定按时间间隔进行分区。默认值是
%Y-%m-%d。 - 数据库名称 (见 数据库命名限制).
InfluxDB Cloud Dedicated 在分区模板中支持最多 7 个总标签或标签桶。
以下示例演示如何使用管理 API 创建具有自定义分区的数据库:
curl \
--location "https://console.influxdata.com/api/v0/accounts/ACCOUNT_ID/clusters/CLUSTER_ID/databases" \
--request POST \
--header "Accept: application/json" \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer MANAGEMENT_TOKEN" \
--data '{
"name": "'DATABASE_NAME'",
"maxTables": 500,
"maxColumnsPerTable": 250,
"retentionPeriod": 2592000000000,
"partitionTemplate": [
{
"type": "tag",
"value": "TAG_KEY_1"
},
{
"type": "tag",
"value": "TAG_KEY_2"
},
{
"type": "bucket",
"value": {
"tagName": "TAG_KEY_3",
"numberOfBuckets": 100
}
},
{
"type": "bucket",
"value": {
"tagName": "TAG_KEY_4",
"numberOfBuckets": 300
}
},
{
"type": "time",
"value": "%Y-%m-%d"
}
]
}'
在您的请求中替换以下内容:
ACCOUNT_ID: 创建数据库的 InfluxDB Cloud Dedicated 账户 的 IDCLUSTER_ID: 要为其创建数据库的 InfluxDB Cloud Dedicated cluster 的 IDMANAGEMENT TOKEN: 为您的 InfluxDB Cloud Dedicated 集群的 管理令牌DATABASE_NAME: 你的 InfluxDB Cloud 专用 数据库TAG_KEY_1,TAG_KEY_2,TAG_KEY_3, 和TAG_KEY_4: tag 键来自您的数据
数据库属性
保留期语法(管理 API)
使用 retentionPeriod 属性来指定
保留期
用于数据库。
保留期值是一个整数 (<int32>),表示以纳秒为单位的时间。
例如, 2592000000000 表示 30 天。
零 (0) 保留期是无限的,数据将不会过期。
保留期值不能为负数或包含空格。
示例保留期值
0: 无限/无259200000000000: 3天2592000000000000: 30天31536000000000000: 1 个标准年 (365 天)
自定义分区(管理 API)
InfluxDB Cloud Dedicated 让您为每个数据库定义自定义分区策略。 一个 分区 是在 InfluxDB 3 存储引擎中以 Apache Parquet 格式存储的数据的逻辑分组。默认情况下,数据按天进行分区, 但是,根据您的架构和工作负载,自定义分区策略可以提高查询性能。
使用 partitionTemplate 属性定义一个用于生成数据库分区键的分区模板部分数组。
获取更多信息,请参见 Manage data partitioning.
分区模板只能在创建时应用
在创建数据库时,您只能应用分区模板。 您不能更新现有数据库上的分区模板。
数据库命名限制
数据库名称必须遵循以下命名限制:
- 不能包含空格、标点符号或特殊字符。只有字母数字、下划线 (
_)、破折号 (-) 和斜杠 (/) 字符是允许的。 - 不应以下划线 (
_) 开头。 - 最大长度为64个字符。
InfluxQL DBRP 命名约定
在 InfluxDB 1.x 中,数据存储在 databases 和 retention policies 中。 在 InfluxDB Cloud Dedicated 中,数据库和保留策略已合并为 databases,其中数据库具有保留期限,但保留策略不再是数据模型的一部分。 因为 InfluxQL 使用 1.x 数据模型,所以必须将数据库映射到 v1 数据库和保留政策 (DBRP),才能通过 InfluxQL 进行查询。
当命名一个你想用InfluxQL查询的数据库时, 使用以下命名约定以自动将v1 DBRP组合映射到InfluxDB Cloud Dedicated数据库:
database_name/retention_policy_name
数据库命名示例
| v1 数据库名称 | v1 保留策略名称 | 新数据库名称 |
|---|---|---|
| 数据库 | 重复 | 数据库/重复 |
| telegraf | 自动生成 | telegraf/自动生成 |
| 网络指标 | 1万降采样 | 网络指标/1万降采样 |
表和列的限制
在 InfluxDB Cloud Dedicated 中,可以使用以下选项配置表(度量)和列的限制:
| 描述 | 默认值 | influxctl CLI标志 | 管理API属性 |
|---|---|---|---|
| 表限制 | 500 | --max-tables | maxTables |
| 列限制 | 250 | --max-columns | maxColumnsPerTable |
表限制
默认最大表数量: 500
每个测量在数据库中由一个表表示。 您数据库的表限制可以提高到超过默认限制500。 InfluxData 有 20,000 个以上活跃表的集群生产示例,跨多个数据库。
增加您的表限制会在以下方面影响您的 InfluxDB Cloud Dedicated 集群:
列限制
默认最大列数: 250
时间、字段和标签分别由表中的一列表示。增加您的列限制会以以下方式影响您的 InfluxDB Cloud Dedicated 集群: