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

2021-04-10 22:56:24 +08:00
 wmhack

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

或者能覆盖旧数据也行

3710 次点击
所在节点    程序员
9 条回复
yuanmomo
2021-04-10 23:00:37 +08:00
唯一键
wmhack
2021-04-10 23:06:12 +08:00
@yuanmomo 查了一下 clickhouse 手册,没有唯一键的语句额,方便说一下吗
Evrins
2021-04-10 23:06:39 +08:00
Replacemergingtree
yuanmomo
2021-04-11 00:09:56 +08:00
@wmhack 不好意思,我不知道 clickhouse 是 olap 的数据库,我当成了一个应用。

看看看这里吧

https://github.com/ClickHouse/ClickHouse/issues/3386
Leviathann
2021-04-11 00:58:14 +08:00
@wmhack replace merging tree 会把 order by 的键作为唯一键,异步把相同唯一键的数据合并
xx19941215
2021-04-11 14:39:19 +08:00
club house 一眼看成这个
iluckypig
2021-04-11 20:05:58 +08:00
ReplacingMergeTree,原理就是 merge 的时候会把 order by 键相同的数据覆盖掉,https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/replacingmergetree/
RangerWolf
2021-04-12 10:28:55 +08:00
上面的 replace merge tree 我觉得都没法达到楼主想要的效果。两个很大的问题:
1. 及时性,经常会出现重复数据。因为是异步更新( final 性能很低)
2. 性能,merge 的性能极低
wmhack
2021-04-13 00:34:27 +08:00
@RangerWolf 确实是的,我试了一下 replace merge,延迟更新确实挺难受的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/769796

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX