画像系统人群服务数据存储架构的演进与创新| 京东云技术团队
内容提要
画像系统是一种数据管理和分析工具,通过整合和分析多维度信息,构建用户的详细画像,实现精准营销和精细化运营。系统提供标签注册、群体圈选、群体服务等能力。挑战包括高性能、高并发、高可用和大数据处理。系统采用Bitmap和ClickHouse技术解决存储空间问题。
延伸解读
从物理机到R2M:存储架构演进的关键动因
文章显示,早期方案将群体数据从OSS拉取到物理机内存,虽性能达标,但面临初始化慢、扩容成本高、运维工具少等问题。随着群体数量从8000+膨胀到25000+,物理机内存接近极限,且网络抖动导致拉取不完整,影响TP999。迁移到JDOS后,192G物理机进一步加剧存储压力。这些因素共同推动了向R2M集群的迁移,以提升可用性、可靠性和运维效率。
Bitmap与RoaringBitmap:如何应对数十亿级用户pin
面对17000+群体和40亿+pin,文本存储需60G以上,不可接受。文章采用Bitmap思想,每个pin用1bit标识,并通过offset编码将字符串pin转为整型。但普通Bitmap在稀疏数据下仍浪费空间,因此引入RoaringBitmap,将32位整型拆分为高16位桶和低16位容器,仅创建非空容器,实现高效压缩。当前使用0.8.13版本,支持ArrayContainer等容器类型。
ClickHouse在画像系统中的角色与局限
ClickHouse作为列式OLAP数据库,具备列式存储、数据压缩、分布式查询等特性,适合标签群体的组合计算和存储。文章利用其Bitmap函数进行交并差运算,并存储群体位图。但需注意,CK版本曾不支持大于2的32次方位图计算,团队通过拆分高低32位bitmap绕过限制。此外,CK查询压力通过OSS备份和缓存分层缓解,并非所有场景都直接查询CK。
新方案性能提升与运维改进
采用R2M集中缓存后,接口整体TP999从40ms降至10ms以内。新方案还增加了群体推送服务,将数据新增、更新、删除、检测、重试等操作可视化,提升了可监测性和有效性。相比自研分布式存储,R2M具备自动扩容、主从切换、异地备份等能力,且由运维团队专业维护,降低了硬件成本和运维复杂度。但文章也指出,新方案依赖缓存集群,需关注其稳定性。
Q&A
画像系统的主要功能是什么?
画像系统主要功能包括标签注册、群体圈选和群体服务等,帮助实现精准营销和精细化运营。
画像系统面临哪些技术挑战?
画像系统面临高性能、高并发和大数据处理的挑战,尤其是在处理大量用户数据时。
Bitmap和ClickHouse在画像系统中有什么作用?
Bitmap用于存储用户pin,节省存储空间;ClickHouse用于群体数据的存储和查询,支持高性能分析。
如何实现精准营销?
通过命中接口连接用户数据和营销活动,确保营销信息准确传递给合适的用户群体。
新方案R2M集群的优势是什么?
R2M集群具有自动扩容能力,支持主从切换和异地备份,提高系统的可用性和可靠性。
RoaringBitmap的压缩效果如何?
RoaringBitmap通过将数据分成高低位两部分,优化存储和计算性能,提供高效的压缩位图实现。