未排序数据系列的TimescaleDB

未排序数据系列的TimescaleDB,timescaledb,Timescaledb,TimescaleDB非常适合数据系列 在我的例子中,我使用的是数据系列,但我的数据没有经过排序 与排序后的数据相比,TimescaleDB的工作方式是否相同?TimescaleDB是解决您的问题的好方法。它不会对以排序方式出现的数据施加约束。时间尺度在您选择的维度上对数据进行分区,时间是单调维度中最常见的例子(但可以使用任何整数类型对数据进行分区)。指定分区大小(块大小),TimescaleDB会为每个间隔自动创建新分区。只要您的数据在几个块的间隔范围内,那么数据库就可以处理内存中的这些块,从

TimescaleDB非常适合数据系列

在我的例子中,我使用的是数据系列,但我的数据没有经过排序


与排序后的数据相比,TimescaleDB的工作方式是否相同?

TimescaleDB是解决您的问题的好方法。它不会对以排序方式出现的数据施加约束。时间尺度在您选择的维度上对数据进行分区,时间是单调维度中最常见的例子(但可以使用任何整数类型对数据进行分区)。指定分区大小(块大小),TimescaleDB会为每个间隔自动创建新分区。只要您的数据在几个块的间隔范围内,那么数据库就可以处理内存中的这些块,从而加快接收速度。数据是否经过绝对排序并不重要。因为TimescaleDB是基于PostgreSQL构建的,所以它没有一个仅附加的存储模型,这使得它甚至可以修改旧数据,甚至可以在不牺牲性能的情况下进行回填

使用TimescaleDB的另一个好处是:

  • 本机压缩,可将存储需求减少20倍或30倍(更多取决于您的数据布局)
  • 数据分层:在较慢的存储上附加表空间,并自动将旧块移动到较慢的存储上
  • 连续聚集:定义自动刷新的物化视图
  • 基于您选择的分区,基于您的查询谓词高效地删除不需要扫描的块的优化

我可以给您一个更详细的答案,但首先要问一个问题:您的数据是否未排序,但仍然以单调的方式在时间上向前移动,例如,您在最近2-3天的当前时间以随机顺序插入数据,有时插入/更新上周的数据,在这之前很少插入数据?嗨@BlagojAtanasovski。我正在事实表(DW)中加载数据(事实)。我们的日期有两列日期(事实日期和上次更新日期)。我们使用上次更新日期获取今天发生的所有插入/更新的事实()。但列fact_date是用作键/索引的。因此,每天我们可能会有数百个来自不同日期(周、月、年)的事实。我回答了你的问题吗?但是在压缩时要小心:如果你现在不能将数据插入压缩块,并且当压缩打开时,你不能(轻松地)更改表(例如添加列,…)是的,压缩块不能被修改,你必须在插入/更新压缩块之前手动解压缩它们。但是,您可以指定一个压缩策略,该策略将仅对早于某个时间间隔的数据运行压缩