項目地址:https://github.com/tal-tech/cdsgit
ClickHouse是一個用於聯機分析(OLAP)的列式數據庫管理系統(DBMS)。它有着優異的性能,能夠快速部署和運行。
不過要想使用ClickHouse搭建起數倉用於數據分析,一個重要的問題就是數據如何進入ClickHouse?
咱們但願數據源的變化可以自動實時地被同步到ClickHouse,並且支持方便的動態的添加新的數據源(新的數據庫,表),
可以自動的生成對應數據源的schema。github
go-zero 團隊使用go語言圍繞ClickHouse開發了一些方便的組件與服務。數據庫
咱們獲得了下面這樣的數據同步設計微信
該數據同步系統大體由如下三部分組成工具
流程以下:性能
上述服務的開發使用了go語言。藉助於go-zero中的工具包,如goctl等,
咱們快速實現了它。它還加入了支持自適應mongoDB結構變化,支持數據分表等。大數據
咱們相信這是go語言與ClickHouse探索大數據的一個不錯的起點,咱們但願有更多的人可以參與進來。設計
CDS項目地址:https://github.com/tal-tech/cdsblog
go-zero項目地址:https://github.com/tal-tech/go-zero開發
歡迎你們 star 並加入微信社區 🤝