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 给您两者。