 2. Clickhouse玩转每天千亿数据-趣头条提纲 • 业务背景 • 集群现状 • 我们遇到的问题 业务背景 基于storm的实时指标的计算存在的问题 1:指标口径(SQL) -> 实时任务 2:数据的回溯 3:稳定性 业务背景 什么是我们需要的? 1:实时指标SQL化 2:数据方便回溯,数据有问题,方便恢复 3:运维需要简单 4:计算要快,在一个周期内,要完成所有的指标的计算 集群现状 100+台32核128G 100+台32核128G 部分复杂累时查询30S内完成 集群现状 我们遇到的问题 关于机器的配置 早期集群机器配置16核64G 一块1.7T本地SSD 问题: 1:内存限制,对于一些大的查询会出现内存不够问题 2:存储限制,随着表越来多,磁盘报警不断 3:cpu限制 64G对于一些大表(每天600亿+)的处理,很容易报错,虽然有基于磁盘解决方案,但是会影响速度 clickhouse的数据目录还不支持多个数据盘,单块盘的大小限制太大 background_pool_size 2:一个Insert Request,涉及N个分区的数据,在磁盘上就会生成N个数据目录,merge跟不上 3:一个目录,一个zxid,zookeeper集群的压力大,插入速度严重变慢 解决: 1:增大background_pool_size治标不治本 2:设置分区的时候需要思考,数据的特性需要了解 我们遇到的问题 查询过程中clickhouse-server进程挂掉0 码力 | 14 页 | 1.10 MB | 1 年前3 2. Clickhouse玩转每天千亿数据-趣头条提纲 • 业务背景 • 集群现状 • 我们遇到的问题 业务背景 基于storm的实时指标的计算存在的问题 1:指标口径(SQL) -> 实时任务 2:数据的回溯 3:稳定性 业务背景 什么是我们需要的? 1:实时指标SQL化 2:数据方便回溯,数据有问题,方便恢复 3:运维需要简单 4:计算要快,在一个周期内,要完成所有的指标的计算 集群现状 100+台32核128G 100+台32核128G 部分复杂累时查询30S内完成 集群现状 我们遇到的问题 关于机器的配置 早期集群机器配置16核64G 一块1.7T本地SSD 问题: 1:内存限制,对于一些大的查询会出现内存不够问题 2:存储限制,随着表越来多,磁盘报警不断 3:cpu限制 64G对于一些大表(每天600亿+)的处理,很容易报错,虽然有基于磁盘解决方案,但是会影响速度 clickhouse的数据目录还不支持多个数据盘,单块盘的大小限制太大 background_pool_size 2:一个Insert Request,涉及N个分区的数据,在磁盘上就会生成N个数据目录,merge跟不上 3:一个目录,一个zxid,zookeeper集群的压力大,插入速度严重变慢 解决: 1:增大background_pool_size治标不治本 2:设置分区的时候需要思考,数据的特性需要了解 我们遇到的问题 查询过程中clickhouse-server进程挂掉0 码力 | 14 页 | 1.10 MB | 1 年前3
 2. 腾讯 clickhouse实践 _2019丁晓坤&熊峰Clickhouse 的部署与监控管理 • Clickhouse 的应用实践 iData 目录 部署与监控管理 一切以用户价值为依归 3 1 4 部署与监控管理 1 高内存,廉价存储: 单机配置: Memory128G CPU核数24 SATA20T,RAID5 万兆网卡 一切以用户价值为依归 5 部署与监控管理 1 生产环境部署方案: Distributed Table Replica1Replica1 Load Balancing 一切以用户价值为依归 6 部署与监控管理 1 线性平滑扩容: 扩容: 1.安装新部署新的shard分片机器 2.新shard上创建表结构 3.批量修改当前集群的配置文件增加新的分片 4.名字服务添加节点 一切以用户价值为依归 7 部署与监控管理 1 大批量,少批次 WriteModel BatchSize RowLengt h QPM IOUtils Analysis 数据报表 多 维 聚 合 iData大数据分析引擎 TGMars TGSpark & Storage 大数据仓库 Hadoop Data Lake 计算引擎 MR & Spark Data Warehouse OLTP Big Data Analysis 多 维 聚 合 iData New 超融合OLAP 大数据分析 引擎TGMars 多 维 提 取 关 联0 码力 | 26 页 | 3.58 MB | 1 年前3 2. 腾讯 clickhouse实践 _2019丁晓坤&熊峰Clickhouse 的部署与监控管理 • Clickhouse 的应用实践 iData 目录 部署与监控管理 一切以用户价值为依归 3 1 4 部署与监控管理 1 高内存,廉价存储: 单机配置: Memory128G CPU核数24 SATA20T,RAID5 万兆网卡 一切以用户价值为依归 5 部署与监控管理 1 生产环境部署方案: Distributed Table Replica1Replica1 Load Balancing 一切以用户价值为依归 6 部署与监控管理 1 线性平滑扩容: 扩容: 1.安装新部署新的shard分片机器 2.新shard上创建表结构 3.批量修改当前集群的配置文件增加新的分片 4.名字服务添加节点 一切以用户价值为依归 7 部署与监控管理 1 大批量,少批次 WriteModel BatchSize RowLengt h QPM IOUtils Analysis 数据报表 多 维 聚 合 iData大数据分析引擎 TGMars TGSpark & Storage 大数据仓库 Hadoop Data Lake 计算引擎 MR & Spark Data Warehouse OLTP Big Data Analysis 多 维 聚 合 iData New 超融合OLAP 大数据分析 引擎TGMars 多 维 提 取 关 联0 码力 | 26 页 | 3.58 MB | 1 年前3
 4. ClickHouse在苏宁用户画像场景的实践特性发布快 3. 软件质量高 4. 物化视图 5. 高基数查询 6. 精确去重计数(count distinct) 3 精确去重计数性能测试 4亿多的数据集上,去重计算出6千万整形数值, 非精确去重函数:uniq、uniqHLL12、uniqCombined 精确去重函数:uniqExact、groupBitmap 函数 时长(秒) ES对资源消耗比较大,属亍豪华型配置。  ES的DSL诧法对用户丌太友好,用户学习成 本高。 Kafka Flink 18 ClickHouse替换ES存储标签数据  ClickHouse Manager负责ClickHouse集群管理、元数据管理以及节点负载协调  tag-generate负责标签数据构建,保存到HDFS(MySQL中存储标签配置信息)  tag- to-ch-sql模块,将用户画像查询条件转换为ClickHouse sql诧句  用户画像平台通过Proxy从ClickHouse集群查询标签数据 Spark tag-generate tag-loader MySQL ClickHouse集群 ClickHouse1 ClickHouse Manager HDFS 用户画像平台 ClickHouse20 码力 | 32 页 | 1.47 MB | 1 年前3 4. ClickHouse在苏宁用户画像场景的实践特性发布快 3. 软件质量高 4. 物化视图 5. 高基数查询 6. 精确去重计数(count distinct) 3 精确去重计数性能测试 4亿多的数据集上,去重计算出6千万整形数值, 非精确去重函数:uniq、uniqHLL12、uniqCombined 精确去重函数:uniqExact、groupBitmap 函数 时长(秒) ES对资源消耗比较大,属亍豪华型配置。  ES的DSL诧法对用户丌太友好,用户学习成 本高。 Kafka Flink 18 ClickHouse替换ES存储标签数据  ClickHouse Manager负责ClickHouse集群管理、元数据管理以及节点负载协调  tag-generate负责标签数据构建,保存到HDFS(MySQL中存储标签配置信息)  tag- to-ch-sql模块,将用户画像查询条件转换为ClickHouse sql诧句  用户画像平台通过Proxy从ClickHouse集群查询标签数据 Spark tag-generate tag-loader MySQL ClickHouse集群 ClickHouse1 ClickHouse Manager HDFS 用户画像平台 ClickHouse20 码力 | 32 页 | 1.47 MB | 1 年前3
 蔡岳毅-基于ClickHouse+StarRocks构建支撑千亿级数据量的高可用查询引擎依赖稀疏索引,列式存储,cpu/内存的充分利用造就了优秀的计算能力, 并且不用考虑左侧原则; 缺点: 1. 不支持事务,没有真正的update/delete; 2. 不支持高并发,可以根据实际情况修改qps相关配置文件; 全球敏捷运维峰会 广州站 StarRocks的特点 优点: 1. 支持标准的SQL语法,兼容MySql协议; 2. MPP架构,扩缩容非常简单方便; 3. 支持高并发查询; 被动缓存; 2. 主动缓存; 全球敏捷运维峰会 广州站 ClickHouse集群架构 Ø 虚拟集群最少两台机器在不同的机房; Ø 数据独立,多写,相互不干扰; Ø 数据读取通过应用程序做负载平衡; Ø 灵活创建不同的虚拟集群用于适当的场合; Ø 随时调整服务器,新增/缩减服务器; 分布式: k8s的集群式部署 全球敏捷运维峰会 广州站 采用ClickHouse后平台的查询性能0 码力 | 15 页 | 1.33 MB | 1 年前3 蔡岳毅-基于ClickHouse+StarRocks构建支撑千亿级数据量的高可用查询引擎依赖稀疏索引,列式存储,cpu/内存的充分利用造就了优秀的计算能力, 并且不用考虑左侧原则; 缺点: 1. 不支持事务,没有真正的update/delete; 2. 不支持高并发,可以根据实际情况修改qps相关配置文件; 全球敏捷运维峰会 广州站 StarRocks的特点 优点: 1. 支持标准的SQL语法,兼容MySql协议; 2. MPP架构,扩缩容非常简单方便; 3. 支持高并发查询; 被动缓存; 2. 主动缓存; 全球敏捷运维峰会 广州站 ClickHouse集群架构 Ø 虚拟集群最少两台机器在不同的机房; Ø 数据独立,多写,相互不干扰; Ø 数据读取通过应用程序做负载平衡; Ø 灵活创建不同的虚拟集群用于适当的场合; Ø 随时调整服务器,新增/缩减服务器; 分布式: k8s的集群式部署 全球敏捷运维峰会 广州站 采用ClickHouse后平台的查询性能0 码力 | 15 页 | 1.33 MB | 1 年前3
 6. ClickHouse在众安的实践数据/模型生命周期管理 资源调度 业务系统 开 发 工 具 基 础 设 施 模型 反馈 智能应用 开放与敏捷 • 大数据、流数据统一建模管理 • 垂直方向行业模板,简化开发过程 • 多语言多runtime支持,Bring your own model • 数据流转、建模、机器学习任务的全生命周 期管理 • 大规模在线任务监控、自动模型性能监测、 重训练与发布 • 追溯数据血缘,数据、算法模型版本管理 用户id • 事业部 • 入库时间 • first_policy_premium • ... • phone_flag • ha_flag • ... clickhouse集群配置 • 阿里云ECS * 6,生产环境集群 • CPU: • Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GH • 12 cores 24 processors • 内存: 96GB0 码力 | 28 页 | 4.00 MB | 1 年前3 6. ClickHouse在众安的实践数据/模型生命周期管理 资源调度 业务系统 开 发 工 具 基 础 设 施 模型 反馈 智能应用 开放与敏捷 • 大数据、流数据统一建模管理 • 垂直方向行业模板,简化开发过程 • 多语言多runtime支持,Bring your own model • 数据流转、建模、机器学习任务的全生命周 期管理 • 大规模在线任务监控、自动模型性能监测、 重训练与发布 • 追溯数据血缘,数据、算法模型版本管理 用户id • 事业部 • 入库时间 • first_policy_premium • ... • phone_flag • ha_flag • ... clickhouse集群配置 • 阿里云ECS * 6,生产环境集群 • CPU: • Intel(R) Xeon(R) CPU E5-2682 v4 @ 2.50GH • 12 cores 24 processors • 内存: 96GB0 码力 | 28 页 | 4.00 MB | 1 年前3
 ClickHouse在B站海量数据场景的落地实践vClickHouse在B站 v内核 v日志 v用户行为数据分析 vFuture Work vQ&A ClickHouse在B站 B站ClickHouse应用概况 v 近400个节点,30个集群 v ⽇均1.5+万亿条数据摄⼊ v ⽇均800+万次Select请求 v 应⽤场景包括(不限于): Ø ⽇志&Trace分析 Ø ⽤户⾏为分析(包括事件分析,漏⽃分析,路径分析等) Ø 日志&Trace 平台 APM ClickHouse as Service v Berserker数据源管理: Ø 建表 Ø 修改表元数据 Ø 表元数据管理 v Yuuni: Ø 屏蔽集群信息 Ø 原⽣JDBC,HTTP接⼜ Ø 读写分离 Ø 动态查询缓存 Ø 流量控制 v 监控管理平台: Ø 统计⼤盘 Ø 回归测试 Ø 接⼊评估 Ø 数据迁移 Ø 数据重平衡 v write-write冲突依靠table level lock控制 v write-merge冲突: Unique Engine v 常驻内存模式对内存消耗很⼤ v ⾮常驻内存模式index load过程慢 v 多并发加载优化索引加载速度: 日志 日志 v Elastic To ClickHouse迁移,降本增效 v OTEL标准化⽇志采集 v 统⼀scheme⽀持 日志 v ClickHouse较ES写⼊吞吐量提升近10倍0 码力 | 26 页 | 2.15 MB | 1 年前3 ClickHouse在B站海量数据场景的落地实践vClickHouse在B站 v内核 v日志 v用户行为数据分析 vFuture Work vQ&A ClickHouse在B站 B站ClickHouse应用概况 v 近400个节点,30个集群 v ⽇均1.5+万亿条数据摄⼊ v ⽇均800+万次Select请求 v 应⽤场景包括(不限于): Ø ⽇志&Trace分析 Ø ⽤户⾏为分析(包括事件分析,漏⽃分析,路径分析等) Ø 日志&Trace 平台 APM ClickHouse as Service v Berserker数据源管理: Ø 建表 Ø 修改表元数据 Ø 表元数据管理 v Yuuni: Ø 屏蔽集群信息 Ø 原⽣JDBC,HTTP接⼜ Ø 读写分离 Ø 动态查询缓存 Ø 流量控制 v 监控管理平台: Ø 统计⼤盘 Ø 回归测试 Ø 接⼊评估 Ø 数据迁移 Ø 数据重平衡 v write-write冲突依靠table level lock控制 v write-merge冲突: Unique Engine v 常驻内存模式对内存消耗很⼤ v ⾮常驻内存模式index load过程慢 v 多并发加载优化索引加载速度: 日志 日志 v Elastic To ClickHouse迁移,降本增效 v OTEL标准化⽇志采集 v 统⼀scheme⽀持 日志 v ClickHouse较ES写⼊吞吐量提升近10倍0 码力 | 26 页 | 2.15 MB | 1 年前3
 3. 数仓ClickHouse多维分析应用实践-朱元目前对外开放是主题事实清单表+维度表 封装成一个视图,类 似如下 数 据 展 示 + 多 维 分析 采用开源报表系统davinci 地址: https://github.com/edp963/davinci 03 1. Memory limit (for query) exceeded 解决:通过在users.xml 配置 max_bytes_before_external_sort max_byt0 码力 | 14 页 | 3.03 MB | 1 年前3 3. 数仓ClickHouse多维分析应用实践-朱元目前对外开放是主题事实清单表+维度表 封装成一个视图,类 似如下 数 据 展 示 + 多 维 分析 采用开源报表系统davinci 地址: https://github.com/edp963/davinci 03 1. Memory limit (for query) exceeded 解决:通过在users.xml 配置 max_bytes_before_external_sort max_byt0 码力 | 14 页 | 3.03 MB | 1 年前3
 8. Continue to use ClickHouse as TSDB测系统未来趋势 不断收集市场变化信 息预测股价涨跌 不断的汇总日成交量从 而制定商业规划 不断收集温度,坐标,方向 ,速度等指标,优化路线和 驾驶方式 ► 上述业务数据特点: ► (1) 数据多 ► (2) 旧数据趋于不变 ► (3) 新数据更有价值 ► (4) 数据总是随时间变化而不断变化 Why we choose it ► 解决方案 ► (1) Row-Orient Database 速度 低成本存储 • 列式存储结合高效的编码 • Delta、XOR 等适合时序场景的压缩算法 • 通过 Rollup 功能,对历史数据做聚合,减少数据量 稳定可扩展 • 分布式架构 • 数据多副本存储 • 服务高可用 Thanks For You0 码力 | 42 页 | 911.10 KB | 1 年前3 8. Continue to use ClickHouse as TSDB测系统未来趋势 不断收集市场变化信 息预测股价涨跌 不断的汇总日成交量从 而制定商业规划 不断收集温度,坐标,方向 ,速度等指标,优化路线和 驾驶方式 ► 上述业务数据特点: ► (1) 数据多 ► (2) 旧数据趋于不变 ► (3) 新数据更有价值 ► (4) 数据总是随时间变化而不断变化 Why we choose it ► 解决方案 ► (1) Row-Orient Database 速度 低成本存储 • 列式存储结合高效的编码 • Delta、XOR 等适合时序场景的压缩算法 • 通过 Rollup 功能,对历史数据做聚合,减少数据量 稳定可扩展 • 分布式架构 • 数据多副本存储 • 服务高可用 Thanks For You0 码力 | 42 页 | 911.10 KB | 1 年前3
 2. ClickHouse MergeTree原理解析-朱凯直接生成下一个压缩数据块。 l 单个批次数据 size > 1M 如果单个批次数据直接超过1M,则首先按照1M 大小截断并生成下一个压缩数据块。剩余数据继续依 照上述规则执行。此时,会出现一个批次数据生成多 个压缩数据块的情况。 每个压缩数据块的体积,按照其压缩前的数据字节大小,都被严格的控制在64K~1M之间,其上下限分 别由min_compress_block_size(默认65536)与max_0 码力 | 35 页 | 13.25 MB | 1 年前3 2. ClickHouse MergeTree原理解析-朱凯直接生成下一个压缩数据块。 l 单个批次数据 size > 1M 如果单个批次数据直接超过1M,则首先按照1M 大小截断并生成下一个压缩数据块。剩余数据继续依 照上述规则执行。此时,会出现一个批次数据生成多 个压缩数据块的情况。 每个压缩数据块的体积,按照其压缩前的数据字节大小,都被严格的控制在64K~1M之间,其上下限分 别由min_compress_block_size(默认65536)与max_0 码力 | 35 页 | 13.25 MB | 1 年前3
共 9 条
- 1













