ClickHouse Bitmap用户画像存储方案性能测试

目录

一、环境准备

二、测试流程:

1、制造测试数据

2、测试维度

三、测试结果

1、查询标签预估人数

2、查询标签所有的userId

3、人群圈选交集人数预估

4、人群圈选交集用户计算

5、查询单个用户标签画像


一、环境准备

机器性配置: 4H8G

JDK 1.8

二、测试流程:

1、制造测试数据

造了350个用户标签,用户userId约25亿,从以下几个角度验证计算性能

┌─ln───────────────────┬─lv───────────┬───────uv─┐
│ 测试                 │ 测试1        │        0 │
│ 手机型号             │ vivo         │       95 │
│ 手机型号             │ 华为         │       95 │
│ 手机型号             │ oppo         │       95 │
│ 手机型号             │ 小米         │       95 │
│ 手机型号             │ 三星         │       96 │
│ App活跃用户          │ 最近14天     │       96 │
│ App活跃用户          │ 最近21天     │       97 │
│ 性别                 │ 女           │       97 │
│ 性别                 │ 男           │       97 │
│ 手机型号             │ 苹果         │       98 │
│ App活跃用户          │ 最近7天      │       98 │
│ App活跃用户          │ 最近30天     │       99 │
│ general              │ 女           │    50001 │
│ 标签43               │ 标签43_值_2  │   951315 │
│ 标签26               │ 标签26_值_3  │   951336 │
│ 标签1                │ 标签1_值_1   │   951366 │
│ 标签75               │ 标签75_值_2  │   951380 │
│ 标签15               │ 标签15_值_3  │   951431 │
│ 标签38               │ 标签38_值_4  │   951464 │
│ 标签49               │ 标签49_值_4  │   951514 │
│ 标签52               │ 标签52_值_0  │   951520 │
│ 标签41               │ 标签41_值_4  │   951537 │
│ 标签75               │ 标签75_值_1  │   951541 │
│ 标签1                │ 标签1_值_0   │   951563 │
│ 标签15               │ 标签15_值_0  │   951586 │
│ 标签38               │ 标签38_值_3  │   951643 │
│ 标签26               │ 标签26_值_4  │   951655 │
│ 标签52               │ 标签52_值_2  │   951679 │
│ 标签52               │ 标签52_值_1  │   951683 │
│ 标签58               │ 标签58_值_0  │   951706 │
│ 标签49               │ 标签49_值_2  │   951715 │
│ 标签15               │ 标签15_值_1  │   951728 │
│ 标签58               │ 标签58_值_1  │   951732 │
│ 标签49               │ 标签49_值_3  │   951749 │
│ 标签85               │ 标签85_值_0  │   951808 │
│ 标签1                │ 标签1_值_2   │   951852 │
│ 标签15               │ 标签15_值_2  │   951890 │
│ 标签75               │ 标签75_值_0  │   951968 │
│ 标签1                │ 标签1_值_3   │   952119 │
│ 关注用户数           │ 10-20        │   999454 │
│ 是否App新用户        │ 是           │   999484 │
│ 增值服务累计购买金额 │ 40000+       │   999486 │
│ App近30天活跃次数    │ 30+          │   999489 │
│ 是否主题域新用户     │ 是           │   999501 │
│ 是否平台新用户       │ 否           │   999514 │
│ App最近一次登录方式  │ facebook     │   999518 │
│ 是否平台新用户       │ 是           │  1009499 │
│ 标签40               │ 标签40_值_2  │  1811765 │
│ 标签40               │ 标签40_值_4  │  1812093 │
│ 标签50               │ 标签50_值_4  │  1812324 │
│ 标签40               │ 标签40_值_3  │  1812394 │
│ 标签29               │ 标签29_值_3  │  1812398 │
│ 标签98               │ 标签98_值_3  │  1812582 │
│ 标签6                │ 标签6_值_1   │  1812627 │
│ 标签99               │ 标签99_值_0  │  1812634 │
│ 标签98               │ 标签98_值_0  │  1812640 │
│ 标签50               │ 标签50_值_2  │  1812787 │
│ 标签99               │ 标签99_值_1  │  1812788 │
│ 标签98               │ 标签98_值_1  │  1812931 │
│ 标签50               │ 标签50_值_3  │  1813014 │
│ 标签98               │ 标签98_值_2  │  1813072 │
│ 标签50               │ 标签50_值_1  │  1813104 │
│ 标签40               │ 标签40_值_1  │  1813203 │
│ 标签29               │ 标签29_值_4  │  1813473 │
│ 关注用户数           │ 20-30        │  1998033 │
│ 标签12               │ 标签12_值_2  │  2591211 │
│ 标签70               │ 标签70_值_0  │  2591456 │
│ 标签12               │ 标签12_值_1  │  2591534 │
│ 标签28               │ 标签28_值_1  │  2591633 │
│ 标签90               │ 标签90_值_0  │  2591701 │
│ 标签70               │ 标签70_值_4  │  2591792 │
│ 标签70               │ 标签70_值_3  │  2591894 │
│ 标签28               │ 标签28_值_2  │  2592043 │
│ 标签28               │ 标签28_值_0  │  2592173 │
│ 标签90               │ 标签90_值_1  │  2592211 │
│ 标签70               │ 标签70_值_1  │  2592255 │
│ 标签70               │ 标签70_值_2  │  2592352 │
│ 是否主题域新用户     │ 否           │  2995466 │
│ App近30天活跃次数    │ 10-30        │  2995518 │
│ App最近一次登录方式  │ 支付宝       │  2995549 │
│ 标签54               │ 标签54_值_1  │  3295754 │
│ 标签54               │ 标签54_值_3  │  3295841 │
│ 标签23               │ 标签23_值_3  │  3296201 │
│ 标签34               │ 标签34_值_4  │  3296336 │
│ 标签23               │ 标签23_值_4  │  3296479 │
│ 标签88               │ 标签88_值_1  │  3296536 │
│ 标签54               │ 标签54_值_0  │  3296708 │
│ 标签88               │ 标签88_值_0  │  3296836 │
│ 标签89               │ 标签89_值_0  │  3296876 │
│ 标签54               │ 标签54_值_4  │  3297087 │
│ 标签67               │ 标签67_值_0  │  3297099 │
│ 标签54               │ 标签54_值_2  │  3297338 │
│ 标签29               │ 标签29_值_1  │  3932805 │
│ 标签16               │ 标签16_值_1  │  3933676 │
│ 标签62               │ 标签62_值_3  │  3934138 │
│ 标签29               │ 标签29_值_0  │  3934328 │
│ 标签16               │ 标签16_值_2  │  3934415 │
│ 标签16               │ 标签16_值_0  │  3934639 │
│ 标签16               │ 标签16_值_3  │  3934645 │
│ 标签29               │ 标签29_值_2  │  3934690 │
│ 标签73               │ 标签73_值_1  │  3934745 │
│ 标签7                │ 标签7_值_3   │  3935026 │
│ 标签77               │ 标签77_值_1  │  3935087 │
│ 标签7                │ 标签7_值_2   │  3935111 │
│ 标签16               │ 标签16_值_4  │  3935256 │
│ 标签73               │ 标签73_值_2  │  3935290 │
│ 标签62               │ 标签62_值_4  │  3935373 │
│ 标签62               │ 标签62_值_2  │  3935432 │
│ 标签7                │ 标签7_值_1   │  3935468 │
│ 标签3                │ 标签3_值_2   │  3935581 │
│ 标签77               │ 标签77_值_0  │  3935598 │
│ 标签7                │ 标签7_值_4   │  3935729 │
│ 标签62               │ 标签62_值_1  │  3935775 │
│ 标签73               │ 标签73_值_0  │  3936045 │
│ 标签62               │ 标签62_值_0  │  3936604 │
│ 标签76               │ 标签76_值_0  │  4510139 │
│ 标签34               │ 标签34_值_2  │  4510609 │
│ 标签34               │ 标签34_值_3  │  4511120 │
│ 标签40               │ 标签40_值_0  │  4511250 │
│ 标签76               │ 标签76_值_2  │  4511375 │
│ 标签34               │ 标签34_值_1  │  4511553 │
│ 标签78               │ 标签78_值_2  │  4511762 │
│ 标签60               │ 标签60_值_0  │  4511779 │
│ 标签78               │ 标签78_值_1  │  4511868 │
│ 标签94               │ 标签94_值_0  │  4512033 │
│ 标签50               │ 标签50_值_0  │  4512034 │
│ 标签2                │ 标签2_值_2   │  4512157 │
│ 标签60               │ 标签60_值_2  │  4512822 │
│ 标签60               │ 标签60_值_1  │  4512927 │
│ 标签76               │ 标签76_值_1  │  4512969 │
│ 标签34               │ 标签34_值_0  │  4513043 │
│ 标签78               │ 标签78_值_0  │  4513182 │
│ 关注用户数           │ 50-100       │  4987442 │
│ 增值服务累计购买金额 │ 10000-20000  │  4987683 │
│ 标签3                │ 标签3_值_0   │  5033584 │
│ 标签79               │ 标签79_值_0  │  5033935 │
│ 标签79               │ 标签79_值_1  │  5034129 │
│ 标签56               │ 标签56_值_0  │  5034160 │
│ 标签43               │ 标签43_值_0  │  5034545 │
│ 标签3                │ 标签3_值_1   │  5035575 │
│ 标签43               │ 标签43_值_1  │  5035667 │
│ 标签19               │ 标签19_值_3  │  5504183 │
│ 标签66               │ 标签66_值_1  │  5504592 │
│ 标签41               │ 标签41_值_1  │  5505238 │
│ 标签6                │ 标签6_值_0   │  5505445 │
│ 标签20               │ 标签20_值_4  │  5505520 │
│ 标签96               │ 标签96_值_0  │  5505640 │
│ 标签93               │ 标签93_值_2  │  5505684 │
│ 标签41               │ 标签41_值_0  │  5505695 │
│ 标签100              │ 标签100_值_0 │  5505771 │
│ 标签93               │ 标签93_值_1  │  5505826 │
│ 标签41               │ 标签41_值_2  │  5505966 │
│ 标签19               │ 标签19_值_2  │  5506111 │
│ 标签65               │ 标签65_值_3  │  5506291 │
│ 标签19               │ 标签19_值_1  │  5506379 │
│ 标签65               │ 标签65_值_1  │  5506398 │
│ 标签20               │ 标签20_值_2  │  5506429 │
│ 标签65               │ 标签65_值_0  │  5506474 │
│ 标签19               │ 标签19_值_0  │  5506480 │
│ 标签65               │ 标签65_值_2  │  5506487 │
│ 标签45               │ 标签45_值_0  │  5506562 │
│ 标签22               │ 标签22_值_4  │  5506661 │
│ 标签12               │ 标签12_值_0  │  5506717 │
│ 标签93               │ 标签93_值_0  │  5506726 │
│ 标签20               │ 标签20_值_3  │  5506841 │
│ 标签66               │ 标签66_值_0  │  5506957 │
│ 标签41               │ 标签41_值_3  │  5506972 │
│ 标签0                │ 标签0_值_3   │  5507417 │
│ 标签66               │ 标签66_值_2  │  5508076 │
│ 标签91               │ 标签91_值_0  │  5508122 │
│ 标签64               │ 标签64_值_0  │  5932408 │
│ 标签57               │ 标签57_值_1  │  5932684 │
│ 标签21               │ 标签21_值_0  │  5933347 │
│ 标签72               │ 标签72_值_2  │  5933560 │
│ 标签37               │ 标签37_值_0  │  5933628 │
│ 标签44               │ 标签44_值_1  │  5933805 │
│ 标签37               │ 标签37_值_3  │  5933883 │
│ 标签81               │ 标签81_值_0  │  5933983 │
│ 标签72               │ 标签72_值_1  │  5934065 │
│ 标签37               │ 标签37_值_2  │  5934378 │
│ 标签35               │ 标签35_值_1  │  5934969 │
│ 标签57               │ 标签57_值_2  │  5935053 │
│ 标签57               │ 标签57_值_0  │  5935169 │
│ 标签25               │ 标签25_值_2  │  5935205 │
│ 标签37               │ 标签37_值_1  │  5935512 │
│ 标签72               │ 标签72_值_0  │  5936261 │
│ 是否App新用户        │ 否           │  5982165 │
│ App最近一次登录方式  │ 微信         │  5982244 │
│ 标签26               │ 标签26_值_1  │  6319836 │
│ 标签55               │ 标签55_值_3  │  6319970 │
│ 标签68               │ 标签68_值_0  │  6320005 │
│ 标签11               │ 标签11_值_1  │  6320686 │
│ 标签53               │ 标签53_值_0  │  6320810 │
│ 标签27               │ 标签27_值_2  │  6321102 │
│ 标签55               │ 标签55_值_0  │  6321259 │
│ 标签11               │ 标签11_值_2  │  6321286 │
│ 标签55               │ 标签55_值_4  │  6321301 │
│ 标签55               │ 标签55_值_1  │  6321443 │
│ 标签26               │ 标签26_值_2  │  6321673 │
│ 标签55               │ 标签55_值_2  │  6321783 │
│ 标签68               │ 标签68_值_2  │  6321973 │
│ 标签68               │ 标签68_值_3  │  6322051 │
│ 标签53               │ 标签53_值_1  │  6322300 │
│ 标签26               │ 标签26_值_0  │  6322500 │
│ 标签11               │ 标签11_值_3  │  6322583 │
│ 标签68               │ 标签68_值_1  │  6322606 │
│ 标签13               │ 标签13_值_1  │  6322617 │
│ 标签27               │ 标签27_值_3  │  6322635 │
│ 标签13               │ 标签13_值_2  │  6323719 │
│ 标签18               │ 标签18_值_3  │  6668910 │
│ 标签61               │ 标签61_值_3  │  6669141 │
│ 标签71               │ 标签71_值_1  │  6669566 │
│ 标签71               │ 标签71_值_4  │  6669837 │
│ 标签36               │ 标签36_值_4  │  6670184 │
│ 标签71               │ 标签71_值_2  │  6670205 │
│ 标签51               │ 标签51_值_1  │  6670455 │
│ 标签51               │ 标签51_值_2  │  6670553 │
│ 标签63               │ 标签63_值_0  │  6670558 │
│ 标签39               │ 标签39_值_1  │  6670559 │
│ 标签61               │ 标签61_值_1  │  6670617 │
│ 标签71               │ 标签71_值_3  │  6670886 │
│ 标签71               │ 标签71_值_0  │  6671048 │
│ 标签61               │ 标签61_值_0  │  6671053 │
│ 标签61               │ 标签61_值_2  │  6671096 │
│ 标签51               │ 标签51_值_0  │  6671134 │
│ 标签39               │ 标签39_值_2  │  6671171 │
│ 标签25               │ 标签25_值_0  │  6671211 │
│ 标签36               │ 标签36_值_2  │  6671420 │
│ 标签24               │ 标签24_值_1  │  6671455 │
│ 标签39               │ 标签39_值_3  │  6671739 │
│ 标签63               │ 标签63_值_1  │  6672251 │
│ 标签51               │ 标签51_值_3  │  6672283 │
│ 标签18               │ 标签18_值_1  │  6672348 │
│ 标签36               │ 标签36_值_3  │  6672351 │
│ 标签14               │ 标签14_值_3  │  6672394 │
│ 标签14               │ 标签14_值_4  │  6672534 │
│ 标签69               │ 标签69_值_0  │  6672582 │
│ 标签25               │ 标签25_值_1  │  6672855 │
│ 标签18               │ 标签18_值_2  │  6673508 │
│ 标签44               │ 标签44_值_0  │  6986260 │
│ 标签92               │ 标签92_值_4  │  6986685 │
│ 标签97               │ 标签97_值_2  │  6986693 │
│ 标签46               │ 标签46_值_1  │  6986888 │
│ 标签97               │ 标签97_值_0  │  6986926 │
│ 标签84               │ 标签84_值_0  │  6987399 │
│ 标签46               │ 标签46_值_2  │  6987738 │
│ 标签32               │ 标签32_值_3  │  6987976 │
│ 标签46               │ 标签46_值_3  │  6987987 │
│ 标签33               │ 标签33_值_1  │  6988094 │
│ 标签35               │ 标签35_值_0  │  6988197 │
│ 标签92               │ 标签92_值_3  │  6988307 │
│ 标签33               │ 标签33_值_3  │  6988587 │
│ 标签84               │ 标签84_值_1  │  6988740 │
│ 标签92               │ 标签92_值_1  │  6988798 │
│ 标签92               │ 标签92_值_0  │  6989206 │
│ 标签92               │ 标签92_值_2  │  6989241 │
│ 标签33               │ 标签33_值_2  │  6989877 │
│ 标签97               │ 标签97_值_1  │  6990093 │
│ 标签9                │ 标签9_值_3   │  7271764 │
│ 标签20               │ 标签20_值_1  │  7272235 │
│ 标签86               │ 标签86_值_2  │  7273686 │
│ 标签33               │ 标签33_值_0  │  7274311 │
│ 标签86               │ 标签86_值_1  │  7274387 │
│ 标签9                │ 标签9_值_2   │  7274706 │
│ 标签86               │ 标签86_值_3  │  7275016 │
│ 标签20               │ 标签20_值_0  │  7275094 │
│ 标签17               │ 标签17_值_3  │  7275347 │
│ 标签14               │ 标签14_值_0  │  7275401 │
│ 标签86               │ 标签86_值_0  │  7275586 │
│ 标签14               │ 标签14_值_1  │  7275754 │
│ 标签14               │ 标签14_值_2  │  7275985 │
│ 标签4                │ 标签4_值_2   │  7531801 │
│ 标签4                │ 标签4_值_3   │  7532631 │
│ 标签83               │ 标签83_值_2  │  7532975 │
│ 标签95               │ 标签95_值_4  │  7532976 │
│ 标签95               │ 标签95_值_0  │  7533004 │
│ 标签31               │ 标签31_值_2  │  7533095 │
│ 标签31               │ 标签31_值_3  │  7533190 │
│ 标签2                │ 标签2_值_1   │  7533198 │
│ 标签32               │ 标签32_值_0  │  7533507 │
│ 标签83               │ 标签83_值_1  │  7533682 │
│ 标签95               │ 标签95_值_2  │  7533754 │
│ 标签83               │ 标签83_值_3  │  7533804 │
│ 标签32               │ 标签32_值_1  │  7533832 │
│ 标签83               │ 标签83_值_0  │  7534057 │
│ 标签32               │ 标签32_值_2  │  7534206 │
│ 标签31               │ 标签31_值_1  │  7534342 │
│ 标签2                │ 标签2_值_0   │  7534495 │
│ 标签95               │ 标签95_值_1  │  7534534 │
│ 标签4                │ 标签4_值_4   │  7534603 │
│ 标签95               │ 标签95_值_3  │  7535808 │
│ 标签24               │ 标签24_值_0  │  7766166 │
│ 标签38               │ 标签38_值_1  │  7767207 │
│ 标签49               │ 标签49_值_0  │  7768793 │
│ 标签38               │ 标签38_值_0  │  7768945 │
│ 标签27               │ 标签27_值_1  │  7769214 │
│ 标签38               │ 标签38_值_2  │  7769496 │
│ 标签27               │ 标签27_值_0  │  7769937 │
│ 标签49               │ 标签49_值_1  │  7769940 │
│ 标签10               │ 标签10_值_1  │  7981655 │
│ 标签10               │ 标签10_值_0  │  7982108 │
│ 标签31               │ 标签31_值_0  │  7983049 │
│ 标签23               │ 标签23_值_2  │  8171981 │
│ 标签23               │ 标签23_值_0  │  8172315 │
│ 标签30               │ 标签30_值_2  │  8172344 │
│ 标签30               │ 标签30_值_1  │  8172909 │
│ 标签23               │ 标签23_值_1  │  8172937 │
│ 标签30               │ 标签30_值_0  │  8173664 │
│ 标签39               │ 标签39_值_0  │  8347293 │
│ 标签7                │ 标签7_值_0   │  8347458 │
│ 标签11               │ 标签11_值_0  │  8502903 │
│ 标签0                │ 标签0_值_1   │  8504110 │
│ 标签36               │ 标签36_值_0  │  8504268 │
│ 标签36               │ 标签36_值_1  │  8504818 │
│ 标签0                │ 标签0_值_2   │  8504995 │
│ 标签0                │ 标签0_值_0   │  8647376 │
│ 标签22               │ 标签22_值_2  │  8774495 │
│ 标签22               │ 标签22_值_3  │  8774561 │
│ 标签22               │ 标签22_值_1  │  8775315 │
│ 标签5                │ 标签5_值_0   │  8775485 │
│ 标签22               │ 标签22_值_0  │  8775601 │
│ 标签13               │ 标签13_值_0  │  8892275 │
│ 标签47               │ 标签47_值_1  │  8892614 │
│ 标签47               │ 标签47_值_0  │  8892784 │
│ 标签46               │ 标签46_值_0  │  8996840 │
│ 标签8                │ 标签8_值_0   │  8997086 │
│ 标签8                │ 标签8_值_1   │  8997282 │
│ 标签8                │ 标签8_值_3   │  8998373 │
│ 标签48               │ 标签48_值_0  │  8998499 │
│ 标签8                │ 标签8_值_2   │  8998811 │
│ 标签42               │ 标签42_值_0  │  9177970 │
│ 标签18               │ 标签18_值_0  │  9179148 │
│ 标签9                │ 标签9_值_0   │  9257161 │
│ 标签9                │ 标签9_值_1   │  9257583 │
│ 标签4                │ 标签4_值_1   │  9257709 │
│ 标签4                │ 标签4_值_0   │  9257710 │
│ 标签17               │ 标签17_值_2  │  9327228 │
│ 标签17               │ 标签17_值_0  │  9328032 │
│ 标签17               │ 标签17_值_1  │  9328159 │
│ App近30天活跃次数    │ 1-10         │  9950176 │
│ 增值服务累计购买金额 │ 1-10000      │ 11928418 │
│ App最近一次登录方式  │ app          │ 19801974 │
└──────────────────────┴──────────────┴──────────┘

343 rows in set. Elapsed: 3.596 sec. 

2、测试维度

从以下角度查询测试的问题

  1. 查询标签预估人数
  2. 查询标签有多少人
  3. 人群圈选交集人数预估
  4. 人群圈选交集用户计算
  5. 查询单个用户标签画像

三、测试结果

1、查询标签预估人数

select lv, bitmapCardinality(groupBitmapMergeState(uv))as uv from user_profile_bitmap where ln='标签17' group by lv order by uv

┌─lv──────────┬──────uv─┐
│ 标签17_值_3 │ 7275347 │
│ 标签17_值_2 │ 9327228 │
│ 标签17_值_0 │ 9328032 │
│ 标签17_值_1 │ 9328159 │
└─────────────┴─────────┘

4 rows in set. Elapsed: 0.111 sec. 

select lv, bitmapCardinality(groupBitmapMergeState(uv))as uv from user_profile_bitmap where ln='标签10' group by lv order by uv;

SELECT 
    lv, 
    bitmapCardinality(groupBitmapMergeState(uv)) AS uv
FROM user_profile_bitmap
WHERE ln = '标签10'
GROUP BY lv
ORDER BY uv ASC

┌─lv──────────┬──────uv─┐
│ 标签10_值_1 │ 7981655 │
│ 标签10_值_0 │ 7982108 │
└─────────────┴─────────┘

2 rows in set. Elapsed: 0.065 sec. 

select lv, bitmapCardinality(groupBitmapMergeState(uv))as uv from user_profile_bitmap where ln='标签15' group by lv order by uv;

┌─lv──────────┬─────uv─┐
│ 标签15_值_3 │ 951431 │
│ 标签15_值_0 │ 951586 │
│ 标签15_值_1 │ 951728 │
│ 标签15_值_2 │ 951890 │
└─────────────┴────────┘

4 rows in set. Elapsed: 0.097 sec. 

查询时间毫秒级别不到0.01秒。

2、查询标签所有的userId

select bitmapToArray(groupBitmapMergeState(uv))as uv from user_profile_bitmap where ln='是否平台新用户' and lv = '是';

查询100w用户userId返回

1 rows in set. Elapsed: 2.104 sec. 

select ln,lv,bitmapCardinality(groupBitmapMergeState(uv))as uv from user_profile_bitmap where ln='标签10' and lv = '标签10_值_1' group by lv,ln order by uv;

┌─ln─────┬─lv──────────┬──────uv─┐
│ 标签10 │ 标签10_值_1 │ 7981655 │
└────────┴─────────────┴─────────┘

1 rows in set. Elapsed: 0.048 sec. 

 select bitmapToArray(groupBitmapMergeState(uv))as uv from user_profile_bitmap where ln='标签10' and lv = '标签10_值_1' ;

1 rows in set. Elapsed: 10.254 sec. 

800W userID查询时间为10S

select bitmapToArray(groupBitmapMergeState(uv))as uv from user_profile_bitmap where ln='增值服务累计购买金额' and lv = '1-10000' ;

1 rows in set. Elapsed: 18.171 sec. 

1200W 用户 返回时间为18S

计算都很快,主要在用户信息返回上,总共查询时间基本也是秒级别返回

3、人群圈选交集人数预估

elect bitmapAndCardinality(bu1,bu2) as uv from
:-] (select 1 as jid, groupBitmapMergeState(uv) as bu1 from user_profile_bitmap where ln='标签76'  ) as t1
:-] inner join
:-] (select 1 as jid, groupBitmapMergeState(uv) as bu2 from user_profile_bitmap where ln='标签99' ) as t2 on t1.jid=t2.jid;


┌──────uv─┐
│ 2752166 │
└─────────┘

1 rows in set. Elapsed: 0.231 sec. 

select bitmapAndCardinality(bu1,bu2) as uv from
:-] (select 1 as jid, groupBitmapMergeState(uv) as bu1 from user_profile_bitmap where ln='标签2'  ) as t1
:-] inner join
:-] (select 1 as jid, groupBitmapMergeState(uv) as bu2 from user_profile_bitmap where ln='标签86' ) as t2 on t1.jid=t2.jid ;


┌──────uv─┐
│ 9520457 │
└─────────┘

1 rows in set. Elapsed: 0.155 sec. 

基本上运算也是毫秒级别返回数据。

4、人群圈选交集用户计算

select arrayJoin( bitmapToArray((
bitmapAnd(
 (select groupBitmapMergeState(uv) from user_profile_bitmap where ln='标签2' ),
 (select groupBitmapMergeState(uv) from user_profile_bitmap where ln='标签86') 
)) ))as uv;


9613586 rows in set. Elapsed: 5.374 sec. 

select arrayJoin( bitmapToArray((
bitmapAnd(
 (select groupBitmapMergeState(uv) from user_profile_bitmap where ln='标签76' ),
 (select groupBitmapMergeState(uv) from user_profile_bitmap where ln='标签99') 
)) ))as uv;

2752166 rows in set. Elapsed: 1.656 sec. 

select arrayJoin( bitmapToArray((
bitmapAnd(
 (select groupBitmapMergeState(uv) from user_profile_bitmap where ln='标签76' ),
 (select  bitmapAnd(
 (select groupBitmapMergeState(uv) from user_profile_bitmap where ln='标签2' ),
 (select groupBitmapMergeState(uv) from user_profile_bitmap where ln='标签86'))) 
)) ))as uv;

三个标签求交集

8024874 rows in set. Elapsed: 5.352 sec. 

select arrayJoin( bitmapToArray((
bitmapAnd(
  (select  bitmapAnd(
 (select groupBitmapMergeState(uv) from user_profile_bitmap where ln='标签20' ),
 (select groupBitmapMergeState(uv) from user_profile_bitmap where ln='标签8'))) ,
 (select  bitmapAnd(
 (select groupBitmapMergeState(uv) from user_profile_bitmap where ln='标签2' ),
 (select groupBitmapMergeState(uv) from user_profile_bitmap where ln='标签77'))) 
)) ))as uv;

6069626 rows in set. Elapsed: 3.950 sec. 

查询性能基本也是秒级返回

计算都很快,主要在用户信息返回上,总共查询时间基本也是秒级别返回

5、查询单个用户标签画像

select ln,lv from user_profile_bitmap where bitmapContains(uv,toUInt32(9999957))=1 group by ln,lv;

┌─ln─────┬─lv──────────┐
│ 标签62 │ 标签62_值_2 │
│ 标签93 │ 标签93_值_1 │
│ 标签77 │ 标签77_值_0 │
│ 标签17 │ 标签17_值_1 │
│ 标签97 │ 标签97_值_1 │
│ 标签34 │ 标签34_值_4 │
│ 标签66 │ 标签66_值_2 │
│ 标签43 │ 标签43_值_0 │
│ 标签23 │ 标签23_值_1 │
│ 标签47 │ 标签47_值_0 │
│ 标签8  │ 标签8_值_3  │
│ 标签32 │ 标签32_值_3 │
│ 标签27 │ 标签27_值_0 │
│ 标签8  │ 标签8_值_2  │
│ 标签47 │ 标签47_值_1 │
│ 标签32 │ 标签32_值_2 │
│ 标签36 │ 标签36_值_2 │
│ 标签23 │ 标签23_值_0 │
│ 标签43 │ 标签43_值_1 │
│ 标签13 │ 标签13_值_0 │
│ 标签97 │ 标签97_值_0 │
│ 标签54 │ 标签54_值_4 │
│ 标签62 │ 标签62_值_3 │
│ 标签86 │ 标签86_值_2 │
│ 标签17 │ 标签17_值_0 │
│ 标签17 │ 标签17_值_2 │
│ 标签62 │ 标签62_值_1 │
│ 标签5  │ 标签5_值_0  │
│ 标签8  │ 标签8_值_0  │
│ 标签23 │ 标签23_值_2 │
│ 标签71 │ 标签71_值_4 │
│ 标签36 │ 标签36_值_0 │
│ 标签43 │ 标签43_值_2 │
│ 标签36 │ 标签36_值_1 │
│ 标签95 │ 标签95_值_4 │
│ 标签56 │ 标签56_值_0 │
│ 标签32 │ 标签32_值_1 │
│ 标签27 │ 标签27_值_3 │
│ 标签8  │ 标签8_值_1  │
│ 标签86 │ 标签86_值_1 │
│ 标签66 │ 标签66_值_0 │
│ 标签71 │ 标签71_值_1 │
│ 标签18 │ 标签18_值_1 │
│ 标签78 │ 标签78_值_0 │
│ 标签0  │ 标签0_值_2  │
│ 标签28 │ 标签28_值_1 │
│ 标签48 │ 标签48_值_0 │
│ 标签39 │ 标签39_值_3 │
│ 标签25 │ 标签25_值_0 │
│ 标签30 │ 标签30_值_2 │
│ 标签39 │ 标签39_值_2 │
│ 标签45 │ 标签45_值_0 │
│ 标签95 │ 标签95_值_1 │
│ 标签0  │ 标签0_值_3  │
│ 标签71 │ 标签71_值_0 │
│ 标签18 │ 标签18_值_0 │
│ 标签18 │ 标签18_值_2 │
│ 标签0  │ 标签0_值_1  │
│ 标签23 │ 标签23_值_4 │
│ 标签71 │ 标签71_值_2 │
│ 标签89 │ 标签89_值_0 │
│ 标签11 │ 标签11_值_3 │
│ 标签84 │ 标签84_值_1 │
│ 标签60 │ 标签60_值_0 │
│ 标签50 │ 标签50_值_0 │
│ 标签39 │ 标签39_值_0 │
│ 标签54 │ 标签54_值_0 │
│ 标签34 │ 标签34_值_0 │
│ 标签6  │ 标签6_值_0  │
│ 标签30 │ 标签30_值_0 │
│ 标签25 │ 标签25_值_2 │
│ 标签15 │ 标签15_值_2 │
│ 标签84 │ 标签84_值_0 │
│ 标签0  │ 标签0_值_0  │
│ 标签18 │ 标签18_值_3 │
│ 标签11 │ 标签11_值_2 │
│ 标签95 │ 标签95_值_2 │
│ 标签71 │ 标签71_值_3 │
│ 标签22 │ 标签22_值_2 │
│ 标签26 │ 标签26_值_2 │
│ 标签2  │ 标签2_值_0  │
│ 标签33 │ 标签33_值_0 │
│ 标签9  │ 标签9_值_0  │
│ 标签4  │ 标签4_值_0  │
│ 标签12 │ 标签12_值_2 │
│ 标签83 │ 标签83_值_0 │
│ 标签20 │ 标签20_值_4 │
│ 标签4  │ 标签4_值_1  │
│ 标签63 │ 标签63_值_0 │
│ 标签9  │ 标签9_值_1  │
│ 标签46 │ 标签46_值_2 │
│ 标签33 │ 标签33_值_1 │
│ 标签53 │ 标签53_值_0 │
│ 标签2  │ 标签2_值_1  │
│ 标签57 │ 标签57_值_0 │
│ 标签22 │ 标签22_值_3 │
│ 标签46 │ 标签46_值_0 │
│ 标签26 │ 标签26_值_1 │
│ 标签42 │ 标签42_值_0 │
│ 标签22 │ 标签22_值_1 │
│ 标签57 │ 标签57_值_2 │
│ 标签83 │ 标签83_值_3 │
│ 标签72 │ 标签72_值_0 │
│ 标签76 │ 标签76_值_0 │
│ 标签92 │ 标签92_值_1 │
│ 标签9  │ 标签9_值_3  │
│ 标签4  │ 标签4_值_3  │
│ 标签76 │ 标签76_值_1 │
│ 标签12 │ 标签12_值_0 │
│ 标签72 │ 标签72_值_1 │
│ 标签22 │ 标签22_值_0 │
│ 标签33 │ 标签33_值_2 │
│ 标签2  │ 标签2_值_2  │
│ 标签46 │ 标签46_值_1 │
│ 标签55 │ 标签55_值_0 │
│ 标签29 │ 标签29_值_2 │
│ 标签92 │ 标签92_值_4 │
│ 标签16 │ 标签16_值_4 │
│ 标签31 │ 标签31_值_1 │
│ 标签61 │ 标签61_值_0 │
│ 标签68 │ 标签68_值_1 │
│ 标签7  │ 标签7_值_1  │
│ 标签65 │ 标签65_值_0 │
│ 标签22 │ 标签22_值_4 │
│ 标签7  │ 标签7_值_0  │
│ 标签70 │ 标签70_值_3 │
│ 标签65 │ 标签65_值_1 │
│ 标签81 │ 标签81_值_0 │
│ 标签61 │ 标签61_值_1 │
│ 标签14 │ 标签14_值_2 │
│ 标签31 │ 标签31_值_0 │
│ 标签51 │ 标签51_值_1 │
│ 标签35 │ 标签35_值_0 │
│ 标签55 │ 标签55_值_1 │
│ 标签1  │ 标签1_值_0  │
│ 标签40 │ 标签40_值_3 │
│ 标签51 │ 标签51_值_3 │
│ 标签31 │ 标签31_值_2 │
│ 标签38 │ 标签38_值_3 │
│ 标签24 │ 标签24_值_0 │
│ 标签20 │ 标签20_值_0 │
│ 标签55 │ 标签55_值_3 │
│ 标签29 │ 标签29_值_1 │
│ 标签49 │ 标签49_值_0 │
│ 标签65 │ 标签65_值_3 │
│ 标签79 │ 标签79_值_0 │
│ 标签90 │ 标签90_值_0 │
│ 标签14 │ 标签14_值_0 │
│ 标签68 │ 标签68_值_2 │
│ 标签14 │ 标签14_值_1 │
│ 标签61 │ 标签61_值_2 │
│ 标签79 │ 标签79_值_1 │
│ 标签65 │ 标签65_值_2 │
│ 标签7  │ 标签7_值_3  │
│ 标签10 │ 标签10_值_1 │
│ 标签70 │ 标签70_值_0 │
│ 标签49 │ 标签49_值_1 │
│ 标签55 │ 标签55_值_2 │
│ 标签31 │ 标签31_值_3 │
│ 标签4  │ 标签4_值_4  │
│ 标签24 │ 标签24_值_1 │
│ 标签38 │ 标签38_值_2 │
└────────┴─────────────┘

162 rows in set. Elapsed: 1.204 sec. 

select ln,lv from user_profile_bitmap where bitmapContains(uv,toUInt32(9976957))=1 group by ln,lv;

171 rows in set. Elapsed: 0.871 sec. 

20亿数据350个标签中查询单个用户画像基本1s左右

整体来看,25亿用户ID查询性能基本都在秒级返回,用CK存储用户画像查询性能可以说很优秀!

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王老狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值