Documentation

创建数据库

使用influxctl CLI管理HTTP API在您的InfluxDB Cloud Dedicated集群中创建数据库。

使用influxctl database create命令在您的InfluxDB Cloud Dedicated集群中创建数据库。

  1. 如果您还没有,下载并安装 influxctl CLI,然后为您的集群 influxctl 配置连接配置文件

  2. 在你的终端中,运行 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

在您的命令中替换以下内容:

  • DATABASE_NAME: 你的 InfluxDB Cloud 专用 数据库
  • TAG_KEY_1, TAG_KEY_2, TAG_KEY_3, 和 TAG_KEY_4: tag 键来自您的数据

数据库属性

保留期限语法(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 客户端。

  1. 如果您还没有,请按照说明 安装 cURL 到您的系统。

  2. 在您的终端中,使用 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 账户 的 ID
  • CLUSTER_ID: 要为其创建数据库的 InfluxDB Cloud Dedicated cluster 的 ID
  • MANAGEMENT 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 中,数据存储在 databasesretention 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-tablesmaxTables
列限制250--max-columnsmaxColumnsPerTable

表限制

默认最大表数量: 500

每个测量在数据库中由一个表表示。 您数据库的表限制可以提高到超过默认限制500。 InfluxData 有 20,000 个以上活跃表的集群生产示例,跨多个数据库。

增加您的表限制会在以下方面影响您的 InfluxDB Cloud Dedicated 集群:

可能改善查询性能 查看更多信息

更多的PUT到对象存储 查看更多信息

压实机的更多工作 查看更多信息

列限制

默认最大列数: 250

时间、字段和标签分别由表中的一列表示。增加您的列限制会以以下方式影响您的 InfluxDB Cloud Dedicated 集群:

可能会对查询性能产生不利影响



Flux的未来

Flux 正在进入维护模式。您可以像现在一样继续使用它,而无需对您的代码进行任何更改。

阅读更多

InfluxDB 3 开源版本现已公开Alpha测试

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

我们将发布两个产品作为测试版的一部分。

InfluxDB 3 核心,是我们新的开源产品。 它是一个用于时间序列和事件数据的实时数据引擎。 InfluxDB 3 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

有关如何开始的更多信息,请查看: