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

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

技术架构

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

Hotel dw layer

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

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

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

Hotel dw baslayer background

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

baslayer adventage

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

业务架构

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

dw topic

参与人主题

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

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

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

流量主题

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

订单主题

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

POI主题

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

产品主题

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

运营主题

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

结算主题

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

整体架构

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

dw architecture

订单主题

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

dw architecture

流量主题

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

dw architecture

运营主题

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

dw architecture

dw architecture

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

作者简介

德臣,美团点评酒旅事业群数据仓库专家,2003年毕业于湖南大学,2015年加入美团,整体负责酒旅事业群的离线数据仓库、实时数据仓库建设。

酒旅数据仓库团队,结合酒旅业务的发展,灵活利用大数据生态链的相关技术,致力于离线数据仓库与实时数据仓库的建设,为业务提供多样化的数据服务。

最后发个广告,美团点评酒旅数据仓库团队长期招聘数据仓库、大数据开发、数据产品开发等方向的技术专家,有兴趣的同学可以发送简历到yangdechen#meituan.com。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478405.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文小综 | 文档级关系抽取方法(上)

本文作者:陈想,浙江大学在读博士,研究方向为自然语言处理张宁豫,浙江大学助理研究员,研究方向为自然语言处理、知识表示与推理1. 前言关系抽取(Relation Extraction, RE)是从纯文本中提取未知关系事实,是自…

LeetCode 621. 任务调度器(贪心)

1. 题目 给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状…

吴恩达发起新型竞赛范式!模型固定,只调数据?!

文 | 小戏打开 Kaggle ,琳琅满目的比赛让人目不暇接,研究的领域更是五花八门,从农林牧渔到衣食住行,似乎只要有数据,不论数据好坏,就可以直接使用各种机器学习的模型在其身上大展拳脚,从逻辑回归…

论文小综 | 文档级关系抽取方法(下)

本文作者:陈想,浙江大学在读博士,研究方向为自然语言处理张宁豫,浙江大学助理研究员,研究方向为自然语言处理、知识表示与推理这篇推文是文档级关系抽取方法的第二部分,前面的部分请移步推文“论文小综 | 文…

LeetCode 128. 最长连续序列(哈希set)

1. 题目 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例:输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。来源:力扣(LeetCode) 链接&#…

清华姚班教师劝退文:读博,你真的想好了吗?

文 | 张焕晨编 | 琰琰源 | AI科技评论先简单介绍一下我的背景。我本科在University of Wisconsin-Madison,然后去CMU念了个PhD,主要研究数据库方向。目前回国在清华IIIS(姚班)做助理教授,并且 cofound 了Singularity D…

纠删码存储系统中的投机性部分写技术

本文已被USENIX’17年度技术大会录用,此处为中文简译版。 阅读英文论文完整版请点击:Speculative Partial Writes in Erasure-Coded Systems 多副本和纠删码(EC,Erasure Code)是存储系统中常见的两种数据可靠性方法。与…

论文浅尝 - EMNLP | 通过元强化学习实现少样本复杂知识库问答

笔记整理 | 谭亦鸣,东南大学博士生来源:EMNLP 2020链接:https://www.aclweb.org/anthology/2020.emnlp-main.469.pdf本文关注聚合型复杂知识图谱问答任务,这类复杂问题的答案通常需要经过一些集合操作得到,例如&#x…

写了一篇关于 NLP 综述的综述!

文 | 小轶综述,往往是了解一个子领域最为高效的起点。然而,对于AI这样一个日新月异高速发展的行业,时效性也自然地成为了我们选择综述的衡量指标之一。即使一篇 AI 综述具有超高 citation,如果它写于 20 年前,那对今天…

美团点评容器平台HULK的调度系统

本文是美团点评基础架构系列文章之一。这个系列将全面介绍支撑数亿用户、超千万日订单的美团点评平台诸多业务的公共基础架构相关技术。系列已经发布的文章包括: - 《分布式会话跟踪系统架构设计与实践》 - 《Leaf——美团点评分布式ID生成系统》 - 《深度剖析开源分…

论文浅尝 | 利用跨内和跨间信息的预训练实体关系编码器

笔记整理 | 朱珈徵,天津大学硕士链接:https://www.aclweb.org/anthology/2020.emnlp-main.132.pdf动机从自由文本中提取实体和关系是自然语言处理中的一项重要任务。它的目标是识别具有特定类型(实体)和这些实体(关系)之间的语义关系的文本。本文主要研究…

python的环境变量设置

程序和可执行文件可以在许多目录,而这些路径很可能不在操作系统提供可执行文件的搜索路径中。 path(路径)存储在环境变量中,这是由操作系统维护的一个命名的字符串。这些变量包含可用的命令行解释器和其他程序的信息。 Unix 或 Windows 中路径变量为 P…

LeetCode 76. 最小覆盖子串(滑动窗口)

1. 题目 给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。 示例: 输入: S "ADOBECODEBANC", T "ABC" 输出: "BANC"说明: 如果 S 中不存这样的子串&#xff…

推荐一个可交互的 Attention 可视化工具!我的Transformer可解释性有救啦?

本文首发于微信公众号”夕小瑶的卖萌屋“文 | Sherry源 | 夕小瑶的卖萌屋视觉是人和动物最重要的感觉,至少有80%以上的外界信息是经过视觉获得的。我们看论文的时候,通过图表来确定文章的大致内容往往也是一个更高效的 说到深度神经网络的可视化&#xf…

机器学习中模型优化不得不思考的几个问题

本文根据美团点评算法工程师胡淏4月22日在“携程技术沙龙”上的分享整理而成。文字综合了“携程技术中心”微信公众号的版本和胡淏本人在微博上发表的文章,并有少量编辑加工。 图1 机器学习工程师的知识图谱 图1列出了我认为一个成功的机器学习工程师需要关注和积累…

【美团语音交互部】 NLP/知识图谱/语音识别等算法职位开放招聘!

致力于连接最靠谱的算法岗与最强的求职者招聘贴投放请联系微信xixiaoyao-1部门介绍:语音交互部负责美团语音和智能交互技术及产品研发,面向美团业务和生态伙伴,提供对语音和口语数据的大规模处理及智能响应能力。团队以建设业界一流的语音交互…

LeetCode 289. 生命游戏(位运算)

文章目录1. 题目2. 解题2.1 复制数组解法2.2 原地解法2.3 位运算1. 题目 链接&#xff1a;289. 生命游戏 2. 解题 2.1 复制数组解法 很简单&#xff0c;按照题意模拟即可 class Solution { public:void gameOfLife(vector<vector<int>>& board) {if(board…

论文浅尝 | S3QLRDF: 用于大规模RDF数据分布式SPARQL查询的关系分割架构

笔记整理 | 孙磊&#xff0c;天津大学硕士。动机RDF形式的语义网的繁荣对高效、可伸缩以及分布式的存储和高可用和容错并行策略都有着要求。RDF数据的飞速增长提升了在分布式数据管理系统上高效划分策略的需求来提升SPARQL查询性能。亮点本文提出了新的用于RDF的关系分割架构Pr…

美团DSP广告策略实践

近年来&#xff0c;在线广告在整个广告行业的比重越来越高。在线广告中实时竞价的广告由于其良好的转化效果&#xff0c;占有的比重逐年升高。DSP&#xff08;Demand-Side Platform&#xff09;[1]作为需求方平台&#xff0c;通过广告交易平台&#xff08;AdExchange&#xff0…

推荐几个出论文的好方向

如果你准备发AI方向的论文&#xff0c;或准备从事科研工作或已在企业中担任AI算法岗的工作。那么我真诚的向大家推荐&#xff0c;贪心学院《高阶机器学习研修班》&#xff0c;目前全网上应该找不到类似体系化的课程。课程精选了四大主题进行深入的剖析讲解&#xff0c;四个模块…