2. 腾讯 clickhouse实践 _2019丁晓坤&熊峰
Load Balancing 一切以用户价值为依归 6 部署与监控管理 1 线性平滑扩容: 扩容: 1.安装新部署新的shard分片机器 2.新shard上创建表结构 3.批量修改当前集群的配置文件增加新的分片 4.名字服务添加节点 一切以用户价值为依归 7 部署与监控管理 1 大批量,少批次 WriteModel BatchSize RowLengt h QPM IOUtils MultiTable 100000 10k 9 49 413 NO 一切以用户价值为依归 8 部署与监控管理 1 应用监控-业务指标: 一切以用户价值为依归 9 部署与监控管理 1 服务监控-错误日志: 一切以用户价值为依归 10 部署与监控管理 1 服务监控-请求指标: 一切以用户价值为依归 11 部署与监控管理 1 服务监控-扫描详情: 一切以用户价值为依归 12 部署与监控管理 部署与监控管理 1 服务监控-响应耗时: 一切以用户价值为依归 13 部署与监控管理 1 立体监控模型: 监控分层 监控项 敏感度 紧急度 应用层 业务指标,数据异常 低 高 服务层 错误日志 中 中 请求指标 扫描详情 响应耗时 物理层 磁盘IO, 持续负载,流量 高 低 一切以用户价值为依归 业务应用实践 iData 14 2 一切以用户价值为依归 15 业务应用实践0 码力 | 26 页 | 3.58 MB | 1 年前3蔡岳毅-基于ClickHouse+StarRocks构建支撑千亿级数据量的高可用查询引擎
依赖稀疏索引,列式存储,cpu/内存的充分利用造就了优秀的计算能力, 并且不用考虑左侧原则; 缺点: 1. 不支持事务,没有真正的update/delete; 2. 不支持高并发,可以根据实际情况修改qps相关配置文件; 全球敏捷运维峰会 广州站 StarRocks的特点 优点: 1. 支持标准的SQL语法,兼容MySql协议; 2. MPP架构,扩缩容非常简单方便; 3. 支持高并发查询; 4 4. 将A_ temp_temp rename成 A_temp; 其他方式: 1. 采用 waterdrop 的方式大幅提升写入速度; 2. 直接读Hdfs文件的方式,但内存波动较大; 全球敏捷运维峰会 广州站 ClickHouse的增量数据同步流程 传统方式: 1. 将最近3个月的数据从Hive通过ETL入到A_temp表; 监控好服务器的cpu/内存波动/`system`.query_log; • 数据存储磁盘尽量采用ssd; • 减少数据中文本信息的冗余存储; • 特别适用于数据量大,查询频次可控的场景,如数据分析,埋点日志系统; 全球敏捷运维峰会 广州站 StarRocks应用小结 • 发挥分布式的优势,要提前做好分区字段规划; • 支持各种join,语法会相对clickhouse简单很多; • 一个sql可以多处用;0 码力 | 15 页 | 1.33 MB | 1 年前3ClickHouse在B站海量数据场景的落地实践
ClickHouse在B站海量数据场景的落地实践 胡甫旺 哔哩哔哩OLAP平台 目录 vClickHouse在B站 v内核 v日志 v用户行为数据分析 vFuture Work vQ&A ClickHouse在B站 B站ClickHouse应用概况 v 近400个节点,30个集群 v ⽇均1.5+万亿条数据摄⼊ v ⽇均800+万次Select请求 v 应⽤场景包括(不限于): (BSQL/Saber/Flink & ClickHouse JDBC) Applications 用户程序 Flink/JDBC/Go/HTTP 标签圈人 。。。 广告DMP 内容定投 内容分析 日志&Trace 平台 APM ClickHouse as Service v Berserker数据源管理: Ø 建表 Ø 修改表元数据 Ø 表元数据管理 v Yuuni: Ø 屏蔽集群信息 ⾮常驻内存模式index load过程慢 v 多并发加载优化索引加载速度: 日志 日志 v Elastic To ClickHouse迁移,降本增效 v OTEL标准化⽇志采集 v 统⼀scheme⽀持 日志 v ClickHouse较ES写⼊吞吐量提升近10倍 v ClickHouse存储成本为ES的1/3 日志 v ClickHouse中采⽤分表,统⼀schema的设计 v ⽇0 码力 | 26 页 | 2.15 MB | 1 年前32. Clickhouse玩转每天千亿数据-趣头条
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 uniqCombined / uniqHLL12 4:Join时小表放到右边,“右表广播” ^v^ 我们遇到的问题 zookeeper相关的问题 问题一:zookeeper的snapshot文件太大,follower从leader同步文件时超时 问题二:zookeeper压力太大,clickhouse表处于”read only mode”,插入失败 分析: clickhouse对zookeeper的依赖还是很 1:zookeeper机器的snapshot文件和log文件最好分盘存储(推荐SSD)提高ZK的响应 2:zookeeper的snapshot文件存储盘不低于1T 3:做好zookeeper集群和clickhouse集群的规划,可以多套zookeeper集群服务一套clickhouse集群 3.1:zookeeper集群的znode最好能在400w以下(这个时候snapshot文件到达2G+) 3.2:注意监控zookeeper的指标(排队请求0 码力 | 14 页 | 1.10 MB | 1 年前32. ClickHouse MergeTree原理解析-朱凯
正是由表引擎,决定了一张 数据表最终的性格,它拥有何种特性、数据以何种形式被存储以及如何被加载。 ClickHouse拥有非常庞大的表引擎体系,截至到目前(19.14.6),共拥有合并树、 内存、文件、接口和其他5大类20多种。 合并树 这众多的表引擎中,又属合并树(MergeTree)表引擎及其家族系列(*MergeTree)最 为强大,在生产环境绝大部分场景中都应该使用此系列的表引擎。 对于每一个新创建的分区目录而言,其初始值均为0。之 后,以分区为单位,如果相同分区发生合并动作,则在相 应分区内计数累积加1。 分区目录的合并过程 一级索引 稀疏索引 primary.idx文件内的一级索引采用稀疏索引实现 如果把MergeTree比作是一本书,那么稀 疏索引就好比是这本书的一级章节目录。 一级章节目录不会具体对照到每个字的位 置,只会记录每个章节的起始页码。 以默认的索引粒度(8192)为例,0 码力 | 35 页 | 13.25 MB | 1 年前33. 数仓ClickHouse多维分析应用实践-朱元
基于现有开发人员水平及成本 因此采用可视化同步工具kettle. 先将oracle数据平台维度信息以及相关主题清单数据同步至clichouse数据 仓库 Oracle数据平台 • 通过kettle每天 定时导出文件至 本地 Etl服务器 • 通过clickhouse- client将文本导 入ck数据库 clickhouse数据库 数 仓 建 设 01 ck数仓数据模型采用星型模型搭建 020 码力 | 14 页 | 3.03 MB | 1 年前34. ClickHouse在苏宁用户画像场景的实践
27 用户画像场景3—用户ID清单—示例 画像条件 查询SQL 28 用户画像新架构的优势 每个标签的数据可以幵行构建,加快标签数据生产速度。 HDFS文件幵发导入ClickHouse,加快标签数据的就绪速度。 查询请求平均响应时长在2秒以下,复杂查询在10秒内。 支持标签数据实时更新,增加标签、删除标签、修改标签。0 码力 | 32 页 | 1.47 MB | 1 年前3
共 7 条
- 1