暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

画像系统标准化设计 - PostgreSQL roaringbitmap, varbitx , 正向关系, 反向关系, 圈选, 相似扩选(向量相似扩选)

digoal 2019-11-28
1224

作者

digoal

日期

2019-11-28

标签

PostgreSQL , roaringbitmap , tag , 图像 , cube , 向量相似 , 扩选人群


背景

用户画像系统是让数据产生价值变现的常用手段,是精准对接供需双方的桥梁。例如有一批实时用户画像,广告主根据要求可以快速从用户画像数据中圈选精准目标人群。根据某些特征值,圈选具有相似特征值的人群。

针对用户画像人群精准圈选、特征值向量相似扩选人群,两类需求。PostgreSQL里面有标准的解决方案。

1、圈选:varbitx, pg_roaringbitmap

2、相似扩选:cube, imgmlr, 或者自定义扩展算法(作为PG的插件引入到PG中,支持索引加速)

例子 - 画像圈选

连续数据离散化(例如连续的 数值、地理位置)

确实无法离散的,在正向关系数据表中二次查询

1、pg_roaringbitmap

2、创建正向和反向关系表

create table t_tags(tagid int, users rb); create table t_users(uid int8, tag1 int, tag2 int, ....);

3、业务需求转换为sql

select 有多少人满足条件(人数cardinat) from t_tags where tag(bit运算, 与、或、非、异或)

select newrb from t_tags where tag(bit运算, 与、或、非、异或)

select 展开人群uid unnest(newrb) from t_tags where tag(bit运算, 与、或、非、异或)

insert into t_tags(新的人群) select newtagid, newrb from t_tags where tag(bit运算, 与、或、非、异或)

select tag1, count(*) 圈选出来的目标人群画像 from t_users where uid = any (rb_to_array(newrb));

以上所有操作,参考pg_roaringbitmap的操作方法

《PostgreSQL pg_roaringbitmap - 用户画像、标签、高效检索》

例子 - 特征值扩选

人群扩展可以直接使用内置算法imgsmlr、cube,也可以根据业务特点扩展相似算法。

《阿里云PostgreSQL 向量搜索、相似搜索、图像搜索 插件 palaemon - ivfflat , hnsw , nsg , ssg》

《PostgreSQL 多维、图像 欧式距离、向量距离、向量相似 查询优化 - cube,imgsmlr - 压缩、分段、异步并行》

《PostgreSQL 11 相似图像搜索插件 imgsmlr 性能测试与优化 3 - citus 8机128shard (4亿图像)》

《PostgreSQL 11 相似图像搜索插件 imgsmlr 性能测试与优化 2 - 单机分区表 (dblink 异步调用并行) (4亿图像)》

《PostgreSQL 11 相似图像搜索插件 imgsmlr 性能测试与优化 1 - 单机单表 (4亿图像)》

《脑王水哥王昱珩惜败人工智能, 这不可能. - 图像识别到底是什么鬼》

《PostgreSQL 多维空间几何对象 相交、包含 高效率检索实践 - cube》

《PostgreSQL 相似人群圈选,人群扩选,向量相似 使用实践 - cube》

分布式,增加计算能力

画像系统、人群圈选的业务比较单一,很容易扩展:例如 citus, plproxy。

《PostgreSQL 最佳实践 - 水平分库(基于plproxy)》

《PostgreSQL sharding : citus 系列1 - 多机部署(含OLTP(TPC-B)测试)- 含Citus MX模式》

参考

《PostgreSQL pg_roaringbitmap - 用户画像、标签、高效检索》

《PostgreSQL (varbit, roaring bitmap) VS pilosa(bitmap库)》

《地理位置画像、连锁店圈人、地理围栏圈人、多地圈选、multi-polygon圈选、多点圈选》

《HTAP数据库 PostgreSQL 场景与性能测试之 20 - (OLAP) 用户画像圈人场景 - 多个字段任意组合条件筛选与透视》

《HTAP数据库 PostgreSQL 场景与性能测试之 19 - (OLAP) 用户画像圈人场景 - 数组相交查询与聚合》

《HTAP数据库 PostgreSQL 场景与性能测试之 18 - (OLAP) 用户画像圈人场景 - 数组包含查询与聚合》

《画像圈人 + 人群行为透视》

《阿里云RDS for PostgreSQL varbitx插件与实时画像应用场景介绍》

《基于 阿里云 RDS PostgreSQL 打造实时用户画像推荐系统(varbitx)》

《恭迎万亿级营销(圈人)潇洒的迈入毫秒时代 - 万亿user_tags级实时推荐系统数据库设计》

PostgreSQL 许愿链接

您的愿望将传达给PG kernel hacker、数据库厂商等, 帮助提高数据库产品质量和功能, 说不定下一个PG版本就有您提出的功能点. 针对非常好的提议,奖励限量版PG文化衫、纪念品、贴纸、PG热门书籍等,奖品丰富,快来许愿。开不开森.

9.9元购买3个月阿里云RDS PostgreSQL实例

PostgreSQL 解决方案集合

德哥 / digoal's github - 公益是一辈子的事.

digoal's wechat

文章转载自digoal,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论