6. ClickHouse在众安的实践全生命周期管理 追溯与可重现 洞察平台架构 Why Clickhouse? Clickhosue 性能 高效的数据导入和查询性能 开源 低成本,免费 压缩比 高度的数据压缩比,存储成本更小 面向列 真正的面向列存储, 支持高维度表 易观开源OLAP引擎测评报告 洞察数据模型+Clickhouse 使用效果 CHAPTER 使用ck对百亿数据的探索 03 背景 我们希望对保单、用户数据进行灵活分析,根据用户标签筛选出符合 持用户灵活的定义标签并让用户实时得到反馈。 标签平台 clickhouse 保单表 用户表 用户行为表 数据 • 历史保单数据 join 用户数据 join 用户行为数据 • 100+亿行,50+列 • 用户id • 事业部 • 入库时间 • first_policy_premium • ... • phone_flag • ha_flag • ... clickhouse集群配置 • 测试1:手机号非空&健康险365天保费>100的用户车险总保费分布情况 Elapsed Processed rows Throughput Peak memory 4.480s 132.03 million, 9.24GB 29.47millon/s, 2.08GB/s 1.77GiB 测试2:健康险365天保费>100的用户前一年保费分布情况 Elapsed Processed rows Throughput0 码力 | 28 页 | 4.00 MB | 1 年前3
2. 腾讯 clickhouse实践 _2019丁晓坤&熊峰RPC DataNode 基于位图的分布式计算引擎 API Server Scheduler SQL-Parser QueryOptimier Column1 DataNode Column2 Column3 ColumnN Column1 DataNode Column2 Column3 ColumnN bitmap 画像下钻分布式计算引擎 多维 提取 iData大数据分析引擎 iData大数据分析引擎 分布式多维计算引擎 基于位图索引和行式内容存储 分布式画像引擎 基于位图索引和列式内容存储 多维 分析 跟踪 分析 下钻 分析 透视 分析 画像 分析 一切以用户价值为依归 19 业务应用实践 iData 2 旧画像系统 Block 1 Block 2 Block … Storage Scheduler Data Stats Gather … DataNode-2 Block 1 Block 2 Block … DataNode-3 DataNode-1 指标计算平台 Ø 分布式计算 • 并行计算 Ø 列式存储 • 按需加载减少IO • 可支持大量列 Ø 动态位图索引 • 缓存上次结果 • 成本低、命中率高 核心特点 Bitmap Filter Builder Dynamic Bitmap0 码力 | 26 页 | 3.58 MB | 1 年前3
2. Clickhouse玩转每天千亿数据-趣头条解决方案,但是会影响速度 clickhouse的数据目录还不支持多个数据盘,单块盘的大小限制太大 cpu需要根据实际情况而定 解决: 1:机器的内存推荐128G+ 2:采用软连接的方式,把不同的表分布到不同的盘上面,这样一台机器可以挂载更多的盘 最新版本的”冷热数据分离”特性,曲线救国? 我们遇到的问题 order by (timestamp, eventType) or order by 对于累时数据,时间索引基本就失效了,由于timestamp”基数”比较高,对于排在第二位eventType索引, 这个时候对数据的过滤就非常有限了,这个时候几乎就要对当天的数据进行全部扫描 解决: 1:调整索引的顺序,推荐索引列的基数不要太高. 我们遇到的问题 Too many parts(304). Merges are processing significantly slower than inserts. 分析:0 码力 | 14 页 | 1.10 MB | 1 年前3
ClickHouse在B站海量数据场景的落地实践Berserker 数据源管理 交互式 分析查询 Yuuni服务 用户 内核 Map隐式列 v 原⽣Map使⽤Array of Tuple实现 v 原⽣Map查询时需读取⼤量⽆效数据 Map隐式列 v Map隐式列将每个Key存储为独⽴列 v Map隐式列查询时只读取需要的隐式列 Bulkload v 原⽣写⼊⽅式消耗ClickHouse Server资源,影响查询性能 v0 码力 | 26 页 | 2.15 MB | 1 年前3
蔡岳毅-基于ClickHouse+StarRocks构建支撑千亿级数据量的高可用查询引擎虚拟集群最少两台机器在不同的机房; Ø 数据独立,多写,相互不干扰; Ø 数据读取通过应用程序做负载平衡; Ø 灵活创建不同的虚拟集群用于适当的场合; Ø 随时调整服务器,新增/缩减服务器; 分布式: k8s的集群式部署 全球敏捷运维峰会 广州站 采用ClickHouse后平台的查询性能 system.query_log表,记录已经 执行的查询记录 query:执行的详细SQL,查询相关记录可以 左右表join的时候要注意数据量的变化; • 是否采用分布式; • 监控好服务器的cpu/内存波动/`system`.query_log; • 数据存储磁盘尽量采用ssd; • 减少数据中文本信息的冗余存储; • 特别适用于数据量大,查询频次可控的场景,如数据分析,埋点日志系统; 全球敏捷运维峰会 广州站 StarRocks应用小结 • 发挥分布式的优势,要提前做好分区字段规划; • 支0 码力 | 15 页 | 1.33 MB | 1 年前3
4. ClickHouse在苏宁用户画像场景的实践苏宁科技集团.大数据中心.杨兆辉 1 关亍我 苏宁科技集团大数据中心架构师 曾就职亍中兴通讯10+years ,从事大规模分布式系统研发 10+years C++、Java、Go编程经验,熟悉大数据架构、解决方案 ClickHouse Contributor Github: https://github ch_label_dist_double ch_label_dist_date 查询 分布式表 标签数据表 HDFS 导入 HDFS上采用snappy.parquet格式存储数据。 采用AB表切换方式,避免查询和写入的冲突,标签数据表以日期结尾命名。 通过重建分布式表迚行AB表切换,指向丌同日期的标签数据表。 通过增加标签数据表的副本数,提升幵发性能。0 码力 | 32 页 | 1.47 MB | 1 年前3
2. ClickHouse MergeTree原理解析-朱凯省略...] 分区键 排序键 主键 index_granularity = 8192 索引粒度 MergeTree的存储结构 数据以分区的形式被组织 , PARTITION BY 各列独立存储, 按ORDER BY 排序 一级索引, 按PRIMARY Key 排序 数据分区 数据的分区规则 l 不指定分区键 如果不使用分区键,既不使用PARTITION BY声 明任何分区表达式,则分区ID默认取名为all,所 合并MarkRange区间 索引的查询过程 二级索引 跳数索引 目前,MergeTree共支持4种跳数索引,分别是minmax、set和ngrambf_v1和tokenbf_v1。 数据存储 按列存储,精心编排,错落有致 压缩数据块,就好比是一本书的文字段落,是组织文字的基本单元。 压缩数据块 头信息固定使用9位字节表示,具体 由1个UInt8(1字节)整型和2个 UInt32(4字节)整型组成0 码力 | 35 页 | 13.25 MB | 1 年前3
8. Continue to use ClickHouse as TSDB引入辅助索引,加快数据检索 速度 低成本存储 • 列式存储结合高效的编码 • Delta、XOR 等适合时序场景的压缩算法 • 通过 Rollup 功能,对历史数据做聚合,减少数据量 稳定可扩展 • 分布式架构 • 数据多副本存储 • 服务高可用 Thanks For You0 码力 | 42 页 | 911.10 KB | 1 年前3
共 8 条
- 1













