4. ClickHouse在苏宁用户画像场景的实践精确去重计数(count distinct) 3 精确去重计数性能测试 4亿多的数据集上,去重计算出6千万整形数值, 非精确去重函数:uniq、uniqHLL12、uniqCombined 精确去重函数:uniqExact、groupBitmap 函数 时长(秒) 去重后个数 误差个数 误差率 uniq(id) 1.554 63195280 155973 0.25% 会造成空间上的浪费,例如 仅存储40亿一个数值也需要477m的空间。也就是说稀疏的Bitmap和稠密的占用空间相 同。通常会使用一种bitmap压缩算法迚行优化。 RoaringBitmap是一种已被业界广泛使用的高效的bitmap压缩算法,使用者包括Spark、 Hive、ElasticSearch、Kylin、Druid、InfluxDB等, 详见:http://roaringbitmap 集合:[1, 2, 3, 5, 8, 13, 21] RoaringBitmap原理介绍 主要原理:将32bit的Integer划分为高16位和低16位(两个short int),两者之间是Key-Value的 关系。高16位存到short[] keys,通过高16位(Key)找到所对应Container,然后把剩余的低 16位(Value)放入该Container中,RoaringBitmap有三类Container:0 码力 | 32 页 | 1.47 MB | 1 年前3
2. 腾讯 clickhouse实践 _2019丁晓坤&熊峰Ø单表计算 不能进行多表关联计算 一切以用户价值为依归 21 业务应用实践 iData 2 为什么选择ClickHouse • SQL • OLAP • 超高性能 • 列式存储 • 统计函数 • 线性扩展 • 驱动丰富 0.817 1.883 1.168 1.417 1.15 1.751 2.762 1.474 1.11 2.786 3.47 4.362 30 码力 | 26 页 | 3.58 MB | 1 年前3
2. ClickHouse MergeTree原理解析-朱凯价值挖掘 多维探索 灵活 快速 自助 洞察 预警 消息 交互 Agenda. 数据分区 01 / 一级索引&二级索引 02 / 数据存储 03 / 数据标记 04 / 表引擎 表引擎,是ClickHouse设计实现中的一大特色。可以说正是由表引擎,决定了一张 数据表最终的性格,它拥有何种特性、数据以何种形式被存储以及如何被加载。 ClickHouse拥有非常庞大的表引擎体系,截至到目前(19 如果分区键取值属于整型(兼容UInt64,包括 有符号整型和无符号整型),且无法转换为日期类 型YYYYMMDD格式,则直接按照该整型的字符形式 输出作为分区ID的取值。 l 使用日期类型 如果分区键取值属于日期类型,或者是能够转 换为YYYYMMDD日期格式的整型,则使用按照 YYYYMMDD日期格式化后的字符形式输出作为分区 ID的取值。 l 使用其它类型 如果分区键取值既不属于整型,也不属于日期 类型,例如 PartitionID 分区ID,无需多说,对于分区ID的规则在上一小节中已 经做过了详细的阐述。 • MinBlockNum和MaxBlockNum 顾名思义,最小数据块编号与最大数据块编号。这里的 BlockNum是一个整型的自增长编号。如果将其设为n的话 ,那么计数n在单张MergeTree数据表内全局累加,n从1 开始,每当新创建一个分区目录时,计数n就会累积加1 。对于一个新的分区目录而言,MinBlockNum与0 码力 | 35 页 | 13.25 MB | 1 年前3
2. Clickhouse玩转每天千亿数据-趣头条• 业务背景 • 集群现状 • 我们遇到的问题 业务背景 基于storm的实时指标的计算存在的问题 1:指标口径(SQL) -> 实时任务 2:数据的回溯 3:稳定性 业务背景 什么是我们需要的? 1:实时指标SQL化 2:数据方便回溯,数据有问题,方便恢复 3:运维需要简单 4:计算要快,在一个周期内,要完成所有的指标的计算 集群现状 100+台32核128G 部分复杂累时查询30S内完成 1:趣头条和米读的上报数据是按照”事件类型”(eventType)进行区分 2:指标系统分”分时”和”累时”指标 3:指标的一般都是会按照eventType进行区分 select count(1) from table where dt='' and timestamp>='' and timestamp<='' and eventType='' 建表的时候缺乏深度思考,由于分时指标的特性,我们的表是order 用量 2:除了些简单的SQL,空间复杂度是O(1) 如: select count(1) from table where column=value select column1, column2 from table where column=value 凡是涉及group by, order by, distinct, join这样的SQL内存占用不再是O(1) 解决: 1:max_byte0 码力 | 14 页 | 1.10 MB | 1 年前3
6. ClickHouse在众安的实践2019年10月27日 众安保险 • 成立于2013年,是中国第一家互联网保险公司。 • 互联网保险特点: 1. 场景化 2. 高频化 3. 碎片化 • 今年上半年众安上半年服务用户3.5亿,销售保单33.3亿张。 CHAPTER 报表系统的现状 01 数据分析的最直观表现形式:报表 报表≠数据驱动 每天被访问超过10次的报表寥寥无几 传统报表访问往往是静态的、高聚合、低频、表单式的 集智平台可视化交互分析 竞争优势 分析成熟度 洞察与应对 预测与行动 源数据 数据清洗 标准报表 OLAP系统 商务智能(BI) 机器学习建模 人工智能优化 发生了什么? 为什么发生? 什么会发生? 什么是最佳决策? 分析性数据仓库 数据洞察与可视化 数据治理 预测分析与机器学习 CHAPTER 众安集智平台与clickhouse 02 集智平台 X-Brain AI 开放平台 计算框架 执行涉及到全表数据的查询(cold data,从硬盘读取),处理速度为~43.60million rows/s • 用到六块硬盘的io:6*140=840mb/s • io吞吐量加倍时,对于冷数据的处理速度是之前的~180% 28 ClickHouse 百亿数据性能测试与优化 • 硬盘存储升级 • 高效云盘 --> SSD + RAID0 • 140MBps --> ~600MBps, ~4x0 码力 | 28 页 | 4.00 MB | 1 年前3
3. 数仓ClickHouse多维分析应用实践-朱元ck数仓数据模型采用星型模型搭建 02 数 仓 建 设 – 维度表 一般维度表数据量不大. 目前采用的是引擎Log+字典表(dictionary) 数 仓 建 设 – 主题事实清单表 主题事实清单表采用引擎MergeTree. 同步策略: 每日从 oracle数据平台增量同步到ck数仓. 数 仓 建 设 – 对外数据 目前对外开放是主题事实清单表+维度表 封装成一个视图,类 似如下 数 据 展 示 + 多 维 解决:通过在users.xml 配置 max_bytes_before_external_sort max_bytes_before_external_group_by 2. 用户并发量一上来,负载太高 解决:目前是在中间加redis缓存0 码力 | 14 页 | 3.03 MB | 1 年前3
蔡岳毅-基于ClickHouse+StarRocks构建支撑千亿级数据量的高可用查询引擎2. MPP架构,扩缩容非常简单方便; 3. 支持高并发查询; 4. 跨机房部署,实现最低成本的DR 缺点: 1. 不支持大规模的批处理; 2. 支持insert into,但最理想的是消费Kafka; 全球敏捷运维峰会 广州站 ClickHouse/StarRocks在酒店数据智能平台的架构 全球敏捷运维峰会 广州站 ClickHouse的全量数据同步流程0 码力 | 15 页 | 1.33 MB | 1 年前3
共 7 条
- 1













