Documentation

在 InfluxDB 云无服务器上原型设计您的应用程序

利用 InfluxDB Cloud Serverless 来原型化您的生产应用程序,然后将其迁移到 InfluxDB Cloud Dedicated。 了解 Cloud Serverless 和 Cloud Dedicated 之间的重要区别,以及在 Cloud Serverless 上构建应用程序原型的最佳实践。

InfluxDB 云无服务器与云专用的主要区别

用户界面差异

管理工具和用户界面在 InfluxDB Cloud Serverless 和 InfluxDB Cloud Dedicated 之间有所不同。 InfluxDB Cloud Serverless 旨在满足个人开发者、数据科学家和一般爱好者的需求,以及企业对企业(B2B)客户的需求。 Cloud Serverless 图形用户界面(GUI)提供了数据库管理的基本功能(添加/删除数据库、生成令牌等)、查询、可视化和仪表盘功能。

与云无服务器不同,云专用服务器没有图形用户界面。 云专用服务器客户使用一个管理命令行工具 (influxctl) 来管理数据库和令牌。 influxctl 实用程序 对于 InfluxDB 云无服务器不可用。 因为这些平台使用不同的管理工具,如果您使用云无服务器作为评估云专用服务器的平台,您将无法直接评估云专用服务器的管理功能。

术语差异

InfluxDB Cloud Serverless 是一次升级,它将 InfluxDB 3 存储引擎引入到 InfluxData 原有的 InfluxDB Cloud (TSM) 多租户解决方案中。InfluxDB Cloud 利用时间结构合并树 (TSM) 存储引擎,其中数据库被称为 buckets。Cloud Serverless 仍然使用这个术语。

InfluxDB Cloud Dedicated 一直以来只使用 InfluxDB 3 存储引擎。
Cloud Dedicated 中的资源名称与 SQL 数据库引擎的命名方式更为传统。
数据库被命名为“databases”,而“measurements”被结构化为表。
“Tables” 或 “measurements” 可以互换使用。

术语InfluxDB Cloud 无服务器InfluxDB Cloud 专用
数据库名称数据库
数据库集合子集的名称测量表或测量

这些只是术语上的差异,而不是功能上的差异,不应影响使用云无服务器进行评估、原型设计或分阶段测试。

InfluxQL 数据保留策略映射差异

InfluxDB 利用数据库和保留策略 (DBRP) 映射来支持为 InfluxDB 1.x /query 端点编写的 InfluxQL 查询。

在 InfluxDB Cloud Dedicated 中,DBRP 映射通过命名约定处理,无需客户为 InfluxQL 查询配置映射。

InfluxDB Cloud Serverless要求在客户使用v1 /query端点从桶中查询数据之前,必须为一个桶创建DBRP映射。InfluxDB Cloud Serverless可以自动创建一个桶及其相关的DBRP映射,或者客户可以使用CLI或API创建它们。

查询语言的差异

InfluxDB Cloud 无服务器和云专用版支持 SQL 和 InfluxQL。

语言InfluxDB Cloud 无服务器InfluxDB Cloud 专用
SQL原生支持原生支持
InfluxQL本地支持本地支持

v2 查询 API(使用 Flux 语言进行查询)可以在 InfluxDB Cloud Serverless 中访问,但不受支持。如果您计划将 InfluxDB Cloud Serverless 用作 InfluxDB Cloud Dedicated 的评估或阶段平台,请使用 SQL 或 InfluxQL。

API和客户端库的区别

因为 v2 查询 API 使用 Flux,客户在将 InfluxDB Cloud Serverless 作为 InfluxDB Cloud Dedicated 的评估、测试或原型平台进行查询时,应避免使用 v2 查询 API 及其相关工具。

对于写入数据,InfluxDB Cloud Dedicated 和 InfluxDB Cloud Serverless 都支持 v1 API 和 v2 写入 API。

此外,InfluxDB 3 客户端库可用于InfluxDB Cloud Serverless和InfluxDB Cloud Dedicated,并帮助避免两个平台之间的任何API差异。有关选择客户端库的更详细信息,请参阅在使用InfluxDB 3 开发时选择客户端库博客文章。

任务与警报的区别

InfluxDB Cloud Serverless 具有内置的任务和警报系统。 这些是基于 Flux 构建的,并且没有被转移到 InfluxDB Cloud Dedicated。 如果您将 InfluxDB Cloud Serverless 用作 InfluxDB Cloud Dedicated 的评估平台,请不要使用这些功能,因为它们在 InfluxDB Cloud Dedicated 上不可用。

使用 InfluxDB Cloud Dedicated,您可以构建自定义任务和警报解决方案,或者使用第三方工具,如 Grafana 或 Prefect——例如:

令牌管理和授权的区别

除了之前提到的令牌管理 UI 差异(Cloud Serverless 提供了一个 UI 和 API,而 InfluxDB Cloud Dedicated 使用 influxctl),还有令牌权限的粒度差异——InfluxDB Cloud Dedicated 具有更多的权限选项。

函数InfluxDB 云无服务器InfluxDB 云专用
API令牌生成内置UI或v2 APIinfluxctl命令行工具

性能差异

InfluxDB Cloud Serverless 是一种多租户解决方案,有多个因素可能会影响数据库性能,包括:

  • 速率限制: 对读取和写入的限制。
  • 嘈杂的邻居: 其他客户意外的高使用率可能会影响您的体验。
  • 通用优化: Cloud Serverless 被通用优化以适应最常见的工作负载。InfluxDB Cloud Dedicated 可以通过自定义分区等选项进行调整,以满足您的特定数据集和工作负载。
  • 特定标签查询: 由于通用优化,选择具有部分标签值的行的查询可能会比以前的版本明显更慢。 如果您使用的是用于评估目的的 InfluxDB Cloud Serverless,建议考虑投资 InfluxDB Cloud Dedicated 的概念验证(PoC),以获取对您预期性能的更准确的了解。

架构差异

InfluxDB Cloud Serverless 和 InfluxDB Cloud Dedicated 之间的架构支持几乎是相同的。 但是,InfluxDB Cloud Dedicated 提供了更多的灵活性,让您能够提高或超过数据库中表(测量)和列(时间、字段和标签)的数量限制。 请参见 保持在 InfluxDB Cloud Serverless 的架构限制内

组织管理差异

InfluxDB Cloud Serverless 有一个功能,可以让你在你的账户中创建子组织。InfluxDB Cloud Dedicated 没有这个功能。

此外,由于是多租户,Cloud Serverless 在某些交互中需要指定组织名称或ID。这在Cloud Dedicated中不是必需的。

最佳实践

在使用 InfluxDB Cloud Serverless 作为 InfluxDB Cloud Dedicated 的评估或原型平台时,请遵循以下推荐的最佳实践。

使用 v3 轻量级客户端库

使用 InfluxDB v3 轻量级客户端库 来帮助使您的代码在编写和查询时与 InfluxDB Cloud Serverless、Cloud Dedicated 和 Clustered 兼容。您只需更改您的 InfluxDB 连接凭据(主机、数据库名称和令牌)。

避免使用不包含在 InfluxDB Cloud Dedicated 中的功能

避免使用在Cloud Dedicated中不存在的InfluxDB Cloud Serverless功能的最简单方法是避免使用Cloud Serverless UI,除非在管理令牌和存储桶时。为了保持与Cloud Dedicated的兼容性,特别是避免使用以下InfluxDB Cloud Serverless功能:

  • v2 查询 API 和 Flux 语言
  • 管理API
  • 来自云无服务器UI的任务和警报(改为使用中提到的选项之一 任务和警报差异)。
  • InfluxDB 仪表板和可视化工具(使用第三方可视化工具)

使用 SQL 或 InfluxQL 作为您的查询语言

SQL 和 InfluxQL 针对 InfluxDB 3 进行了优化,都是 Cloud Dedicated 和 Cloud Serverless 中优秀的选项。避免使用 Flux,因为它无法与 InfluxDB Cloud Dedicated 一起使用。

保持在InfluxDB云服务器无服务器的架构限制内

如果您在InfluxDB Cloud Serverless的表(测量)和表中的列(时间、字段和标签)内保持在限制范围内,那么您在InfluxDB Cloud Dedicated中就不会遇到任何限制问题。Cloud Dedicated还提供了更多的灵活性,让您可以配置限制。

描述限制
表格(测量)500
列 (时间, 字段, 标签)200

保持测试数据和生产数据分开

如果您正在使用 InfluxDB Cloud Serverless 进行原型设计或评估,请使用测试数据,并且不要在平台上存储生产数据。这样有以下好处:

  • 使用测试数据风险更小。如果您对架构犯了错误,可以删除数据并重新开始。如果您使用的是依赖的生产数据并且只有一份副本,架构错误就更难恢复。
  • 您无需迁移数据。在您完成评估后,可以删除测试数据并开始使用Cloud Dedicated。

您可以在 InfluxDB Cloud Serverless 中使用实时或生产数据进行原型开发, 然后在完成评估后迁移到 Cloud Dedicated。 然而,目前这要求您编写代码来查询和提取数据, 将其转换为行协议格式,然后将其写入 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 企业版是建立在核心基础之上的商业版本,增加了历史查询能力、读取副本、高可用性、可扩展性和细粒度安全性。

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

InfluxDB 云端无服务器