【问题标题】:Shallow copy of data structure with copy on write on Clickhouse数据结构的浅拷贝,在 Clickhouse 上写入时拷贝
【发布时间】:2021-03-07 02:15:28
【问题描述】:

问题是这样的 - 有一个记录如下的表:

time, value
2020-04-01T10:00:00, 23
2020-04-01T10:00:01, 22
2020-04-01T10:00:02, 24

在 Clickhouse 数据库中。

然后使用此数据的某些部分调用脚本,例如记录范围从2020-05-01T10:00:0020-06-01T10:00:00

这种时间感知数据可能会随着时间而改变,但需要知道调用的原始数据脚本。这可以通过复制调用脚本的所有数据并将其存储在其他地方来解决,但这不会节省内存。

那么,有没有什么东西可以在“Clickhouse 视图”之类的东西中“参考镜像”而不完全复制它?只有原始表中更改的数据才能以原始形式完整复制。因此,在此之后,当我引用该镜像视图时,我得到了调用脚本的原始数据。 Clickhouse有可能吗?您将如何处理?

【问题讨论】:

    标签: database clickhouse


    【解决方案1】:

    只有原表中更改的数据应该被完全复制

    没有办法做到这一点。 CH 设计不允许即时发现具有相同键的行已经存在。

    你会如何处理这个问题?

    我会将所有历史记录存储在一个表中,最后一个状态存储在另一个表中。

    【讨论】:

    • 您的意思是将所有历史时间值数据存储在一个表中并将调用脚本的数据复制到另一个表中吗?理想的情况是,如果我可以在写入时以某种方式复制它们,当它们在原始数据表上更新时,我可以复制最少的数据量,是否可以像在数据库级别那样挂钩?没有主键 ofc。
    • 是的,你可以使用物化视图来做到这一点den-crane.github.io/…youtu.be/…youtu.be/j15dvPGzhyEyoutu.be/THDk625DGsQ
    猜你喜欢
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    相关资源
    最近更新 更多