 ClickHouse在B站海量数据场景的落地实践Yuuni 定制开发的 ClickHouse-JDBC 与ClickHouse兼容的 HTTP 接口 请求管理/流量控制 查询缓存 查询分发器 查询处理器 ClickHouse 监控管理平台 元数据管理 库表管理 权限管理 埋点分析 报表平台 HDFS/Hive Kafka/Databus 离线接入 (Rider/Spark/WaterDrop) 实时接入 (BSQL/Saber/Flink 原⽣JDBC,HTTP接⼜ Ø 读写分离 Ø 动态查询缓存 Ø 流量控制 v 监控管理平台: Ø 统计⼤盘 Ø 回归测试 Ø 接⼊评估 Ø 数据迁移 Ø 数据重平衡 v 交互式分析查询:Superset提供即时查询能⼒ v 离线写⼊服务 (Rider) v 实时写⼊服务 (BSQL/Saber) ClickHouse 监控管理平 台 BSQL/Saber 实时写入服务 Rider 离线写入服务 原⽣Map查询时需读取⼤量⽆效数据 Map隐式列 v Map隐式列将每个Key存储为独⽴列 v Map隐式列查询时只读取需要的隐式列 Bulkload v 原⽣写⼊⽅式消耗ClickHouse Server资源,影响查询性能 v 实时写⼊任务长期占⽤资源,故障恢复的时间和运维成本较⾼ v 基于中间存储的Bulkload⽅案降低ClickHouse Server压⼒ Bulkload v 基于中间存储的Bulkload可以降低ClickHouse0 码力 | 26 页 | 2.15 MB | 1 年前3 ClickHouse在B站海量数据场景的落地实践Yuuni 定制开发的 ClickHouse-JDBC 与ClickHouse兼容的 HTTP 接口 请求管理/流量控制 查询缓存 查询分发器 查询处理器 ClickHouse 监控管理平台 元数据管理 库表管理 权限管理 埋点分析 报表平台 HDFS/Hive Kafka/Databus 离线接入 (Rider/Spark/WaterDrop) 实时接入 (BSQL/Saber/Flink 原⽣JDBC,HTTP接⼜ Ø 读写分离 Ø 动态查询缓存 Ø 流量控制 v 监控管理平台: Ø 统计⼤盘 Ø 回归测试 Ø 接⼊评估 Ø 数据迁移 Ø 数据重平衡 v 交互式分析查询:Superset提供即时查询能⼒ v 离线写⼊服务 (Rider) v 实时写⼊服务 (BSQL/Saber) ClickHouse 监控管理平 台 BSQL/Saber 实时写入服务 Rider 离线写入服务 原⽣Map查询时需读取⼤量⽆效数据 Map隐式列 v Map隐式列将每个Key存储为独⽴列 v Map隐式列查询时只读取需要的隐式列 Bulkload v 原⽣写⼊⽅式消耗ClickHouse Server资源,影响查询性能 v 实时写⼊任务长期占⽤资源,故障恢复的时间和运维成本较⾼ v 基于中间存储的Bulkload⽅案降低ClickHouse Server压⼒ Bulkload v 基于中间存储的Bulkload可以降低ClickHouse0 码力 | 26 页 | 2.15 MB | 1 年前3
 6. ClickHouse在众安的实践众安集智平台与clickhouse 02 集智平台 X-Brain AI 开放平台 计算框架 Hadoop, JStorm, Spark Streaming, Flink 离线/实时任务监控 数据、模型存储 Hive, HBase, Clickhouse, Kylin 数据接入 消 息 中 间 件 模型、 算法 模版 机器学习平台 Antron 机器人平台 X-Insight 数据流转、建模、机器学习任务的全生命周 期管理 • 大规模在线任务监控、自动模型性能监测、 重训练与发布 • 追溯数据血缘,数据、算法模型版本管理 • 支持算法模型结果的可重现、可审计 • 缓解AI/机器学习带来的潜在伦理与法律担忧 全生命周期管理 追溯与可重现 洞察平台架构 Why Clickhouse? Clickhosue 性能 高效的数据导入和查询性能 开源 低成本,免费 压缩比 高度的数据压缩比,存储成本更小 不灵活:用户有新标签需求时,需要提需求给标签开发人员排期开发 需求,开发人员开发完再更新到系统中,这时离需求提出可能已经过 去几天,无法及时给到业务人员反馈。 思路 利用clickhouse实时计算的高效性能,对原始数据进行查询分析,从而支 持用户灵活的定义标签并让用户实时得到反馈。 标签平台 clickhouse 保单表 用户表 用户行为表 数据 • 历史保单数据 join 用户数据 join0 码力 | 28 页 | 4.00 MB | 1 年前3 6. ClickHouse在众安的实践众安集智平台与clickhouse 02 集智平台 X-Brain AI 开放平台 计算框架 Hadoop, JStorm, Spark Streaming, Flink 离线/实时任务监控 数据、模型存储 Hive, HBase, Clickhouse, Kylin 数据接入 消 息 中 间 件 模型、 算法 模版 机器学习平台 Antron 机器人平台 X-Insight 数据流转、建模、机器学习任务的全生命周 期管理 • 大规模在线任务监控、自动模型性能监测、 重训练与发布 • 追溯数据血缘,数据、算法模型版本管理 • 支持算法模型结果的可重现、可审计 • 缓解AI/机器学习带来的潜在伦理与法律担忧 全生命周期管理 追溯与可重现 洞察平台架构 Why Clickhouse? Clickhosue 性能 高效的数据导入和查询性能 开源 低成本,免费 压缩比 高度的数据压缩比,存储成本更小 不灵活:用户有新标签需求时,需要提需求给标签开发人员排期开发 需求,开发人员开发完再更新到系统中,这时离需求提出可能已经过 去几天,无法及时给到业务人员反馈。 思路 利用clickhouse实时计算的高效性能,对原始数据进行查询分析,从而支 持用户灵活的定义标签并让用户实时得到反馈。 标签平台 clickhouse 保单表 用户表 用户行为表 数据 • 历史保单数据 join 用户数据 join0 码力 | 28 页 | 4.00 MB | 1 年前3
 4. ClickHouse在苏宁用户画像场景的实践速度快 2. 特性发布快 3. 软件质量高 4. 物化视图 5. 高基数查询 6. 精确去重计数(count distinct) 3 精确去重计数性能测试 4亿多的数据集上,去重计算出6千万整形数值, 非精确去重函数:uniq、uniqHLL12、uniqCombined 精确去重函数:uniqExact、groupBitmap 函数 29% uniqExact(id) 50.437 63039307 0 0% groupBitmap(id) 7.038 63039307 0 0% 4 精确去重计数性能测试 1.554 1.341 1.613 50.437 7.038 0 10 20 30 40 50 60 时长 结论: • 整形值精确去重场景,groupBitmap 25 0.3 0.35 0.4 0.45 0.5 误差率 精确去重计数性能测试 6 ClickHouse在苏宁使用场景  OLAP平台存储引擎 -- 存储时序数据、cube加速数据,应用亍高基数查询、精确去重场景。  运维监控 -- 实时聚合分析监控数据,主要使用物化视图技术。  用户画像场景 -- 标签数据的存储、用户画像查询引擎。0 码力 | 32 页 | 1.47 MB | 1 年前3 4. ClickHouse在苏宁用户画像场景的实践速度快 2. 特性发布快 3. 软件质量高 4. 物化视图 5. 高基数查询 6. 精确去重计数(count distinct) 3 精确去重计数性能测试 4亿多的数据集上,去重计算出6千万整形数值, 非精确去重函数:uniq、uniqHLL12、uniqCombined 精确去重函数:uniqExact、groupBitmap 函数 29% uniqExact(id) 50.437 63039307 0 0% groupBitmap(id) 7.038 63039307 0 0% 4 精确去重计数性能测试 1.554 1.341 1.613 50.437 7.038 0 10 20 30 40 50 60 时长 结论: • 整形值精确去重场景,groupBitmap 25 0.3 0.35 0.4 0.45 0.5 误差率 精确去重计数性能测试 6 ClickHouse在苏宁使用场景  OLAP平台存储引擎 -- 存储时序数据、cube加速数据,应用亍高基数查询、精确去重场景。  运维监控 -- 实时聚合分析监控数据,主要使用物化视图技术。  用户画像场景 -- 标签数据的存储、用户画像查询引擎。0 码力 | 32 页 | 1.47 MB | 1 年前3
 2. 腾讯 clickhouse实践 _2019丁晓坤&熊峰一切以用户价值为依归 2 • Clickhouse 的部署与监控管理 • Clickhouse 的应用实践 iData 目录 部署与监控管理 一切以用户价值为依归 3 1 4 部署与监控管理 1 高内存,廉价存储: 单机配置: Memory128G CPU核数24 SATA20T,RAID5 万兆网卡 一切以用户价值为依归 5 部署与监控管理 1 生产环境部署方案: Distributed Shard02 Shard03 Load Balancing 一切以用户价值为依归 6 部署与监控管理 1 线性平滑扩容: 扩容: 1.安装新部署新的shard分片机器 2.新shard上创建表结构 3.批量修改当前集群的配置文件增加新的分片 4.名字服务添加节点 一切以用户价值为依归 7 部署与监控管理 1 大批量,少批次 WriteModel BatchSize RowLengt h 一切以用户价值为依归 8 部署与监控管理 1 应用监控-业务指标: 一切以用户价值为依归 9 部署与监控管理 1 服务监控-错误日志: 一切以用户价值为依归 10 部署与监控管理 1 服务监控-请求指标: 一切以用户价值为依归 11 部署与监控管理 1 服务监控-扫描详情: 一切以用户价值为依归 12 部署与监控管理 1 服务监控-响应耗时: 一切以用户价值为依归0 码力 | 26 页 | 3.58 MB | 1 年前3 2. 腾讯 clickhouse实践 _2019丁晓坤&熊峰一切以用户价值为依归 2 • Clickhouse 的部署与监控管理 • Clickhouse 的应用实践 iData 目录 部署与监控管理 一切以用户价值为依归 3 1 4 部署与监控管理 1 高内存,廉价存储: 单机配置: Memory128G CPU核数24 SATA20T,RAID5 万兆网卡 一切以用户价值为依归 5 部署与监控管理 1 生产环境部署方案: Distributed Shard02 Shard03 Load Balancing 一切以用户价值为依归 6 部署与监控管理 1 线性平滑扩容: 扩容: 1.安装新部署新的shard分片机器 2.新shard上创建表结构 3.批量修改当前集群的配置文件增加新的分片 4.名字服务添加节点 一切以用户价值为依归 7 部署与监控管理 1 大批量,少批次 WriteModel BatchSize RowLengt h 一切以用户价值为依归 8 部署与监控管理 1 应用监控-业务指标: 一切以用户价值为依归 9 部署与监控管理 1 服务监控-错误日志: 一切以用户价值为依归 10 部署与监控管理 1 服务监控-请求指标: 一切以用户价值为依归 11 部署与监控管理 1 服务监控-扫描详情: 一切以用户价值为依归 12 部署与监控管理 1 服务监控-响应耗时: 一切以用户价值为依归0 码力 | 26 页 | 3.58 MB | 1 年前3
 蔡岳毅-基于ClickHouse+StarRocks构建支撑千亿级数据量的高可用查询引擎数据读取通过应用程序做负载平衡; Ø 灵活创建不同的虚拟集群用于适当的场合; Ø 随时调整服务器,新增/缩减服务器; 分布式: k8s的集群式部署 全球敏捷运维峰会 广州站 采用ClickHouse后平台的查询性能 system.query_log表,记录已经 执行的查询记录 query:执行的详细SQL,查询相关记录可以 根据SQL关键字筛选该字段 query_duration_ms:执行时间 memory_usage:占用内存 以上信息可以简单对比SQL执行效果 全球敏捷运维峰会 广州站 采用ClickHouse后平台的查询性能 全球敏捷运维峰会 广州站 ClickHouse应用小结 • 数据导入之前要评估好分区字段; • 数据导入时根据分区做好Order By; • 左右表join的时候要注意数据量的变化; • 是否采用分布式; • 监控好服务器的cpu/内存波动/`system`.query_log; • 数据存储磁盘尽量采用ssd; StarRocks应用小结 • 发挥分布式的优势,要提前做好分区字段规划; • 支持各种join,语法会相对clickhouse简单很多; • 一个sql可以多处用; • 建立好守护进程以及节点监控; 全球敏捷运维峰会 广州站 THANK YOU!0 码力 | 15 页 | 1.33 MB | 1 年前3 蔡岳毅-基于ClickHouse+StarRocks构建支撑千亿级数据量的高可用查询引擎数据读取通过应用程序做负载平衡; Ø 灵活创建不同的虚拟集群用于适当的场合; Ø 随时调整服务器,新增/缩减服务器; 分布式: k8s的集群式部署 全球敏捷运维峰会 广州站 采用ClickHouse后平台的查询性能 system.query_log表,记录已经 执行的查询记录 query:执行的详细SQL,查询相关记录可以 根据SQL关键字筛选该字段 query_duration_ms:执行时间 memory_usage:占用内存 以上信息可以简单对比SQL执行效果 全球敏捷运维峰会 广州站 采用ClickHouse后平台的查询性能 全球敏捷运维峰会 广州站 ClickHouse应用小结 • 数据导入之前要评估好分区字段; • 数据导入时根据分区做好Order By; • 左右表join的时候要注意数据量的变化; • 是否采用分布式; • 监控好服务器的cpu/内存波动/`system`.query_log; • 数据存储磁盘尽量采用ssd; StarRocks应用小结 • 发挥分布式的优势,要提前做好分区字段规划; • 支持各种join,语法会相对clickhouse简单很多; • 一个sql可以多处用; • 建立好守护进程以及节点监控; 全球敏捷运维峰会 广州站 THANK YOU!0 码力 | 15 页 | 1.33 MB | 1 年前3
 2. Clickhouse玩转每天千亿数据-趣头条se集群的规划,可以多套zookeeper集群服务一套clickhouse集群 3.1:zookeeper集群的znode最好能在400w以下(这个时候snapshot文件到达2G+) 3.2:注意监控zookeeper的指标(排队请求?处理延迟?等等),排队请求太多可能会导致插入失败 我们遇到的问题 关于引擎选择 推荐Replicated*MergeTree引擎 1:安全,数据安全,业务安全0 码力 | 14 页 | 1.10 MB | 1 年前3 2. Clickhouse玩转每天千亿数据-趣头条se集群的规划,可以多套zookeeper集群服务一套clickhouse集群 3.1:zookeeper集群的znode最好能在400w以下(这个时候snapshot文件到达2G+) 3.2:注意监控zookeeper的指标(排队请求?处理延迟?等等),排队请求太多可能会导致插入失败 我们遇到的问题 关于引擎选择 推荐Replicated*MergeTree引擎 1:安全,数据安全,业务安全0 码力 | 14 页 | 1.10 MB | 1 年前3
 8. Continue to use ClickHouse as TSDBsum(time_series) to sum(time_series.sum) What we do QingCloud ChronusDB 青云 QingCloud 自研的一 款高性能、具备强大 分析 能力的时序数据库产品 高性能并发读写 • 千万数据点并发实时写入 • 引入辅助索引,加快数据检索 速度 低成本存储 • 列式存储结合高效的编码 • Delta、XOR 等适合时序场景的压缩算法 • 通过0 码力 | 42 页 | 911.10 KB | 1 年前3 8. Continue to use ClickHouse as TSDBsum(time_series) to sum(time_series.sum) What we do QingCloud ChronusDB 青云 QingCloud 自研的一 款高性能、具备强大 分析 能力的时序数据库产品 高性能并发读写 • 千万数据点并发实时写入 • 引入辅助索引,加快数据检索 速度 低成本存储 • 列式存储结合高效的编码 • Delta、XOR 等适合时序场景的压缩算法 • 通过0 码力 | 42 页 | 911.10 KB | 1 年前3
 3. 数仓ClickHouse多维分析应用实践-朱元clickhouse数仓应用实践 演讲人:朱元 日期: 2019-10-20 所遇问题 目录 CONTENTS 现状背景 应用实践 01 数据链路长 现状 即席查询性能差 数据压缩率低 需求响应慢 02 数据架构 数据同步ck 01 1,基于公司对数据要求为T+1 2. 基于现有开发人员水平及成本 因此采用可视化同步工具kettle. 先将oracle数据平台维0 码力 | 14 页 | 3.03 MB | 1 年前3 3. 数仓ClickHouse多维分析应用实践-朱元clickhouse数仓应用实践 演讲人:朱元 日期: 2019-10-20 所遇问题 目录 CONTENTS 现状背景 应用实践 01 数据链路长 现状 即席查询性能差 数据压缩率低 需求响应慢 02 数据架构 数据同步ck 01 1,基于公司对数据要求为T+1 2. 基于现有开发人员水平及成本 因此采用可视化同步工具kettle. 先将oracle数据平台维0 码力 | 14 页 | 3.03 MB | 1 年前3
共 8 条
- 1













