InfluxDB 设计原则
InfluxDB 实现了时间序列数据的最佳设计原则。其中一些设计原则可能在性能方面有所权衡。
按时间排序的数据
为了提高性能,数据以时间升序写入。
严格的更新和删除权限
为了提高查询和写入性能,InfluxDB 严格限制了 更新 和 删除 权限。时间序列数据主要是从不更新的新数据。删除通常只影响未写入的数据,并且永远不会发生有争议的更新。
优先处理读取和写入查询
InfluxDB 优先考虑读取和写入请求,而不是强一致性。执行查询时,InfluxDB 会返回结果。影响查询数据的任何事务都会在后续处理,以确保数据最终一致。因此,如果摄取率很高(每毫秒多次写入),则查询结果可能不包含最新数据。
无模式设计
InfluxDB 使用无模式设计来更好地管理不连续数据。时间序列数据通常是短暂的,这意味着数据出现几个小时然后消失。例如,启动并报告一段时间然后关闭的新主机。
数据集优于单个数据点
由于数据集比单个数据点更重要,因此 InfluxDB 实现了强大的工具来聚合数据和处理大型数据集。数据点通过时间戳和序列区分,因此在传统意义上没有 ID。
重复数据
为了简化冲突解决并提高写入性能,InfluxDB 假定多次发送的数据是重复数据。相同的数据点不会存储两次。如果为某个数据点提交了新的字段值,则 InfluxDB 会使用最新的字段值更新该数据点。在极少数情况下,数据可能会被覆盖。了解有关重复数据点的更多信息。
此页内容对您有帮助吗?
感谢您的反馈!
支持和反馈
感谢您成为我们社区的一份子!我们欢迎并鼓励您提供有关 InfluxDB 和本文档的反馈和错误报告。要寻求支持,请使用以下资源
拥有年度合同或支持合同的客户 可以联系 InfluxData 支持。