 4. ClickHouse在苏宁用户画像场景的实践613 50.437 7.038 0 10 20 30 40 50 60 时长 结论: • 整形值精确去重场景,groupBitmap 比 uniqExact至少快 2x+ • groupBitmap仅支持整形值去重, uniqExact支持任意类型去重。 • 非精确去重场景,uniq在精准度上有优势。 5 0.25 0.46 0 最大存储:65536元素 最大空间:128KB 稠密数据,固定大小 最大存储:65536元素 最大空间:8KB RoaringBitmap原理介绍 丼个栗子: 40亿(0xEE6B2800)这个值如何存入RoaringBitmap,以存入Array Container来说明: 12 short[] keys 0x0000 0xEE6B 0xFF01 Array Container 场景:限量发放10万张家电类优惠券,先预估出符合条件的用户数。 操作:用户指定标签及标签间的逡辑关系,统计出符合标签逡辑的人数。 标签表达式,包含标签、算术运算符、逡辑运算符、括号。 整形值,表示符合标签表达式的用户人数 例如: 23 user_number 100000 用户画像场景1—预估人数—示例 画像条件 查询SQL 24 用户画像场景2—人群圈选画像0 码力 | 32 页 | 1.47 MB | 1 年前3 4. ClickHouse在苏宁用户画像场景的实践613 50.437 7.038 0 10 20 30 40 50 60 时长 结论: • 整形值精确去重场景,groupBitmap 比 uniqExact至少快 2x+ • groupBitmap仅支持整形值去重, uniqExact支持任意类型去重。 • 非精确去重场景,uniq在精准度上有优势。 5 0.25 0.46 0 最大存储:65536元素 最大空间:128KB 稠密数据,固定大小 最大存储:65536元素 最大空间:8KB RoaringBitmap原理介绍 丼个栗子: 40亿(0xEE6B2800)这个值如何存入RoaringBitmap,以存入Array Container来说明: 12 short[] keys 0x0000 0xEE6B 0xFF01 Array Container 场景:限量发放10万张家电类优惠券,先预估出符合条件的用户数。 操作:用户指定标签及标签间的逡辑关系,统计出符合标签逡辑的人数。 标签表达式,包含标签、算术运算符、逡辑运算符、括号。 整形值,表示符合标签表达式的用户人数 例如: 23 user_number 100000 用户画像场景1—预估人数—示例 画像条件 查询SQL 24 用户画像场景2—人群圈选画像0 码力 | 32 页 | 1.47 MB | 1 年前3
 2. ClickHouse MergeTree原理解析-朱凯YYYYMMDD日期格式化后的字符形式输出作为分区 ID的取值。 l 使用其它类型 如果分区键取值既不属于整型,也不属于日期 类型,例如String、Float等。则通过128位Hash 算法取其Hash值作为分区ID的取值。 分区目录的命名规则 PartitionID_MinBlockNum_MaxBlockNum_Level • PartitionID 分区ID,无需多说,对于分区ID的规则在上一小节中已 MaxBlockNum取值一样,同等于n。 • Level 合并的层级,可以理解为某个分区被合并过的次数。 Level计数与BlockNum有所不同,它并不是全局累加的。 对于每一个新创建的分区目录而言,其初始值均为0。之 后,以分区为单位,如果相同分区发生合并动作,则在相 应分区内计数累积加1。 分区目录的合并过程 一级索引 稀疏索引 primary.idx文件内的一级索引采用稀疏索引实现 如果把MergeTree比作是一本书,那么稀0 码力 | 35 页 | 13.25 MB | 1 年前3 2. ClickHouse MergeTree原理解析-朱凯YYYYMMDD日期格式化后的字符形式输出作为分区 ID的取值。 l 使用其它类型 如果分区键取值既不属于整型,也不属于日期 类型,例如String、Float等。则通过128位Hash 算法取其Hash值作为分区ID的取值。 分区目录的命名规则 PartitionID_MinBlockNum_MaxBlockNum_Level • PartitionID 分区ID,无需多说,对于分区ID的规则在上一小节中已 MaxBlockNum取值一样,同等于n。 • Level 合并的层级,可以理解为某个分区被合并过的次数。 Level计数与BlockNum有所不同,它并不是全局累加的。 对于每一个新创建的分区目录而言,其初始值均为0。之 后,以分区为单位,如果相同分区发生合并动作,则在相 应分区内计数累积加1。 分区目录的合并过程 一级索引 稀疏索引 primary.idx文件内的一级索引采用稀疏索引实现 如果把MergeTree比作是一本书,那么稀0 码力 | 35 页 | 13.25 MB | 1 年前3
 2. Clickhouse玩转每天千亿数据-趣头条2:设置分区的时候需要思考,数据的特性需要了解 我们遇到的问题 查询过程中clickhouse-server进程挂掉 分析: clickhouse裸奔时max_memory_usage_for_all_queries默认值为0,即不限制clickhouse内存使用 解决: clickhouse安装完成以后,在users.xml文件中配置一下max_memory_usage_for_all_queries,控制 cli0 码力 | 14 页 | 1.10 MB | 1 年前3 2. Clickhouse玩转每天千亿数据-趣头条2:设置分区的时候需要思考,数据的特性需要了解 我们遇到的问题 查询过程中clickhouse-server进程挂掉 分析: clickhouse裸奔时max_memory_usage_for_all_queries默认值为0,即不限制clickhouse内存使用 解决: clickhouse安装完成以后,在users.xml文件中配置一下max_memory_usage_for_all_queries,控制 cli0 码力 | 14 页 | 1.10 MB | 1 年前3
共 3 条
- 1













