当前位置:首页 > 报告详情

2. Clickhouse玩转每天千亿数据-趣头条.pdf

上传人: li 编号:29687 2021-02-07 14页 1.10MB

1、ClickhouseClickhouse玩转每天千亿数据玩转每天千亿数据 趣头条趣头条 王海胜王海胜 提纲 业务背景 集群现状 我们遇到的问题 业务背景 基于storm的实时指标的计算存在的问题 1:指标口径(SQL) - 实时任务 2:数据的回溯 3:稳定性 业务背景 什么是我们需要的? 1:实时指标SQL化 2:数据方便回溯,数据有问题,方便恢复 3:运维需要简单 4:计算要快,在一个周期内,要完成所有的指标的计算 集群现状 100+台台32核核128G 部分复杂累时查询30S内完成 集群现状 我们遇到的问题 关于机器的配置关于机器的配置 早期集群机器配置16核64G 一块1.7T本地SS

2、D 问题: 1:内存限制,对于一些大的查询会出现内存不够问题 2:存储限制,随着表越来多,磁盘报警不断 3:cpu限制 64G对于一些大表(每天600亿+)的处理,很容易报错,虽然有基于磁盘解决方案,但是会影响速度 clickhouse的数据目录还不支持多个数据盘,单块盘的大小限制太大 cpu需要根据实际情况而定 解决: 1:机器的内存推荐128G+ 2:采用软连接的方式,把不同的表分布到不同的盘上面,这样一台机器可以挂载更多的盘 最新版本的”冷热数据分离”特性,曲线救国? 我们遇到的问题 order by (timestamp, eventType) or order by (eventTy

3、pe, timestamp) 业务场景 1:趣头条和米读的上报数据是按照”事件类型”(eventType)进行区分 2:指标系统分”分时”和”累时”指标 3:指标的一般都是会按照eventType进行区分 select count(1) from table where dt= and timestamp= and timestamp= and eventType= 建表的时候缺乏深度思考,由于分时指标的特性,我们的表是order by (timestamp, eventType)进行索引 的,这样在计算累时指标的时候出现非常耗时(600亿+数据量) 分析: 对于累时数据,时间索引基本就失效了,由于timestamp”基数”比较高,对于排在第二位eventType索引, 这个时候对数据的过滤就非常有限了,这个时候几乎就要对当天的数据进行全部扫描 解决: 1:调整索引的顺序,推荐索引列的基数

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了趣头条在使用ClickHouse处理每天千亿数据时遇到的问题及解决方案。趣头条的集群现状是100+台32核128G的机器,部分复杂查询能在30秒内完成。但在实际应用中遇到了如下问题: 1. 内存限制,导致大查询出现内存不足; 2. 存储限制,随着数据增长,磁盘空间不足; 3. CPU限制,对于一些大表处理速度受限; 4. ClickHouse的数据目录不支持多数据盘,单块盘大小限制大; 5. 查询性能问题,如order by操作耗时,多分区merge速度慢等; 6. ClickHouse-server进程挂掉,原因是默认不限制内存使用; 7. 内存限制问题,大SQL查询可能会超出内存限制; 8. Zookeeper相关问题,如snapshot文件过大,导致同步超时,压力过大等。 针对以上问题,作者提出了一系列解决方案,包括增加内存、优化存储、调整索引顺序、增大background_pool_size、配置max_memory_usage_for_all_queries、使用Replicated*MergeTree引擎等。
如何优化ClickHouse处理千亿级数据的效率? 如何合理配置ZooKeeper和ClickHouse集群,以提高大数据处理的效率? 在实时数据处理中,如何有效解决内存和存储限制问题?
客服
商务合作
小程序
服务号
折叠