ClickHouse 在 windows 下编译调试

什么是 ClickHouse

大数据时代,每一条数据都携带着一种信息,各种优传感器,网关,IOT 设备无时无刻都在用日志输出着自己的运行信息。这些信息被存储后经过多维度计算就组成了我们现在的大数据环境。为了便于计算,出现了非常多优秀的数据库及组件,他们都在自己擅长的领域解决着各种场景的问题,其中就有一款在 OLAP 场景下,以惊艳的性能指标横空出世的数据库, 这就是 ClickHouse 。
它是保守的俄罗斯一家商业公司 Yandex (类似中国的百度)在 2016 年开源的。今天我并不打算讲解 ClickHouse 有什么特性,因为当你首先对这款数据库感兴趣时,有志者肯定第一想法是,“Talk is cheap, Show me the code。” 但对于大型工程,代码下载是容易的,一些框架复杂,动态调用时才能清晰知道流程的项目,编译出来调试一次,会对逻辑有更深的理解,也会降低阅读难度,今天要讲的便是如何编译调试,尤其是在 windows 下利用强大的 Visual Studio 来调试 ClickHouse。

编译准备

我先预设大家的水平都会知道一些基础编译信息,这里只做要求:

  1. WSL 或者 CentOS 7, 我习惯于在 windows 下减少虚拟机消耗,这两者环境区别不大;
  2. GCC 7.4.0 ,ClickHouse 大量运用了 C++17 语法,要求编译器版本为 7.4;
  3. cmake 3.14.5, 这个下载包直接解压,建立软链即可
  4. ninja 1.9.0, 直接下载对应包,解压即可
  5. Visual Studio, 我用的是 VS2019

编译过程

下载源码

尽量在 linux 环境下(包括 WSL)使用 git 下载,应该 ClickHouse 引用了很多外部开源工程,在拉取过程中有些源文件是会建立软链接的,如果在 windows 下,这些软链接会建立失败,导致后期编译时错误。也不用直接在 git 上下载源码包,这样外部引用的开源工程都不会被拉取,造成编译不过。

// 拉取
git clone --recursive https://github.com/yandex/ClickHouse.git
cd ClickHouse

// 切换到 19.7 分支,或者一开始只拉取该分支代码
git tag -l
git checkout v19.7.3.9-stable

开始编译

mkdir build
cd build
cmake ..
ninja clickhouse

验证编译结果

dbms/programs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值