『数据』马蜂窝数据中台起步建设:数仓的架构、模型与应用( 三 )
我们还将模型的实体和属性说明文档发布给仓库数据的使用者 , 使模型得到更好地应用 。
4、主题分类
基于对目前各个部门和业务系统的梳理 , 马蜂窝数据仓库共设计了 4 个大数据域(交易、流量、内容、参与人) , 细分为 11 个主题:
图片
以马蜂窝订单交易模型的建设为例 , 基于业务生产总线的设计是常见的模式 , 即首先调研订单交易的完整过程 , 定位过程中的关键节点 , 确认各节点上发生的核心事实信息 。
模型是数据的载体 , 我们要做的就是通过模型(或者说模型体系)归纳生产总线中各个节点发生的事实信息 。
订单生产总线:
图片
如上图所示 , 我们需要提炼各节点的核心信息 , 为了避免遗漏关键信息 , 一般情况下抽象认为节点的参与人、发生时间、发生事件、发生协议属于节点的核心信息 , 需要重点获取 。
以下单节点为例 , 参与人包括下单用户、服务商家、平台运营人员等;发生时间包括用户的下单时间、商家的确认时间等 。
发生的事件即用户购买了商品 , 需要记录围绕这一事件产生的相关信息 。
发生协议即产生的订单 , 订单金额、约定内容等都是我们需要记录的协议信息 。
在这样的思路下 , 总线架构可以在模型中不断添加各个节点的核心信息 , 使模型支撑的应用范围逐步扩展、趋于完善 。 因此 , 对业务流程的理解程度将直接影响产出模型的质量 。
涉及的业务节点越多 , 业务流程也就越复杂 。 从数据的角度看 , 这些业务过程会产生两种基本的场景形态 , 即数据的拆分和汇聚 。
随着流程的推进 , 前一节点的原子业务单位在新节点中可能需要拆分出更多信息 , 或者参与到新节点的多向流程 。 同样 , 也可能发生数据的汇聚 。
以某个订单为例 , 下单节点数据是订单粒度的 , 而到支付节点就发生了数据拆分 。 数据的拆分、汇聚伴随着总线的各节点 , 可能会一直发散下去 。
图片
鉴于上述情况 , 在模型实现过程中 , 我们不能把各节点不同粒度的数据信息都堆砌在一起 , 那样会产生大量的冗余信息 , 也会使模型本身的定位不清晰 , 影响使用 。
因此 , 需要输出不同粒度的模型来满足各类应用需求 。 例如既会存在订单粒度的数据模型 , 也会存在分析各个订单在不同时间节点状态信息的数据模型 。
图片
图片
基于维度建模的思路 , 在模型整合生产总线各节点核心信息之后 , 会根据这些节点信息进一步扩展常用的分析维度 , 以减少应用层面频繁关联相关分析维度带来的资源消耗 , 模型会反范式冗余相关维度信息 , 以获取应用层的使用便捷 。
最终建立一个整合旅游、交通、酒店等各业务线与各业务节点信息的马蜂窝全流程订单模型 。
四、数据仓库工具链建设
为提升数据生产力 , 马蜂窝数据仓库建立了一套工具链 , 来实现采集、研发、管理流程的自动化 。 现阶段比较重要的有以下三大工具:
1、数据同步工具
同步工具主要解决两个问题:
· 从源系统同步数据到数据仓库;
· 将数据仓库的数据同步至其他环境 。
下面重点介绍从源系统同步数据到数据仓库 。
马蜂窝的数据同步设计支撑灵活的数据接入方式 , 可以选择抽取方式以及加工方式 。
抽取方式主要包括增量抽取或者全量抽取 , 加工方式面向数据的存储方式 , 是需要对数据进行拉链式保存 , 或者以流水日志的方式进行存储 。
推荐阅读
- []重庆移动-亚德高等级数据中心落户西永微电园
- 平台■在线视频平台大数据杀熟成惯例 买VIP就活该被宰?
- 「数据线」手机充电慢?那你需要看看是不是这些地方出了问题
- 大数据:这套绝对是2020年大数据最全面的线路图+实战项目+源码限时赠你
- 【Ace】原创 用实际数据发声,OPPO Ace2的这些亮点你要知道
- #颜七公子#TunesKit iPhone Data Recovery for Mac(iPhone数据恢复工具)
- 邓锄头挖科技■关于IDC数据中心的“容量管理”的目标和3种子业务场景
- 技术@为楼宇安上“智慧大脑”,翠苑街道开创“一平台”数据互通模式
- 「北京」这家环保大数据企业为北京抗“疫”装上千里眼
- #大数据#金山云赴美IPO:近三年营收复合增长79% 雷军持股15.8%