本项目地址:https://github.com/tal-tech/cds
ClickHouse 是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS)。它有着优异的性能,可以快速部署和运行。 不过要想使用 ClickHouse 搭建起数仓用于数据分析,一个重要的问题就是数据如何进入 ClickHouse ? 我们希望数据源的变化能够自动实时地被同步到 ClickHouse,而且支持方便的动态的添加新的数据源(新的数据库,表), 能够自动的生成对应数据源的 schema 。
go-zero团队使用 go 语言围绕 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 并加入微信社区 🤝
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.