Documentation

更新数据库

使用influxctl CLI管理HTTP API来更新InfluxDB Cloud Dedicated集群中数据库的属性,例如保留期限、列限制和表限制。

使用influxctl database update命令来更新您在InfluxDB Cloud Dedicated集群中的数据库。

  1. 如果您还没有,下载并安装 influxctl CLI

  2. 在你的终端中,运行 influxctl database update 命令并提供以下内容:

influxctl database update \
  --retention-period 
30d
\
--max-tables
500
\
--max-columns 250 \
DATABASE_NAME

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

  • DATABASE_NAME: 你的 InfluxDB Cloud 专用 数据库

数据库名称无法更新

命令 influxctl database update 使用数据库名称来识别需要更新的数据库。数据库名称本身无法更新。

数据库属性

保留期限语法(influxctl CLI)

使用 --retention-period 标志来定义 保留期限 对于数据库。 保留期限值是由一个数值 加一个时间单位组成的时间持续值。 例如, 30d 表示30天。 零持续时间(例如, 0s0d)的保留期限是无限的,数据不会过期。 保留期限值不能是负数或包含空格。

有效的持续时间单位包括

  • m: 分钟
  • h: 小时
  • d: 天
  • w: 周
  • mo: 月份
  • y: 年

示例保留期值

  • 0d: 无限/无
  • 3d: 3天
  • 6w: 6 周
  • 1mo: 1个月(30天)
  • 1y: 1 年
  • 30d30d: 60天
  • 2.5d: 60小时
  1. 在您的终端中,使用 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

    指定 PATCH 请求方法。

以下示例展示了如何使用管理API来更新数据库:

curl \
  --location "https://console.influxdata.com/api/v0/accounts/
ACCOUNT_ID
/clusters/
CLUSTER_ID
/databases/
DATABASE_NAME
"
\
--request PATCH \ --header "Accept: application/json" \ --header 'Content-Type: application/json' \ --header "Authorization: Bearer
MANAGEMENT_TOKEN
"
\
--data '{ "maxTables":
500
,
"maxColumnsPerTable":
250
,
"retentionPeriod":
2592000000000000
}'

在您的请求中替换以下内容:

  • ACCOUNT_ID: 创建数据库的 InfluxDB Cloud Dedicated 账户 的 ID
  • CLUSTER_ID: 要为其创建数据库的 InfluxDB Cloud Dedicated cluster 的 ID
  • MANAGEMENT TOKEN: 为您的 InfluxDB Cloud Dedicated 集群的 管理令牌
  • DATABASE_NAME: 你的 InfluxDB Cloud 专用 数据库

数据库属性

保留期语法(管理 API)

使用 retentionPeriod 属性来指定 保留期 用于数据库。 保留期值是一个整数 (),表示以纳秒为单位的时间。 例如, 2592000000000 表示 30 天。 零 (0) 保留期是无限的,数据将不会过期。 保留期值不能为负数或包含空格。

示例保留期值

  • 0: 无限/无
  • 259200000000000: 3天
  • 2592000000000000: 30天
  • 31536000000000000: 1 个标准年 (365 天)

数据库名称无法更新

管理 API PATCH /api/v0/database 端点和 influxctl database update 命令使用数据库名称来识别要应用更新的数据库。数据库名称本身无法更新。

分区模板无法更新

在创建数据库时,您只能应用分区模板。 您不能更新现有数据库上的分区模板。

数据库命名限制

数据库名称必须遵循以下命名限制:

  • 不能包含空格、标点符号或特殊字符。只有字母数字、下划线 (_)、破折号 (-) 和斜杠 (/) 字符是允许的。
  • 不应以下划线 (_) 开头。
  • 最大长度为64个字符。

InfluxQL DBRP 命名约定

在 InfluxDB 1.x 中,数据存储在 databasesretention policies 中。 在 InfluxDB Cloud Dedicated 中,数据库和保留策略已合并为 databases,其中数据库具有保留期限,但保留策略不再是数据模型的一部分。 因为 InfluxQL 使用 1.x 数据模型,所以必须将数据库映射到 v1 数据库和保留政策 (DBRP),才能通过 InfluxQL 进行查询。

当命名您想要使用 InfluxQL 查询的数据库时,请使用以下命名约定以自动将 v1 DBRP 组合映射到数据库:

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 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

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