2. 腾讯 clickhouse实践 _2019丁晓坤&熊峰为什么选用ClickHouse l 平台在ClickHouse上的使用 16 业务应用实践 iData 2 腾讯游戏 数据化驱动服务 场景视图: TGlog 服务端采集 腾讯游戏 服务器 腾讯游戏 移动客户端 微信 小游戏 WEB 游戏 海外 游戏 TDM-SDK 客户端采集 特性 采集 大数据基础 PaaS平台 游戏 营销活动 Dbbinlog 数据库采集 Extract Data Representation 20 业务应用实践 iData 2 iData画像服务需要升级 Ø扩展性差 数据导入后结果不支持修改/追加 Ø数据类型有限 数据类型只能支持数字类型 Ø数据量有限 数据量达到10亿级以上查询效率有所降低 Ø单表计算 不能进行多表关联计算 一切以用户价值为依归 21 业务应用实践 iData 2 为什么选择ClickHouse 4亿数据下钻耗时(单机) clickhosue tgface 一切以用户价值为依归 22 业务应用实践 iData 2 • TDW HIVE SQL • 转换成拓展的列 • 嵌套数据类型 • array 数据类型 {"2000352":"2","2":"4","50":"1","26":"28","31":"42"} {"26":"16"} {"26":"32","1":"2","2000209":"1"}0 码力 | 26 页 | 3.58 MB | 1 年前3
蔡岳毅-基于ClickHouse+StarRocks构建支撑千亿级数据量的高可用查询引擎ClickHouse集群架构 Ø 虚拟集群最少两台机器在不同的机房; Ø 数据独立,多写,相互不干扰; Ø 数据读取通过应用程序做负载平衡; Ø 灵活创建不同的虚拟集群用于适当的场合; Ø 随时调整服务器,新增/缩减服务器; 分布式: k8s的集群式部署 全球敏捷运维峰会 广州站 采用ClickHouse后平台的查询性能 system.query_log表,记录已经 执行的查询记录 query:执行的详细SQL,查询相关记录可以 ClickHouse应用小结 • 数据导入之前要评估好分区字段; • 数据导入时根据分区做好Order By; • 左右表join的时候要注意数据量的变化; • 是否采用分布式; • 监控好服务器的cpu/内存波动/`system`.query_log; • 数据存储磁盘尽量采用ssd; • 减少数据中文本信息的冗余存储; • 特别适用于数据量大,查询频次可控的场景,如数据分析,埋点日志系统;0 码力 | 15 页 | 1.33 MB | 1 年前3
6. ClickHouse在众安的实践ClickHouse 百亿数据性能测试与优化 • 性能瓶颈在硬盘io,实验验证 • 数据分布在三台服务器上 • 执行涉及到全表数据的查询(cold data,从硬盘读取),处理速度为~24.28million rows/s • 只用到三块硬盘的io:3*140=420mb/s • 数据分布在六台服务器上 • 执行涉及到全表数据的查询(cold data,从硬盘读取),处理速度为~43.60million0 码力 | 28 页 | 4.00 MB | 1 年前3
4. ClickHouse在苏宁用户画像场景的实践60 时长 结论: • 整形值精确去重场景,groupBitmap 比 uniqExact至少快 2x+ • groupBitmap仅支持整形值去重, uniqExact支持任意类型去重。 • 非精确去重场景,uniq在精准度上有优势。 5 0.25 0.46 0.29 0 0 0 0.05 0.1 0.15 0.2 0.25 Bitmap Container 0 1 1 0 ① ② ③ ④ ClickHouse集成RoaringBitmap Bitmap字段类型,该类型扩展自AggregateFunction类型,字段类型定义: AggregateFunction( groupBitmap, UInt(8|16|32|64)) 参考: https://clickhouse.y 回最终结果 -MergeState:将中间计算结果迚行合幵计算,返回合幵后的中间结果 ClickHouse集成RoaringBitmap Bitmap的运算函数集: 构造Bitmap类型 Bitmap自身戒者之间的位运算 Bitmap不Array双向转换 Bitmap bitmapToArray Array Integer bitmapBuild0 码力 | 32 页 | 1.47 MB | 1 年前3
2. ClickHouse MergeTree原理解析-朱凯型YYYYMMDD格式,则直接按照该整型的字符形式 输出作为分区ID的取值。 l 使用日期类型 如果分区键取值属于日期类型,或者是能够转 换为YYYYMMDD日期格式的整型,则使用按照 YYYYMMDD日期格式化后的字符形式输出作为分区 ID的取值。 l 使用其它类型 如果分区键取值既不属于整型,也不属于日期 类型,例如String、Float等。则通过128位Hash 算法取其Hash值作为分区ID的取值。 8192 索引数据的生成规则 依照索引粒度生成索引,紧凑存储,惜字如金。 PRIMARY KEY ID 索引的查询过程 假如现在有一份测试数据,共192行记录。其中,主键ID为String类型, ID的取值从A000、A001、A002,按顺序增长,直至A192为止。 MergeTree的索引粒度index_granularity = 3。 索引的查询过程 MergeTree会将此数0 码力 | 35 页 | 13.25 MB | 1 年前3
3. 数仓ClickHouse多维分析应用实践-朱元因此采用可视化同步工具kettle. 先将oracle数据平台维度信息以及相关主题清单数据同步至clichouse数据 仓库 Oracle数据平台 • 通过kettle每天 定时导出文件至 本地 Etl服务器 • 通过clickhouse- client将文本导 入ck数据库 clickhouse数据库 数 仓 建 设 01 ck数仓数据模型采用星型模型搭建 02 数 仓 建 设 – 维度表0 码力 | 14 页 | 3.03 MB | 1 年前3
ClickHouse在B站海量数据场景的落地实践Future Work Future Work v ClickHouse集群容器化,提升物理集群资源使⽤率 v ClickHouse倒排索引调研与改造,提升⽇志检索性能 v 丰富ClickHouse编码类型,拓展zorder应⽤场景,提升圈选计算性能 v ClickHouse存算分离探索,降低集群扩容成本 Q&A0 码力 | 26 页 | 2.15 MB | 1 年前3
2. Clickhouse玩转每天千亿数据-趣头条我们遇到的问题 order by (timestamp, eventType) or order by (eventType, timestamp) 业务场景 1:趣头条和米读的上报数据是按照”事件类型”(eventType)进行区分 2:指标系统分”分时”和”累时”指标 3:指标的一般都是会按照eventType进行区分 select count(1) from table where dt=''0 码力 | 14 页 | 1.10 MB | 1 年前3
共 8 条
- 1













