请教:如何将数据库内的统计后写入 clickhouse 之类的数据库?

2021-06-01 13:35:44 +08:00
 lihaotian

现在自己想的结局办法有以下几个:

1: 使用 Maxwell 或 Canal,然后由另一个程序计算出之后写入 clickhouse
2: 在程序中埋点,然后再写入 rmq 或者 kafaka,再由另一个程序计算写入 clickhouse

但是现在用的数据库是 pgsql,所以 1 用不了,
如果用 pgsql 自带的 Listen/Notify 性能怎么样? 或者有其他什么好的解决方案?

在程序中埋点太累了,基本不考虑;😂

996 次点击
所在节点    问与答
5 条回复
troywinter
2021-06-01 20:54:42 +08:00
clickhouse 应该是直接支持消费 kafka 的,对于数据同步的问题,你需要 CDC(change data capture),可以用 pg 的逻辑复制 ,debezium 做的比较好,也是现在比较流行的方案。
lihaotian
2021-06-01 21:18:24 +08:00
@troywinter 从 pg -> debezium ->kafka->clickhouse

中间是不是有一个数据处理的过程?
undeflife
2021-06-01 23:07:09 +08:00
@lihaotian 如果你直接往 kafka 里写 json string 的话 可以不用。
当然也可以用 schema registry 。clickhouse 对这个支持还算不错 (不用 union 以外的嵌套类型)。
labulaka521
2021-06-02 09:55:29 +08:00
我们目前是有一个程序定时去拉取 mysql 的数据 然后写入 clickhouse 基本都有一两分钟的延迟 愁死了
lihaotian
2021-06-03 07:53:47 +08:00
@labulaka521 为什么不用 Maxwell 或者 Canal?

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

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

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

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

© 2021 V2EX