- 深入理解InfluxDB:时序数据库详解与实践
- 郑强 张伟 刘爽
- 331字
- 2024-12-27 22:22:06
1.5.4 高性能
时序数据库的一个重要特性就是高性能,这是支撑其处理大量数据的重要因素,决定了数据库在高写入高存储时的表现。InfluxDB在这方面表现得很优秀,在同类别的时序数据库中,InfluxDB的查询性能测试都领先于其他数据库数倍;在内置函数测试方面,其性能也是其他数据库的数倍。
要做到如此高性能,首先需要解决高写入吞吐量带来的问题,InfluxDB一开始选择了LevelDB作为存储引擎。然而,面对越来越多的时间序列数据的需求,InfluxDB遇到了一些无法克服的挑战。诸如LevelDB不支持热备份,对数据库进行安全备份需要关闭后才能复制;删除过期数据代价过高,等等。
后来InfluxDB采用自研的TSM(Time-Structured Merge Tree)作为存储引擎,其设计的核心思想就是牺牲部分功能来达到极致的性能。得益于自研的TSM存储引擎,InfluxDB有着极强的写入能力,它允许高吞吐量,压缩和实时查询同一数据。