文档文档

InfluxDB 设计原则

InfluxDB 实现了时间序列数据的最佳设计原则。其中一些设计原则可能在性能方面有所权衡。

按时间排序的数据

为了提高性能,数据以时间升序写入。

严格的更新和删除权限

为了提高查询和写入性能,InfluxDB 严格限制了 更新删除 权限。时间序列数据主要是从不更新的新数据。删除通常只影响未写入的数据,并且永远不会发生有争议的更新。

优先处理读取和写入查询

InfluxDB 优先考虑读取和写入请求,而不是强一致性。执行查询时,InfluxDB 会返回结果。影响查询数据的任何事务都会在后续处理,以确保数据最终一致。因此,如果摄取率很高(每毫秒多次写入),则查询结果可能不包含最新数据。

无模式设计

InfluxDB 使用无模式设计来更好地管理不连续数据。时间序列数据通常是短暂的,这意味着数据出现几个小时然后消失。例如,启动并报告一段时间然后关闭的新主机。

数据集优于单个数据点

由于数据集比单个数据点更重要,因此 InfluxDB 实现了强大的工具来聚合数据和处理大型数据集。数据点通过时间戳和序列区分,因此在传统意义上没有 ID。

重复数据

为了简化冲突解决并提高写入性能,InfluxDB 假定多次发送的数据是重复数据。相同的数据点不会存储两次。如果为某个数据点提交了新的字段值,则 InfluxDB 会使用最新的字段值更新该数据点。在极少数情况下,数据可能会被覆盖。了解有关重复数据点的更多信息。


此页内容对您有帮助吗?

感谢您的反馈!


Flux 的未来

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

阅读更多

现已全面上市

InfluxDB 3 Core 和 Enterprise

快速启动。更快扩展。

获取更新

InfluxDB 3 Core 是一个开源、高速的最新数据引擎,可实时收集和处理数据,并将其持久保存到本地磁盘或对象存储。InfluxDB 3 Enterprise 以 Core 的基础为基础,增加了高可用性、读取副本、增强的安全性以及数据压缩,从而实现更快的查询和优化的存储。InfluxDB 3 Enterprise 的免费层可供非商业家庭或业余爱好者使用。

有关更多信息,请查看