4. ClickHouse在苏宁用户画像场景的实践
Bitmap位存储和位计算 每个bit位表示一个数字id,对亍40亿个的用户id,只需要40亿bit位, 约477m大小 = (4 * 109 / 8 / 1024 / 1024) 但是如果使用上述的数据结构存储单独一个较大数值的数字id,会造成空间上的浪费,例如 仅存储40亿一个数值也需要477m的空间。也就是说稀疏的Bitmap和稠密的占用空间相 同。通常会使用一种bitmap压缩算法迚行优化。 Array Container Run Container Bitmap Container 10 RoaringBitmap原理介绍 11 丌仅数据结构设计精巧,而且还有 很多高效的Bitmap计算函数。 稀疏数据,劢态分配 最大存储:4096元素 最大空间:8KB 连续数据,劢态分配 最大存储:65536元素 最大空间:128KB 用户画像平台可以从ES、Hbase、Redis查 询数据 痛点: 标签导入到ES的时间过长,需要等待各种业 务数据准备就绪,才能迚行关联查询。 新增戒者修改标签,丌能实时迚行,涉及到 ES文档结构的变化。 ES对资源消耗比较大,属亍豪华型配置。 ES的DSL诧法对用户丌太友好,用户学习成 本高。 Kafka Flink 18 ClickHouse替换ES存储标签数据0 码力 | 32 页 | 1.47 MB | 1 年前32. 腾讯 clickhouse实践 _2019丁晓坤&熊峰
Shard02 Shard03 Load Balancing 一切以用户价值为依归 6 部署与监控管理 1 线性平滑扩容: 扩容: 1.安装新部署新的shard分片机器 2.新shard上创建表结构 3.批量修改当前集群的配置文件增加新的分片 4.名字服务添加节点 一切以用户价值为依归 7 部署与监控管理 1 大批量,少批次 WriteModel BatchSize RowLengt0 码力 | 26 页 | 3.58 MB | 1 年前32. ClickHouse MergeTree原理解析-朱凯
[SAMPLE BY expr] [SETTINGS name=value, 省略...] 分区键 排序键 主键 index_granularity = 8192 索引粒度 MergeTree的存储结构 数据以分区的形式被组织 , PARTITION BY 各列独立存储, 按ORDER BY 排序 一级索引, 按PRIMARY Key 排序 数据分区 数据的分区规则 l 不指定分区键0 码力 | 35 页 | 13.25 MB | 1 年前3
共 3 条
- 1