clickhouse源码分析

clickhouse源码分析(一)

  • 简单介绍
    clichouse是由俄罗斯yandex公司的大数据引擎团队开发的分析型数据库。在2016年发布,经过几年的跌代现在被国内外很多大小公司在各种场景使用。clickhouse的轻量级,多种协议接口,SQL兼容性,优秀的导入和查询速度等等特性。被国内外的企业和数据分析从业人员所喜欢。
  • 代码下载
    clickhouse github链 接https://github.com/ClickHouse/ClickHouse.git 下载的时候最好使用git下载(下载的代码的不用创建git仓库就能编译)
    下载完成后:在$SOURCE_DIR/Clickhouse目录下执行
    git submodule update --init --recursive (将编译clickhouse需要的第三方包和插件下载)
  • 编译
    1.安装编译器(不同版本的clickhouse对于编译器的版本有不同的要求)使用gcc或者clang进行编译。之前的版本是用gcc编译的。2020之后官方推荐clang。
    clang 比 gcc好在哪里?
    编译速度快:在某些平台上,Clang的编译速度显著的快过GCC(Debug模式下编译OC速度比GGC快3倍)
    占用内存小:Clang生成的AST所占用的内存是GCC的五分之一左右
    模块化设计:Clang采用基于库的模块化设计,易于 IDE 集成及其他用途的重用
    诊断信息可读性强:在编译过程中,Clang 创建并保留了大量详细的元数据 (metadata),有利于调试和错误报告
    设计清晰简单,容易理解,易于扩展增强
    官方编译文档:https://clickhouse.tech/docs/en/development/build/
    –对于在arm架构上编译我直接在arm平台上编译有很多问题,之后在x86上使用交叉编译,交叉编译的官方文档上有些问题,在一些目录要进行修改才能编译通过。官方文档:https://clickhouse.tech/docs/en/development/build-cross-arm/
  • 第三方包和工具介绍
    poco clickhouse使用poco框架开发。
    llvm 模块化编译工具
    zstd 压缩算法
    lz4-hc 压缩算法
    ssse 向量化计算
    jemalloc 内存管理工具
    zookeeper 分布式管理工具
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值