• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wmhack
V2EX  ›  程序员

Clickhouse,你们是怎样防止重复插入数据的呢

  •  
  •   wmhack · Apr 10, 2021 · 4519 views
    This topic created in 1859 days ago, the information mentioned may be changed or developed.

    怎样防止一条 id 相同的数据重复插入进去呢

    或者能覆盖旧数据也行

    9 replies    2021-04-13 00:34:27 +08:00
    66Zi2nJk5Z6mdtzj
        1
    66Zi2nJk5Z6mdtzj  
       Apr 10, 2021 via iPhone
    唯一键
    wmhack
        2
    wmhack  
    OP
       Apr 10, 2021
    @yuanmomo 查了一下 clickhouse 手册,没有唯一键的语句额,方便说一下吗
    Evrins
        3
    Evrins  
       Apr 10, 2021 via iPhone
    Replacemergingtree
    66Zi2nJk5Z6mdtzj
        4
    66Zi2nJk5Z6mdtzj  
       Apr 11, 2021 via iPhone
    @wmhack 不好意思,我不知道 clickhouse 是 olap 的数据库,我当成了一个应用。

    看看看这里吧

    https://github.com/ClickHouse/ClickHouse/issues/3386
    Leviathann
        5
    Leviathann  
       Apr 11, 2021 via iPhone
    @wmhack replace merging tree 会把 order by 的键作为唯一键,异步把相同唯一键的数据合并
    xx19941215
        6
    xx19941215  
       Apr 11, 2021 via iPhone
    club house 一眼看成这个
    iluckypig
        7
    iluckypig  
       Apr 11, 2021
    ReplacingMergeTree,原理就是 merge 的时候会把 order by 键相同的数据覆盖掉,https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/replacingmergetree/
    RangerWolf
        8
    RangerWolf  
       Apr 12, 2021
    上面的 replace merge tree 我觉得都没法达到楼主想要的效果。两个很大的问题:
    1. 及时性,经常会出现重复数据。因为是异步更新( final 性能很低)
    2. 性能,merge 的性能极低
    wmhack
        9
    wmhack  
    OP
       Apr 13, 2021
    @RangerWolf 确实是的,我试了一下 replace merge,延迟更新确实挺难受的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5520 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 03:45 · PVG 11:45 · LAX 20:45 · JFK 23:45
    ♥ Do have faith in what you're doing.