大数据-260 实时数仓 - 项目背景与需求 实时数仓架构 需求分析 技术选型 逻辑架构

项目背景

随着互联网的发展,数据的时效性对企业的精细化运营越来越重要,每天产生的海量数据中,如何能实时的挖掘出有价值的信息,对企业的决策运营策略调整有很大帮助。此外,随着5G技术的成熟、广泛应用,对于互联网、物联网数据的时效性要求非常高的企业,需要实时的数据体系来提高自身的行业竞争力。

随着数据时效性在企业运营中的重要性日益凸显,例如:

  • 实时推荐
  • 精准营销
  • 广告投放效果
  • 实时物流

数仓概念

离线数仓架构

实时数仓架构

收集层

  • Binlog(业务日志)、IoT(物联网)、后端服务日志(系统日志)
  • 经过日志收集团队和DB收集团队的处理,数据将会收集到Kafka中,这些数据不只是参与实时计算,也会参与离线计算。

存储层

  • Kafka:实时增量数据
  • HDFS:状态数据存储和全量数据存储(持久层)
  • HBase:维度数据存储

引擎层

实时处理框架

平台层

数据、任务和资源三个角度去管理集群资源

应用层

底层架构的应用场景

流量相关

  • 流量数据的产生:不同通道的埋点和不同页面的埋点产生的数据
  • 采集:按照业务维度划分不同的业务通道
  • 应用:流的方式提供下游业务使用、流量方面的分析

实时效果验证

  • CPV(展示广告)又称富媒体广告,按展示付费,即按投放广告网站的被展示次数计费,网站被打开一次计费一次。
  • CPC与CTR:在现在的广告业CPC这个指标很难用来跟效果扯上关系,更多的时候是计费单位了。而CTR有的时候还是会作为效果的工具,大多用来衡量两次投放的不同投放策略、优化策略、创意的好坏。
  • Reach Rate:广告产生点击动作以后,后面的指标就是到达。点击后到达的比率是一个重要的指标,是否比较高的到达率是广告效果的重要体现。
  • Conversation Rate:广告后续的转换比率,从到达到转化的比率是用来评估广告效果的一种指标

需求分析

  • 日志数据:启动日志、点击日志、广告日志
  • 业务数据:用户下单、提交订单、支付、退款等核心交易数据的分析
  • 广告流量的实时统计:生成动态黑名单
  • 恶意刷单:一旦发现恶意刷单进行实时警告,基于动态黑名单进行行为过滤,计算每隔5分钟统计最近一小时内各广告的点击量,计算每天各省的热门广告,计算每天各广告最近1小时内的点击趋势
  • 点击来源:从不同的维护分析用户是从哪里来的
  • 渠道质量:针对用户进行以下几方面分析,访问时长、是否消费、首次消费的金额、收藏、访问页面数(PV)
  • 风险控制:当检测到交易异常时进行实时警告

技术选型

技术选型方案

框架选型:Apache、第三方发行版(CDH、HDP、Fusion Insight)。

Apache社区版本的优点:

  • 完全开源免费
  • 社区活跃
  • 文档、资料详实

Apache社区版本的缺点:

  • 复杂的版本管理
  • 复杂的集群安装
  • 复杂的集群运维
  • 复杂的生态环境

第三方发行版本(CDH、HDP、Fusion Insight)Hadoop遵从Apache开源协议,用户可以免费的任意修改和使用Hadoop。

这些产品的优点是:

  • 主要功能和社区一致
  • 版本管理清晰
  • 比Apache Hadoop在兼容性、安全性、稳定性上有增强
  • 版本更新快
  • 基于稳定的版本Apache Hadoop,并应用了最新BUG修复
  • 提供了部署、安装、配置工具,大大提供了集群部署的效率

CDH:最成型的发行版本,拥有最多的部署案例,提供强大的部署、管理和监控工具,国内使用最多的版本,拥有强大的社区支持

HDP:100%开源,可以进行二次开发,但没有CDH稳定,国内使用相对较少

Fusion Insight:华为基于Hadoop 2.7版本开发的,坚持分层,解耦,开放的原则,得益于高可靠性,在全国各地政府、运营商、金融系统有较多案例

软件选型方案

  • 数据采集:Flume、Canal
  • 数据存储:MySQL、Kafka、HBase、Redis
  • 数据计算:Flink
  • OLAP:ClickHouse、Druid框架

逻辑架构

业务数据库表结构

业务数据库:

  • 交易订单表(trade_orders)
  • 订单产品表(order_product)
  • 产品信息表(product_info)
  • 产品分类表(product_category)
  • 商家店铺表(shops)
  • 商家地域组织表(shop_admin_org)
  • 支付方式表(payments)