介绍
- Clickhouse由俄罗斯一家名为Yandex的搜索引擎公司在2016年开源,通过3年的不断迭代,除了稳定性的提升外也引进了很多新特性
- clickhouse是列式存储、向量化执行引擎数据库,是目前开源界最快的MPP架构数据库
- 有自有生态,不兼容hadoop生态数据,主打adhoc
- 灵活的SQL支持,内置很多数据处理函数,但不支持自定义,如有特殊需求,需要调整源码
- 高IO,每秒处理数据1亿+
- 18.14之后版本已支持 update 、delete 、ttl 、Nested data type
- 在用户公司有:头条、快手、微博、易观、马蜂窝、携程...
现状
- 实时数仓:支撑mydata看板实时多维分析
- 日志分析:智能路径、实时漏斗、打点监测
在做实时数仓系统时我们也调研了其它的方案,如kyline、ES、SnappyData等方案,但都存在一些问题,主要在多维交互上要求比较高,满足运营人员通多拖拽维度与指标实时汇总看板数据,各别情况需要对数据进行一些特殊处理,也不好通过标准sql去实现,这就需要一个engine处理能力比较强的数据库提供支撑。
目前80%的分析业务已迁移到clickhouse来完成,最大表记录数上亿,最大基数列4千万;其中90%业务分析平均响应时间1~2s
监控数据
优化
- 自研同步服务,支持老版数仓无缝对接:自适应schema支持、数据就绪保障、数值类型自动识别
- 批处理写任务优化 批量写
- 高阶函数的应用与优化 https://www.jianshu.com/p/7b2f17ef4ab7
- string 类型效率低下
- 数据库服务优化:并行度、内存占比、分级压缩、冷热数据分离 冷热数据分离
- 优化源码 (1遇到了bug亟待解决;2性能问题;3业务需要):1、com.github.housepower:clickhouse-native-jdbc:1.6-stable版本 当插入数据超过一个batch规定大小时,会导致最终结果数据量偏大 ;2、优化sequenceCount(pattern)(timestamp, cond1, cond2, ...)
- 其它优化与建议 https://www.jianshu.com/p/f9a54193dc63
未来
- 涉及到高基列的分析业务,性能损耗严重
- 并发受限,同时执行多个sql性能会直线下降
- 关联分析弱,需要针对使用场景进行定制优化才能保障性能
网友评论