垂直电商数据仓库架构
Posted IT外包
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了垂直电商数据仓库架构相关的知识,希望对你有一定的参考价值。
垂直电商大数据数据仓库,主要是基于hive构建的数据仓库,分布式文件系统hdfs,资源管理yarn,计算引擎为mapreduce,spark,查询引擎impala, presto,分层架构如图:
图一 分层架构图
1. 数据来源层:日志或关系型数据库:场景是
Erp数据库,前台数据库通过mysql dump数据,及sqoop来抽取数据。Dump数据到提交机,然后put到hdfs,sqoop是直接抽取到hdfs;
日志数据是通过flume采集日志数据至hdfs,通过清洗,生成ods开头的系列表。
2. 事实表 数据仓库结构中的中央表,包含联系事实与维度表的数字度量值和键。事实数据表包含描述业务内特定事件的数据。如进销存事实表(fact_sales_***)、商品库存事实表(fact_stroage_***)、运费事实表(fact_shipping_***)等都是现有的事实表。
3. 维度表 是维度属性的集合。是分析问题的一个窗口。是人们观察数据的特定角度,是考虑问题时的一类属性,属性的集合构成一个维。每个维度表与事实表直接相关,通常是通过一个键连接到事实数据表中。如日期维度表(dim_date)、地域维度表(dim_area)等。常见的数据仓库架构包括星型结构与雪花结构,前者较为普遍,很多公司基本都是星型模型。
图二 星型模型示意图
说明:
1) 事实表就是你要关注的内容
2) 维度表就是你观察该事物的角度,是从哪个角度去观察这个内容的。
例如:北京地区10月份商品的销量,销量是事实表,维度表是月份维度表和地区维度表。
4. 主题表 主题是在较高层次上将企业信息系统中的数据进行综合、归类和分析利用的一个抽象概念,每一个主题基本对应一个宏观分析领域。在实际中,分为了很多个主题,包括广告分析、会员分析、搜索分析,库存分析等,
面向主题的数据组织方式,就是在较高层次上对分析对象数据的一个完整并且一致的描述,能刻画各个分析对象所涉及的企业各项数据,以及数据之间的联系。所谓较高层次是相对面向应用的数据组织方式而言的,是指按照主题进行数据组织的方式具有更高的数据抽象级别。与传统数据库面向应用进行数据组织的特点相对应,数据仓库中的数据是面向主题进行组织的。例如对垂直电商来说,数据仓库所组织的主题会有会员分析,物流分析等。
5. 汇总数据层 聚合基础表,用于满足固定分析要求,以提高查询性能为目的,形成的高粒度表,如周报、月报、季报等。
垂直电商在这方面的数据库是base库,如订单收订汇总表(base_orders_send_***)、订单交寄汇总表(base_orders_shipment_***)、商品库存信息汇总表(base_batch_***)等。
6. 应用层 该层数据完全为了满足具体的分析而构建的数据,垂直电商在这方面对应的是app库,包含的表如黑名单表(app_***_blacklist)、实时池子维护表等,该层数据可以供分析师、数据产品经理直接使用,也可以传到mysql中供业务系统使用。
7. 补充 存放临时测试数据表,中间结果集的表,具体可参见各个库中带tmp开头的表。
图三 临时表示意图
8. BIEE报表模型
模型设计的好坏,直接关系到报表查询的效率,这部分等后续再说吧。
最后要说,接下来笔者会分享数据中台、维度建模、电商数据仓库、视频数据仓库、安全数据仓库、财务数据仓库、物流数据仓库等数据仓库的所有点点滴滴,敬请期待!欢迎交流!
以上是关于垂直电商数据仓库架构的主要内容,如果未能解决你的问题,请参考以下文章