什么是时序数据库?

What is time-series database?

什么是时间序列数据库,例如InfluxDB? When/where 我应该使用它吗? 请给我它的业务场景示例。

勾选 wiki:

A time series database (TSDB) is a software system that is optimized for handling time series data, arrays of numbers indexed by time (a datetime or a datetime range). In some fields these time series are called profiles, curves, or traces. A time series of stock prices might be called a price curve. A time series of energy consumption might be called a load profile. A log of temperature values over time might be called a temperature trace.

还有InfluxDB has the documentation about it and Thoughts on Time-series Databases.

时间序列数据通常用于需要快速收集数据的场景,例如需要监控设备压力水平的发电厂,以便我们可以为其安排预防性维护。

类似地,您可以想到当您观察股票市场时,数据以更快的速度出现,您需要追踪数据和相关时间。

不同厂商对时序数据库有自己的定义。这里有一些有趣的读物:

InfluxDB

TimescaleDB

MemSQL

GridDB

简而言之,如果数据库针对存储时间序列数据进行了优化,那么您正在查看 TSDB。这种类型的数据库通常具有快速的摄取速度、许多时间序列特定的功能(例如 ts 聚合、ts 压缩、数据保留策略等)、扩展和存储大量数据的能力等。