Go 大数据生态迎来重要产品 CDS - Go语言中文社区

Go 大数据生态迎来重要产品 CDS


项目地址:https://github.com/tal-tech/cds

ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。它有着优异的性能,可以快速部署和运行。
不过要想使用ClickHouse搭建起数仓用于数据分析,一个重要的问题就是数据如何进入ClickHouse?
我们希望数据源的变化能够自动实时地被同步到ClickHouse,而且支持方便的动态的添加新的数据源(新的数据库,表),
能够自动的生成对应数据源的schema。

go-zero 团队使用go语言围绕ClickHouse开发了一些方便的组件与服务。

我们得到了下面这样的数据同步设计

该数据同步系统大致由以下三部分组成

  1. DM 全量同步服务 github.com/tal-tech/cds/dm
  2. RTU 实时增量同步服务 github.com/tal-tech/cds/rtu
  3. Galaxy 网页控制台服务 github.com/tal-tech/cds/galaxy

流程如下:

  • 用户可以在网页控制台添加数据源,自动生成DDL,添加同步任务,该任务会被发送到etcd。
  • dm会收到全量同步的通知,执行历史数据的全量同步工作。
  • 之后网页控制台服务会指定connector开启数据库log监听工作,数据会进入kafka。
  • 监听etcd集群的RTU实时增量同步服务服务会发现有新的任务,RTU自动领取任务,到kafka消费数据并同步至ClickHouse。

上述服务的开发使用了go语言。借助于go-zero中的工具包,如goctl等,
我们快速实现了它。它还加入了支持自适应mongoDB结构变化,支持数据分表等。

我们相信这是go语言与ClickHouse探索大数据的一个不错的起点,我们希望有更多的人能够参与进来。

CDS项目地址:https://github.com/tal-tech/cds

go-zero项目地址:https://github.com/tal-tech/go-zero

欢迎大家 star 并加入微信社区

版权声明:本文来源博客园,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://www.cnblogs.com/kevinwan/p/14046046.html
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-15 20:56:05
  • 阅读 ( 1171 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢