PostgreSQL 到 Doris 数据同步
· 阅读需 4 分钟
简述
Apache Doris 是一个现代化的 MPP 分析型数据库产品,仅需 亚秒级 响应时间即可获得查询结果,能有效地支持实时数据分析。
本文主要介绍如何使用 CloudCanal 快速构建一条稳定高效运行的 PostgreSQL 到 Doris 数据同步链路。
技术点
基于 StreamLoad 的导入方式
Doris 提供了多种导入方式。CloudCanal 采用了 StreamLoad 的方式进行导入,源端的消息会转成字节流,最后会以 Batch 的形式通过 HTTP 协议发往 Doris。
相比直接通过 SQL 写入的方式,StreamLoad 方式会有更好的性能,写入的数据直接经 FE 转发给 BE 处理。如果直接采用 SQL 写入,在 FE 侧,会有额外的 SQL 解析开销。
CloudCanal 默认采用 json 格式来进行StreamLoad导入,如果用户内容特殊字符较较少,也可以开启 csv 格式导入,分隔符可以通过参数 columnSeparator 和 lineSeparator 设置。
基于 StreamLoad 的写入方式,实际写入对端的操作均为 INSERT,CloudCanal 同步时会自动将 UPDATE / DELETE 转成 INSERT 语句,并修改 __op 值。
