InfluxDB 中冷存储的优势
作者:Jason Myers / 产品
2023 年 10 月 18 日
导航至
想象一下,如果您有数百个设备需要监控。所有这些设备都以亚秒级间隔生成数据,并且您需要所有这些高保真数据用于历史分析,以供机器学习模型使用。存储所有这些数据可能会变得非常昂贵,非常快。当这种情况发生时,您必须决定哪个更重要:保留所有数据还是牺牲洞察力和分析。对于许多读者来说,这可能并不难想象。
多层存储
InfluxDB 3.0 中关键的架构变更之一是存储和计算的分离。在存储层中,事物进一步分为热存储和冷存储。热存储层位于内存中,是新鲜数据首先到达的地方。频繁查询的数据也位于热存储层中。这是使 InfluxDB 3.0 能够提供传入数据实时分析的关键要素之一。
当然,对于几乎所有用户来说,将大量时间序列数据保存在内存中成本过高。一旦数据从热层老化,就需要去某个地方。正是在那时,数据进入冷存储层。
数据压缩
InfluxDB 做了几件事来优化冷存储层。第一件事是尽可能压缩数据。在 InfluxDB 中,压缩发生在两个不同的位置。一个是数据库本身,它使用 Apache Arrow 和列式布局来提高压缩率。另一个是 Apache Parquet 文件格式,它可以获取 Arrow 数据并进一步压缩它。有关此方面的更多详细信息,请查看这篇博客。
对象存储
所有这些高度压缩的数据都需要一个最终的存放地点,InfluxDB 为此目的使用了低成本的云对象存储(例如,Amazon S3)。对象存储比 SSD 和内存选项便宜得多。因此,将压缩数据保存在对象存储上可以在某些情况下产生高达 90% 以上的巨大成本节省。这也意味着您可以用更低的成本存储更多数据,因此您不再需要在保存所有数据和进行全面的数据分析之间做出选择。InfluxDB 为您提供两者。