【问题标题】:Hypertable time-based partitions with denormalized date column具有非规范化日期列的基于时间的超表分区
【发布时间】:2019-11-26 07:36:28
【问题描述】:

典型的数据仓库数据库模式通常遵循带有非规范化日期和时间列的star schema。这意味着事实表(使用 timescaledb 时应该是超表)没有包含时间戳的列,而是具有数据和时间表的外键。

有没有办法让 timescaledb 意识到这一点并正确地对事实表进行分区?或者时间戳列是超表的硬性要求?

谢谢

【问题讨论】:

    标签: timescaledb


    【解决方案1】:

    Timescale 需要提供一个时间列来进行分区。它不需要是时间戳,但可以是例如整数值。见the doc

    如果使用int 代替时间,重要的是它以与时间相同的方式增加。请注意,在这种情况下,必须提供chunk_time_interval

    也可以提供time_partitioning_func,它将引用转换为时间兼容的值。

    查看create_hypertable的描述

    【讨论】:

    • 虽然您可以按照这些思路进行操作,但我可能会建议您使用函数来提取包含在该日期字段示例中的信息,它们是内置的,并且可能会更有效。另一件事是使用日期作为该表的 id,在这种情况下,如果您真的愿意,您仍然可以拥有一个单独的表,但我认为在大多数情况下它可能是一种反模式。
    猜你喜欢
    • 2019-01-06
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多