58商业数仓建设实践( 二 )


03
商业数仓2.0
1. 背景
58商业数仓建设实践文章插图
在商业数据仓库1.0中 , 存在两方面的问题:

  • 其数据内容不够丰富 ( 不能让数据很好的实现商业变现 ) , 所以在数仓2.0中进行了迭代升级;
  • 企业对于实时性的要求不断升级 ( 在数仓底层使用的Flume+Kafka组件已经可以支持实时的要求 ) , 实时和离线多维分析场景支持不够 。
2. 全站行为数据建设
58商业数仓建设实践文章插图
PC/M端:根据用户的一次展现 , 通过ID传到列表页/详情页/行为页 , 这一套采用的是标准参数传递的方式进行传输 。
58商业数仓建设实践文章插图
APP端:采用sidDict参数传递的方式进行数据传输 。
主要问题:
  • 参数传递涉及到的流程多 , 保证所有流程、步骤都正确传递的成本极高
  • 受业务线迭代影响极大 , 出现问题排查成本极高
  • 用户行为串连匹配率不高 , 并且已经到达了瓶颈

58商业数仓建设实践文章插图
所以 , 我们采用状态机的方式 , 通过用户标识 ( Cookieid、imei ) 进行数据的串联 。
效果:
  • 串联比例大幅度提升、匹配率95%+;
  • 开发成本减低、可维护性高;
  • 扩展性强
【58商业数仓建设实践】3. 息壤
58商业数仓建设实践文章插图
在实时方面进行提升 , 可以从不同维度、不同粒度看到各个项的实时数据 , 以供企业、用户及时修正 。
58商业数仓建设实践文章插图
实时的技术架构采用的是 Kafka + Sparkstreaming + Druid;目前最新采用的是Flink技术 。
04
商业数仓3.0
1. 系统性
58商业数仓建设实践文章插图
在数仓3.0阶段 , 对DWD层每个烟囱独立仓库进行整合 , 即开发数据中台 , 提高数据的复用性 , 把数据的能力进一步提升 。
58商业数仓建设实践文章插图
把相似的内容进行模型化建设 , 将异构的数据进行统一化的处理流程 。
58商业数仓建设实践文章插图
以LEGO广告系统流程为核心 , 对标到数据处理的流程上 , 制定标准ODS层数据格式 , 其余老系统数据映射到对应标准ODS 层 , 再以数据漏斗形式 , 进行串联全流程数据 , 产出DWD层表 。
2. 产品化
58商业数仓建设实践文章插图
客户:
  • 效果数据:客户推广效果数据展示、分析
  • 商家参谋:针对供需指数 , 投放相应数据量的广告
分析决策:智慧树 ( Dashboard、监控平台 )
58商业数仓建设实践文章插图
技术分析:实时ab测、洞察平台 ( 实时效果 , 实时监控 ) 。
05
总结
58商业数仓目前经历了3个阶段 , 在商业数仓第一阶段主要建设数据稳定性、准确性和及时性;第二阶段主要围绕数据丰富度进行建设;第三阶段主要是围数仓的体系化、产品化的建设 。
作者:钟云云 58同城数据架构师 , 负责商业数据平台 , 专注数据仓库领域10余年 。 先后参与银行数仓 , 电商数仓建设 , 于2015年加入58同城 , 从0-1建设58商业数据仓库 。