期待 InfluxDB 的到来:指南

导航至

好吧,您做到了。您决定尝试 InfluxDB。虽然广阔而多样的可能性在等待着您,但您可能有更短期的担忧。即:现在怎么办?

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

我们的目标是为您提供最佳实践和明确的期望。对于我们这些喜欢在开始组装宜家家具之前阅读说明书的人来说,这将很有意义。如果您是那种拿着一串六角扳手,对说明书嗤之以鼻的人,那么这个项目您可能需要采取更谨慎的方法。

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

开始之前

最重要的事情之一是确定为您的工作负载选择正确的产品。InfluxDB 提供一系列选项,以适应任何规模的工作负载。虽然以下提示适用于所有用户,但对于那些具有大型工作负载的用户来说至关重要,这就是为什么我们专注于 InfluxDB Cloud Dedicated 和 InfluxDB Clustered。

模式设计

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

  • 列数:目前,InfluxDB 3.x 度量最多支持 250 列。其中一列保留用于时间戳,为您提供 249 列用于标签和字段。这已经很多列了!(如果您需要复习 InfluxDB 的 Line Protocol 数据模型,请访问此处。)如果您需要超过 249 列,您可能需要在开始写入大量数据之前考虑缩小您的模式。
    • 例如,与其将来自一个工厂的所有数据放入单个度量中,不如为工厂中的每台机器创建一个度量,然后将这些度量汇总到单个仪表板。这样,您可以在每个设备上收集更高分辨率的数据,而不会耗尽整个工厂的列。

A screenshot of a computer
Description automatically generated

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

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

分区

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

分区数据的最佳方式将取决于您的数据以及您想要对其运行的查询类型。回到我们的温度示例,如果您要收集来自全国各地的数据,您可能希望按城市、州、地区、天或月对数据进行分区。只需确保您不要创建太多分区,因为这也会影响查询时间。与任何与数据库相关的事情一样,您需要找到平衡点,并在查询响应时间和存储之间权衡利弊。

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

开始之后

对于拥有支持协议的用户,例如使用 InfluxDB Cloud Dedicated 和 InfluxDB Clustered 的用户,一旦您准备好开始,InfluxDB 支持团队将直接与您的组织联系,以确保您的所有许可证都井然有序,并且在 Dedicated 的情况下,配置您的集群。此时,我们的团队还将确保我们知道您组织中应该有谁拥有访问权限,并正确设置他们。我们还将与我们的一位支持工程师安排一次通话,以开始入职流程。在最初的通话中,我们可以帮助您进行任何模式或分区检查。

在最初的入职之后,我们将主动安排系统健康状况检查。我们每季度进行一次这些检查。健康状况检查是我们分析和了解您的生产环境,并确保我们了解您的组织如何定义成功的机会,以便我们可以帮助您实现成功。这可能包括围绕利用率和潜在增长机会、查询和查询优化、中断、调整大小、任何其他可能有助于您的用例的最佳实践的讨论,以及对您的组织自上次检查以来提交的任何问题或支持票证的回顾。

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

最后想法

存在大量资源可以帮助您充分利用 InfluxDB。对于那些拥有支持合同的人来说,了解您可以从该协议中期望什么是有帮助的。对于某些组织来说,支持可能是一个很大的不同。通过定期的系统健康状况检查,我们的支持团队会努力工作,以便您拥有实现目标所需的一切。

在此处了解有关 InfluxDB 3.x 的更多信息:此处