当您期待 InfluxDB:指南

导航至

嗯,你已经做到了。你决定加入 InfluxDB 的行列。虽然面前有广阔和多样的可能性,但你可能会有更多的短期关注点。具体来说:接下来怎么办?

每个人的开始方式都不同,因为每个用户都在做完全不同的事情。这篇文章主要针对 InfluxDB Cloud DedicatedInfluxDB Clustered 用户(或包含支持协议的任何其他产品。如果您对此有任何疑问,可以与我们的销售人员进行交谈)。

我们的目标是让您从一开始就掌握最佳实践和明确的预期。对于那些喜欢在开始组装 IKEA 家具之前先阅读说明的人来说,这很有意义。如果你是那种拿起一套六角扳手和讨厌说明的人,那么这个项目可能需要更加谨慎地处理。

这里的目的是减少(或消除!)使用 InfluxDB 时头痛或问题。

开始之前

要确定的最重要的事情之一是确保您获得适合您工作负载的正确产品。InfluxDB 提供了一系列选项,可以适应任何规模的工作负载。虽然以下提示对所有用户都适用,但对于那些工作负载较大的用户来说至关重要,这就是我们专注于 InfluxDB Cloud Dedicated 和 InfluxDB Clustered 的原因。

模式设计

是的,InfluxDB 是一种写入时模式数据库,这对于形状变化的工作负载非常有用。然而,InfluxDB 也允许用户设计其模式。能够将数据映射到标签或字段可以优化您的数据收集和分析。在您 设计您的模式 时,以下是一些需要注意的事项。

  • 列数:目前,InfluxDB 3.x 测量支持最多 250 列。其中一列用于时间戳,为您留下了 249 列用于标签和字段。这有很多列!(如果您需要重温 InfluxDB 的行协议数据模型,请参阅 此处。)如果您需要超过 249 列,您可能需要在开始写入大量数据之前缩小您的模式。
    • 例如,不是将一个工厂的所有数据放入一个测量值中,也许为工厂中的每台机器创建一个测量值,然后将这些值汇总到一个仪表板中。这样,你可以在不耗尽整个工厂的列的情况下,收集到每个设备的更高分辨率的 数据。

A screenshot of a computer
Description automatically generated

在左侧面板中,多个机器将数据发送到同一个测量值,增加了所需的行数。在右侧面板中,每台机器都有自己的测量值。

  • 数据类型:请确保您知道您的设备(们)产生什么类型的数据。InfluxDB行协议的不同组件接受不同的数据类型。例如,标签键和值以及字段键必须是未引用的字符串,而字段值可以是引用的字符串、浮点数、整数、无符号整数和布尔值。
  • 标签:标签是使您的数据上下文化的元数据。标签不是必需的,但我们强烈建议使用它们。例如,如果您在多个工厂位置有机器人臂,您可以使用标签来指定哪个机器人位于哪个设施。
  • 字段:如上所述,您在字段数据类型方面有很大的灵活性。但说到底,您需要小心避免字段类型冲突。这些冲突发生在您将字段映射到数据类型但尝试向同一字段添加不同类型时。InfluxDB是schema-on-write,任何未指定的数值默认解析为浮点数。一些客户端库可能会从它们自己的类型系统中继承数据类型并将它们分配给字段。然而,您可以在原始行协议或通过您选择的客户端库中显式指定文件类型。
    • 如果您想将数值值作为整数写入,您必须将“i”后缀包含在值中。因此,value=“96.0”变为value=“96i。”如果您需要更改字段数据类型,您可以使用Telegraf转换处理器插件 来转换数据类型。(请务必阅读文档以确保插件符合您的使用案例。)
  • 专业服务:有支持合同的客户还可以利用InfluxDB的专业服务团队来获得有关方案设计和最佳实践的帮助。记住,在开始写入数据之前利用这个服务会更好,这样可以避免后续的额外工作。请联系您的账户经理了解更多有关此选项的信息。

分区

当您查询数据时,数据库需要筛选多少数据以找到您需要的内容会影响查询响应时间。查询需要处理的数据越多,花费的时间就越长。默认情况下,InfluxDB 3.x按日分区数据,并将数据持久化为Apache Parquet文件。分区数据将数据拆分为更小的逻辑组,这样查询可以针对较小的数据集进行,并更快地返回结果。

分区您数据的方法将取决于您的数据和您想对它运行的查询类型。以我们的温度示例为例,如果您从全国收集数据,您可能希望按城市、州、地区、日或月对数据进行分区。只是确保您不要创建过多的分区,因为这也会影响查询时间。与数据库相关的任何事物一样,您需要找到平衡,权衡查询响应时间和存储之间的权衡。

查看我们文档中的分区最佳实践,获取更多信息。分区最佳实践

启动后

对于有支持协议的用户,例如使用InfluxDB云托管和集群版用户,一旦您准备好开始,InfluxDB支持团队将直接与您的组织联系,以确保所有许可证都正常,对于云托管版本,将为您配置集群。此时,我们的团队也将确保我们了解您的组织中有哪些人应该有权访问,并为他们正确设置。我们还将安排一位支持工程师与您通话,开始上线流程。在这次初始通话中,我们可以帮助您进行任何当时的模式或分区检查。

在初始上线后,我们将主动安排系统健康检查。我们每季度进行一次此类检查。健康检查是我们分析和理解您的生产环境的机会,并确保我们了解您的组织如何定义成功,以便我们能帮助您实现它。这可能包括关于利用率和潜在增长机会的讨论、查询和查询优化、故障、扩容、可能帮助您的用例的其他最佳实践,以及回顾自上次检查以来您组织提交的任何问题或支持工单。

在您的检查结束时,我们将安排下一次检查,以便我们保持持续的沟通渠道,并确保您始终有一个平台来提出问题或问题。

最后思考

有很多资源可以帮助您充分利用InfluxDB。对于那些有支持合同的人来说,了解您可以从该协议中期待什么是有帮助的。支持对于某些组织来说可能是一个很大的区别。通过定期进行系统健康检查,我们的支持团队努力确保您拥有实现目标所需的一切。

在这里了解更多关于InfluxDB 3.x的信息