Python大数据架构全栈开发与应用
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4.2 传统数仓支撑的数据架构

数据仓库是企业数据架构发展的重要阶段,企业在发展到一定阶段后,数据治理和应用的核心都会围绕数据仓库展开。数据仓库具有面向应用主题、数据集成完整、数据质量较高等特点,因此广泛应用于各种类型的企业决策分析场景。

数据仓库常见的主题域包括用户域、商品域、内容域、营销域、运营域等。

• 用户域:围绕用户(包含匿名用户、注册用户、消费用户等)完整生命周期的数据,含拉新、留存、促活、流失挽回等内容,涉及的运营环节包括站外营销、会员管理、社群管理、客户服务、客户关怀、呼叫中心、商品销售、物流配送等。

• 商品域:围绕商品完整生命周期的数据,含进货、仓储、销售、物流配送、收货、退货等内容,涉及的运营环节包括采购管理、库存管理、站外营销、在线销售、大客户销售、分销渠道管理、线下渠道管理、风险管控、物流配送等。

• 内容域:围绕内容(包含帖子、新闻、资讯、活动、消息等)完整生命周期的数据,包含创作、发布、审核、互动、下架、推广、活动等内容,涉及的运营环节包括社区运营、活动运营、市场策划、内容创作、UGC/PGC/BGC管理、消息分发、监察管理等。

• 营销域:围绕站外营销完整生命周期的数据,包含营销预算、市场规划、媒体采购、媒介执行与测试、效果评估和优化等内容,涉及的运营环节为品牌推广、公关传播、在线数字广告、线下广告、社交传播、商务合作等付费、免费及与第三方渠道合作等。

• 运营域:围绕企业运营资源(主要是网站、App、小程序等数字运营载体)完整生命周期的数据,包含资源位改版、素材上架和下架、效果转化与优化、资源组合、内部流量分发等内容,涉及的运营环节包括站外营销(含付费引流和免费引流)、活动运营、商品位运营、资源位运营、功能和体验运营、页面运营、用户体验、网站设计等。

数据仓库的主题范围,以及主题内数据源的环境、数据来源、数据格式、数据质量、数据量级等因素会导致数据范围、清洗复杂度、计算资源需求、技术要求等方面的差异极大。

传统数仓支撑的数据架构模式具有如下特征。

• 物理资源:其选型主要取决于原始数据环境,如果原始数据集中在第三方云服务,那么会采购相同的云服务商下的其他云服务产品;如果原始数据集中在企业私有云(私有服务器、第三方服务本地化或私有部署等),那么会沿用此选型。

• 功能逻辑:包括数据同步、ETL、构建数据集市、构建数据仓库4个核心部分。数据同步要对接的数据源较多,除核心的RDBMS(关系数据库)外,还可能包含FTP、HTTP、API、数据文件等;ETL过程会根据数据集市和数据仓库的要求做数据清洗与计算;数据集市是数据仓库的子集,可分别面向细分领域的中心级、部门级使用;基于数据仓库的数据分析、数据挖掘、报表分析等主要面向不同的决策分析场景。

• 技术要求:数据同步主要涉及多数据源到关系数据库的同步技术,如关系数据库自带的同步机制、文件同步到数据库等;ETL、数据集市和数据仓库开发过程主要使用SQL技术实现;外部的报表分析、数据分析和数据挖掘等具体应用技术(如统计分析、算法等)不在此范围内。

• 数据流模式:有两个数据流分支,主要体现在数据同步需要拆分为全量同步和增量同步方面,而ETL、数据集市和数据仓库则属于复用功能而无须单独成为一条数据流,只需有一定的逻辑处理即可。

图1-5所示为传统数仓支撑的数据架构的核心逻辑,构建于关系数据库之上。

图1-5 传统数仓支撑的数据架构的核心逻辑

• 数据源除RDBMS外,还会包括各种数据文件、HTTP/API、其他数据等。

• 在数据整合阶段,数据经过数据同步和ETL先到达ODS(Operational Data Store,操作数据存储)层,这是原始数据与数据仓库数据的隔离层;然后经过处理到达DWD(Data Warehouse Detail,明细数据)层,得到大量的事实表、维度表等基础数据;最后经过处理到达DWS(Data Warehouse Service,服务数据)层,整合汇总成基于不同主题的数据仓库或数据集市。

• 在数据应用阶段,支持数据挖掘、报表查询、OLAP、即席查询及其他应用(如精准营销、会员服务等)。

基于数仓架构的系统输出的核心交付物是数据库本身(含数据),可以不包含任何具体业务应用。因此,为了提升IT类项目的易用性、落地性,可以考虑在数据仓库基础上直接集成如下功能,即将其作为产品化的功能项,而非对外部的支持功能项。

• 报表系统:将报表系统构建于数据仓库之上,业务人员可通过产品化的界面交互(而非SQL)直接进行报表查询、即席查询、多维分析、OLAP等报表分析等。

• 业务应用:例如,构建基于促销活动的精准营销,从数据仓库中获得目标客户群体,并通过连接EDM、广告渠道等实现人群精准触达。

• BI(Business Intelligence):将常用的数据挖掘场景产品化封装,通过定时任务调度产生更多智能型分析或应用,如自动库存预测、自动产品销售等。

传统数仓支撑的数据架构的优势是数据分层的设计模式,几乎可以满足所有的决策分析支持场景,并且也是一种非常流行的架构模式,因此,几乎各个大中型企业都经历过这一阶段。但由于它涉及的范围广、部门多、工程量大,总体投入资源和成本较高;加之从调研、规划、开发、测试到上线,整个项目周期较长。因此,该架构适合想要从顶层进行数据规划与设计,进而形成自上而下的数据落地的企业,尤其在大中型企业中使用较多。