美团点评酒旅数据仓库建设实践

在美团点评酒旅事业群内,业务由传统的团购形式转向预订、直连等更加丰富的产品形式,业务系统也在迅速的迭代变化,这些都对数据仓库的扩展性、稳定性、易用性提出了更高要求。对此,我们采取了分层次、分主题的方式,本文将分享这一过程中的一些经验。

技术架构

随着美团点评整体的系统架构调整,我们在分层次建设数据仓库的过程中,不断优化并调整我们的层次结构,下图展示了技术架构的变迁。

我们把它们简称为三代数仓模型层次。在第一代数仓模型层次中,由于当时美团整体的业务系统所支持的产品形式比较单一(团购),业务系统中包含了所有业务品类的数据,所以由平台的角色来加工数据仓库基础层是非常合适的,平台统一建设,支持各个业务线使用,所以在本阶段中我们酒旅只是建立了一个相对比较简单的数据集市。

但随着美团原本集中的业务系统不能快速响应各个业务线迅速的发展与业务变化时,酒旅中的酒店业务线开始有了自己的业务系统来支持预订、房惠、团购、直连等产品形式,境内度假业务线也开始有了自己的业务系统来支持门票预订、门票直连、跟团游等复杂业务。我们开始了第二代数仓模型层次的建设,由建设数据集市的形式转变成了直接建设酒旅数据仓库,成为了酒旅自身业务系统数据的唯一加工者。由于系统调整初期给我们带来的重构、修改以及新增等数据处理工作非常大,我们采用了比较短平快的Kimball所提的维度建模的方式建设了酒旅数据仓库。

在第二代数仓模型层次运转一段时间后,我们的业务又迎来了一个巨大的变化,上海团队和我们融合了,同时我们酒旅自身的业务系统重构的频率相对较高,对我们的数仓模型稳定性造成了非常大的影响,原本的维度模型非常难适配这么迅速的变化。下图就是我们数仓模型当时所面临的挑战:

于是我们在ODS与多维明细层中间加入了数据整合层,参照Bill Inmon所提出的企业信息工厂建设的模式,基本按照三范式的原则来进行数据整合,由业务驱动调整成了由技术驱动的方式来建设数据仓库基础层。下图是该层次的一些描述:

使用本基础层的最根本出发点还是在于我们的供应链、业务、数据它们本身的多样性,如果业务、数据相对比较单一、简单,本层次的架构方案很可能将不再适用。

业务架构

下面介绍我们的主题建设,实际上在传统的一些如银行、制造业、电信、零售等行业里,都有一些比较成熟的模型,如耳熟能详的BDWM、FS-LDM、MLDM等等模型,它们都是经过一些具有相类似行业的企业在二三十年数据仓库建设中所积累的行业经验,不断的优化并通用化。但我们所处的O2O行业本身就没有可借鉴的成熟的数据仓库主题以及模型,所以,我们在摸索建设两年的时间里,我们目前总结了下面比较适合我们现状的七大主题(后续可能还会新增):

参与人主题

用户子主题:使用我们服务的所有人都是我们的用户,这是我们数据中至关重要的实体,也是我们数仓中非常重要的一个主题,对用户数据的系统化建设能够很好的帮助我们企业快速的发展,不断提高用户的体验、扩大我们的用户群。

BD子主题:通过BD的业务扩展,建立我们与商户之间的关系,让用户通过我们的服务访问到商户所发布的信息,对BD数据的建设,能够让我们的商户覆盖更加迅速、让我们和商户之间的关系更加紧密。

供应商子主题:供应商无论作为直签还是作为三方签约对象,对我们的业务发展都非常重要,通过对其数据的建设,可以让我们彼此双赢,通过我们的平台让双方的业务迅速发展。

流量主题

用户通过App或PC或I版、微信等等形式访问我们的服务,形成了对我们企业至关重要的流量,本主题也是比较具有互联网特色的主题,对于流量的数据建设能够让我们不断优化我们的产品、服务,给我们带来更多的流量、更快的扩张。

订单主题

当用户给我们带来流量的同时,他们也会产生交易,订单主题的独立建设以及其重要性我这里就不再赘述了,在所有的互联网以及传统公司里,该主题都是至关重要的。

POI主题

这个主题也具有我们自身的O2O特色,实际上这个主题与阿里的商家主题比较类似但又具备自己的特点,对于POI自身的重要性就不再过多介绍,通过对POI的数据集中建设能够让我们给POI带去更好的服务与回报。

产品主题

与POI强相关的就是产品了,如何让产品能够更加的贴近用户的需求以及产生更多的交易、流量,产品数据主题的建设及目的的意义就在于此。

运营主题

我们的业务发展将不再依靠粗暴的补贴式的扩张发展模式,需要依赖现在的精细化运营方式,运营数据主题的建设就有了非常强的必要性,通过数据进行精细化运营已经成为我们运营的主要发展趋势。

结算主题

实际上,这个主题在传统企业里面如银行、电信等等都是至关重要的,对我们酒旅而言,建设它的意义能够不断优化商家体验、提高财务结算与管理能力。

整体架构

我们的七个主题基本上都采用6层结构的方式来建设,划分主题更多是从业务的角度出发,而层次划分则是基于技术,实质上我们就是基于业务与技术的结合完成了整体的数据仓库架构。下面介绍一下具体的一些主题案例:

订单主题

在订单主题的建设过程中,我们是按照由分到总的结构思路来进行建设,首先分供应链建设订单相关实体(数据整合中间层3NF),然后再进行适度抽象把分供应链的相关订单实体进行合并后生成订单实体(数据整合层3NF),后续在数据整合层的订单实体基础上再扩展部分维度信息来完成后续层次的建设。

流量主题

流量主题与订单主题的区别是非常大的,它的数据来源具有一定的特殊性,我们的总体建设思路是总-分-总的思路,首先从总的日志数据中剥离出来属于酒旅事业群的数据,后续再从这些数据中分拆到各个具体的页面(可以适当补充些各个页面中所具有的B端信息,如POI详情页中增加POI品类信息),最后再把各个页面进行合并生成总的日志主题表(最终这张表会满足80%以上的相关流量统计需求)。

运营主题

运营主题与订单、流量主题相比也具有自身的特殊性,主要原因也在于其数据来源本身的特殊性,关于它的建设思路总体也是总-分-总,但我们本身的数据来源大多已经不是最底层的ODS数据,而是一些已经加工过的事实表或维度表,所以我们整体的建模原则基本上都是维度建模。

基于上面介绍的几个主题,我们实际上在做分主题的层次架构时也是基于本主题的业务、数据特点作为最终的判断条件,没有绝对的一种层次架构适用于所有的主题,需要综合各项要素来进行综合判断才能设计比较合适的层次架构。

原文发布于微信公众号 - 美团点评技术团队(meituantech)

原文发表时间:2017-05-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏指旺研究院

AI时代,人工智能如何赋能企业风险监控?

近期的P2P平台频频爆雷事件,让人们认识到:互金平台的长远健康发展一方面要做好合规,另一方面更要做好风控。我们知道,从事个人消费贷款的互金平台的主要客群是个人,...

533
来自专栏喔家ArchiSelf

IIoT可预测运维报告摘要

2013年4月,在德国举行的 Hanover Messe 会议上,工业4.0的指导原则发布。 在过去的五年里,工业4.0已经从德国政府的政策转向了全球的高管级战...

642
来自专栏木东居士的专栏

闲聊4年大数据经历

1722
来自专栏数据猿

投稿 | 神策CEO桑文锋:创业企业如何构建数据指标体系?

对于从 BAT 等互联网公司出来的人,经历了数据分析的历练后,会有做事之前看数据的习惯。而对于毕业之后就创业,或者是产品经理和运营专员的新手来说,一般对于构建企...

2556
来自专栏人工智能头条

【MDCC 2016】微软亚洲工程院院长刘震:智能应用的普及化

1657
来自专栏ATYUN订阅号

【观点】利用机器学习实现工程洞察自动化

? 机器学习已经在某些领域取得了卓越的成果,尤其是模式识别领域,并且它还会对更需要洞察力和效率的行业中的企业产生了更深远的影响。谷歌在美国总部以外最大的开发者...

2505
来自专栏PPV课数据科学社区

关于2014年大数据预测分析市场的预测

多年来,企业都一直无法充分利用大数据进行预测分析。由于社交媒体的普及带来了消费者日常生活习惯、活动和兴趣方面的数据信息量的巨大增长。这些新的外部数据资源将与企业...

3436
来自专栏企鹅号快讯

数据科学家也可能被人工智能取代

由于人工智能取代人类活动的争论越来越激烈,数据科学家开始体验人工智能辅助自动化的好处和风险。 人们开始对人工智能被用来自动化一切事物的前景感到不安。现在人工智能...

1795
来自专栏小怪聊职场

产品|从“点、线、面、体”的定位纬度去思考项目

2449
来自专栏专知

106项人工智能创新项目名单公布,唱响“智能化”主旋律

[导读]9月5日,工信部官网公示了2018年人工智能与实体经济深度融合创新项目名单。

551

扫码关注云+社区