PostgreSQL 上的时间序列数据

13

MongodDB 5.0 支持时间序列,https://docs.mongodb.com/manual/core/timeseries-collections/

我想知道 PostgreSQL 对时间序列的支持情况。

我发现了 TimescaleDB,https://github.com/timescale/timescaledb,这是一个针对 PostgreSQL 的开源扩展。

同时也有来自 AWS 的详细的 PostgreSQL 使用示例,https://aws.amazon.com/blogs/database/designing-high-performance-time-series-data-tables-on-amazon-rds-for-postgresql/

请就此选项发表评论或提供其他选项。也许还有其他 SQL 数据库进行了本地化的时间序列支持。

1个回答

19
Postgres在时序数据存储方面有很好的支持-数组。我记得20年前我就用它来处理这个目的了。你可以使用unnest函数将这些数据转换为表格。这些数组使用透明压缩。
TimescaleDB在大规模分区和一些扩展优化器和计划程序方面内部使用它-因此对于用户来说,使用数组是透明的。 TimescaleDB是一个非常好的产品,智能的解决方案,并且非常好地扩展了Postgres的功能。 Postgres仅支持通用压缩,但Timescale支持专门为时序数据设计的压缩技术-这更加有效。它确实是一个非常好的产品。
与一般数据的处理相比,时序数据的处理通常要简单得多。时序数据(和查询)具有清晰的特征,并且这些数据仅追加。编写时间序列数据库并不太困难。有很多类似的产品。 Timescale的好处在于它是Postgres的扩展。因此,如果您知道Postgres,您就知道timescaledb。而且与其他时序数据库不同,它是基于SQL的-因此,如果您知道SQL,则无需学习新的特殊语言。
注意-许多SQL数据库支持时间数据,但它与时序数据不同。

对于数组,您是指这些吗 https://www.postgresql.org/docs/current/arrays.html? 我一直通过ORM使用PostgreSQL,所以不太熟悉特殊功能。 - Paul Verest
@PaulVerest - 是的,这是非常有效的类型类别 - 你可以存储向量或矩阵,或复合类型的向量。 - Pavel Stehule

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接