一、Clickhouse x PostgreSQL 简介
clickhouse支持PG表引擎,可以双向读写PG表。这个特性可以弥补clickhouse对数据管理方面的不足,例如数据的删除、事务、整表查询等,但正好PG擅长这些。因此在一个项目里使用这个两种数据库,是一个比较好的选择。利用clickhouse做数据处理(这部分刚好PG比较弱一些),利用PG进行用户信息、基础数据等的管理。
二、同步PG里的可变更数据
在实际业务中,经常会有一些不太大且会变更的表,例如用户信息表、地理信息表、组织架构表等。其变更不太频繁,但会时不时变更一些。这些数据的管理如果用clickhouse会很不方便,尤其是例如删除等,只有在触发merge的时候才会生效,可能会让用户困惑。这些数据还是放在传统的行数据库里较好。
在流量日志里,一个实际的例子,就是有一个表要用来查询不同网站之间的联系,有个对应关系表。而这个表是经常变化的,但数据量也比较小。因此就使用了Clickhouse x PostgreSQL 的方式,让Clickhouse 读取 PostgreSQL 里的数据。
其步骤是:
- 一个PG表,用来管理这个关联数据,网页API也直接操作这个表;
- clickhouse表:使用PG引擎,用来同步数据。
- 直接读取clickhouse表,来查询PG表。
三、实践步骤
- 首先有一个PG表,用来管理这个关联数据,网页API也直接操作这个表;
CREATE TABLE public."link" ( id serial4 NOT NULL, "domain" text NULL, link_id int4 NULL, CONSTRAINT link_pk PRIMARY KEY (id) ); - 创建一个clickhouse表,使用PG引擎,用来同步数据。
这里要引入DICTIONARY

最低0.47元/天 解锁文章
2100

被折叠的 条评论
为什么被折叠?



