小米集团基于ApacheDoris的OLAP实践 魏祚 小米集团-数据库内核研发工程师ApacheDorisCommitter&PMC DataFunSummit#2023 目录CONTENT 系统选型及应用现状 小米用户行为分析实践 小米数据生态中的Doris 未来规划 01 系统选型及应用现状 DataFunSummit#2023 系统选型 02 小米数据生态中的Doris DataFunSummit#2023 •对上层的服务提供统一的元数据视图 •对所有存储资源进行统一的管理,形成统一的资源视角 •对所有的资源变更和访问,进行有效的审计 •通过权限代理对上层用户屏蔽底层引擎的权限体系,实现统一权限管理。 •数据安全管理,隐私数据扫描及安全等级定义 •数据质量管理,服务可用性监控和治理 •数据成本管理,数据分层存储及数据生命周期管理 03 小米用户行为分析实践 DataFunSummit#2023 •数据来源于各业务在网页或APP上的埋点数据 •用户在网页或APP中的各种操作都会抽象成事件实体 •基于事件模型进行建模,实现用户行为分析 •事件:用户在网页或app上的行为或业务过程 •指标:即具体的数值,如页面访问量,访问时长等 •维度:可指定不同值的对象的描述性属性或特征 select (a.`time`-1635696000000)div3600000as`time`,count( distinctif(a.`event_name`='download',a.`distinct_id`,null) )asval1 from db_test.table_testa where `a`.`date`between20230530and20230530anda.`event_name`in('download') groupby 1 having val1isnotnullorderby 2desc limit 10000 SELECTretention_count(c.retention_info)FROM( SELECTdistinct_id ,retention_info(1664553600000,"day",timestamp,CASEWHENevent_name="view"THEN1 ELSE0END|CASE WHENevent_name="buy"THEN2ELSE0 END)ASretention_infoFROMretention_analysis_test WHEREtimestamp>=1664553600000GROUPBYdistinct_id )c; SELECTfunnel_count(c.funnel_info)FROM( )c; SELECTdistinct_id ,funnel_info(1664586000000,604800000,CASE WHENevent_name="view"THEN1ELSE0 END|CASE WHENevent_name="open"THEN2ELSE0 END|CASE WHENevent_name="buy"THEN4ELSE0 END|CASE WHENevent_name="use"THEN8ELSE0 END,timestamp)ASfunnel_infoFROMfunnel_analysis_test WHEREtimestamp>=1664586000000GROUPBYdistinct_id •用户触发第一个步骤后,在整个窗口期完成整个漏斗,即算作完成了转化。 •漏斗中至少包含2个步骤,每个步骤对应一个事件,并且漏斗中的步骤可以根据业务场景增加。 SELECTsession_count(c.path)FROM( )c; SELECTdistinct_id ,session_del(event_name,timestamp,1800000,"view",1,10)ASpathFROMpath_analysis_test WHEREtimestamp>=1685584800000 ANDtimestamp<1685592000000GROUPBYdistinct_id 04 未来规划 DataFunSummit#2023 未来规划 感谢观看