2. Clickhouse玩转每天千亿数据-趣头条早期集群机器配置16核64G 一块1.7T本地SSD 问题: 1:内存限制,对于一些大的查询会出现内存不够问题 2:存储限制,随着表越来多,磁盘报警不断 3:cpu限制 64G对于一些大表(每天600亿+)的处理,很容易报错,虽然有基于磁盘解决方案,但是会影响速度 clickhouse的数据目录还不支持多个数据盘,单块盘的大小限制太大 cpu需要根据实际情况而定 解决: 1:机器的内存推荐128G+ 2: clickhouse裸奔时max_memory_usage_for_all_queries默认值为0,即不限制clickhouse内存使用 解决: clickhouse安装完成以后,在users.xml文件中配置一下max_memory_usage_for_all_queries,控制 clickhouse-server最大占用内存,避免被OS kill 我们遇到的问题 Memory limit (for query) exceeded:would L查询在该机器上面最大内存使用量 2:除了些简单的SQL,空间复杂度是O(1) 如: select count(1) from table where column=value select column1, column2 from table where column=value 凡是涉及group by, order by, distinct, join这样的SQL内存占用不再是O(1) 解决:0 码力 | 14 页 | 1.10 MB | 1 年前3
6. ClickHouse在众安的实践阿里云ECS * 6,生产环境集群 • CPU: • Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GH • 12 cores 24 processors • 内存: 96GB • 硬盘: 1TB 高效云盘,最大IO吞吐量 140MBps 以事业部、入库时间作双分区导入数据 遇到的问题 导入效率: • 原有导入数据方式在百亿级数据下会报Too many 场景5涉及到全表百亿行数据,第一次执行与后续执行花费时间差距较大 • 第一次执行,数据在硬盘上 花费~250s,性能瓶颈在硬盘io (iostat util 100%) • 第二次执行,大部分数据已经在内存里 花费~18s,性能瓶颈在cpu (top cpu usage ~1447%) • 两次运行的比较: Metric First run Second run top %CPU ~116% 执行涉及到全表数据的查询(cold data,从硬盘读取),处理速度为~24.28million rows/s • 只用到三块硬盘的io:3*140=420mb/s • 数据分布在六台服务器上 • 执行涉及到全表数据的查询(cold data,从硬盘读取),处理速度为~43.60million rows/s • 用到六块硬盘的io:6*140=840mb/s • io吞吐量加倍时,对于冷数据的处理速度是之前的~180%0 码力 | 28 页 | 4.00 MB | 1 年前3
2. ClickHouse MergeTree原理解析-朱凯可以说正是由表引擎,决定了一张 数据表最终的性格,它拥有何种特性、数据以何种形式被存储以及如何被加载。 ClickHouse拥有非常庞大的表引擎体系,截至到目前(19.14.6),共拥有合并树、 内存、文件、接口和其他5大类20多种。 合并树 这众多的表引擎中,又属合并树(MergeTree)表引擎及其家族系列(*MergeTree)最 为强大,在生产环境绝大部分场景中都应该使用此系列的表引擎。 Level • PartitionID 分区ID,无需多说,对于分区ID的规则在上一小节中已 经做过了详细的阐述。 • MinBlockNum和MaxBlockNum 顾名思义,最小数据块编号与最大数据块编号。这里的 BlockNum是一个整型的自增长编号。如果将其设为n的话 ,那么计数n在单张MergeTree数据表内全局累加,n从1 开始,每当新创建一个分区目录时,计数n就会累积加1 。对 按列存储,精心编排,错落有致 压缩数据块,就好比是一本书的文字段落,是组织文字的基本单元。 压缩数据块 头信息固定使用9位字节表示,具体 由1个UInt8(1字节)整型和2个 UInt32(4字节)整型组成 。 压缩数据块大小 l 单个批次数据 size < 64K 如果单个批次数据小于64K,则继续获取下一批 数据,直至累积到size >= 64K时,生成下一个压缩 数据块。 l 单个批次数据 64K<=0 码力 | 35 页 | 13.25 MB | 1 年前3
蔡岳毅-基于ClickHouse+StarRocks构建支撑千亿级数据量的高可用查询引擎广州站 ClickHouse 的特点 优点: 1. 数据压缩比高,存储成本相对非常低; 2. 支持常用的SQL语法,写入速度非常快,适用于大量的数据更新; 3. 依赖稀疏索引,列式存储,cpu/内存的充分利用造就了优秀的计算能力, 并且不用考虑左侧原则; 缺点: 1. 不支持事务,没有真正的update/delete; 2. 不支持高并发,可以根据实际情况修改qps相关配置文件; temp_temp rename成 A_temp; 其他方式: 1. 采用 waterdrop 的方式大幅提升写入速度; 2. 直接读Hdfs文件的方式,但内存波动较大; 全球敏捷运维峰会 广州站 ClickHouse的增量数据同步流程 传统方式: 1. 将最近3个月的数据从Hive通过ETL入到A_temp表; 2 query_log表,记录已经 执行的查询记录 query:执行的详细SQL,查询相关记录可以 根据SQL关键字筛选该字段 query_duration_ms:执行时间 memory_usage:占用内存 read_rows和read_bytes :读取行数和大小 result_rows和result_bytes :结果行数和 大小 以上信息可以简单对比SQL执行效果 全球敏捷运维峰会 广州站0 码力 | 15 页 | 1.33 MB | 1 年前3
ClickHouse在B站海量数据场景的落地实践Unique Engine v write-write冲突依靠table level lock控制 v write-merge冲突: Unique Engine v 常驻内存模式对内存消耗很⼤ v ⾮常驻内存模式index load过程慢 v 多并发加载优化索引加载速度: 日志 日志 v Elastic To ClickHouse迁移,降本增效 v OTEL标准化⽇志采集 v0 码力 | 26 页 | 2.15 MB | 1 年前3
2. 腾讯 clickhouse实践 _2019丁晓坤&熊峰2 • Clickhouse 的部署与监控管理 • Clickhouse 的应用实践 iData 目录 部署与监控管理 一切以用户价值为依归 3 1 4 部署与监控管理 1 高内存,廉价存储: 单机配置: Memory128G CPU核数24 SATA20T,RAID5 万兆网卡 一切以用户价值为依归 5 部署与监控管理 1 生产环境部署方案: Distributed0 码力 | 26 页 | 3.58 MB | 1 年前3
共 6 条
- 1













