ClickHouse在易企秀的应用实践

介绍

  • Clickhouse由俄罗斯一家名为Yandex的搜索引擎公司在2016年开源,通过3年的不断迭代,除了稳定性的提升外也引进了很多新特性
  • clickhouse是列式存储、向量化执行引擎数据库,是目前开源界最快的MPP架构数据库
  • 有自有生态,不兼容hadoop生态数据,主打adhoc
  • 灵活的SQL支持,内置很多数据处理函数,但不支持自定义,如有特殊需求,需要调整源码
  • 高IO,每秒处理数据1亿+
  • 18.14之后版本已支持 update 、delete 、ttl 、Nested data type
  • 在用户公司有:头条、快手、微博、易观、马蜂窝、携程...

现状

  • 实时数仓:支撑mydata看板实时多维分析
  • 日志分析:智能路径、实时漏斗、打点监测
image.png
智能路径

在做实时数仓系统时我们也调研了其它的方案,如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性能会直线下降
  • 关联分析弱,需要针对使用场景进行定制优化才能保障性能
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容