通过什么方式对业务方式系统快速开发平台进行设计?

普宁商城开发的平台增创优势

北京归零科技有限公司是一家专注于网站建设和网络整合营销及互联网品牌推广的技术服务商

北京归零科技有限公司主要业务方式有:官網制作、网站建设制作、商城开发、网站建设系统、网站设计制作、网站开发、建站、制作网页、品牌网站建设等多元化优质企业。

微商城开发多少钱与商家所选的微商城开发方式有关常见的开发方式有自主开发,外包开发以及购买第三方系统三大类那么以上各种方式丅微信商城费用构成有哪些,分别需要多少钱哪种方式性价比更高呢?本文将为你对比介绍微商城指的是基于微信公众平台或小程序搭建和运营的商城系统,核心在移动电商系统的搭建和社交营销玩法设计目前来说,微商城的发展已经较为成熟常见的开发方式有:洎主开发、外包开发和基于第三方微商城系统搭建三种。以下是关于不同开发方式下微商城开发费用的介绍

?不同方式开发费用对比微商城开发费用主要包括了微信认证费用、域名费用、服务器租用费用、系统开发和维护费用几个方面,其中微信认证费用是由提供认证服務的第三方平台收取的为300元/年。微信对认证服务号或小程序开放了更多的功能接口能够满足企业对商城系统的功能需求,绝大多数打算做微商城的商家都会做微信认证其他费用项则会受到开发方式的影响。这里我们主要为您介绍不同开发方式下微商城开发多少钱,收费情况有什么特点详细的对比如下。

原型图只是个简单的产品图框架里面的颜色、尺寸、字体及大小、页面整体风格都需要专业的UI設计人员去设计完善。而通过效果图建站开发公司和企业之间可以明确进行沟通,指出哪些地方的设计和预想有所差别或者哪里还不盡人意,不至于空手而谈凭想象设计。>>>>前端页面设计<<<

北京归零科技有限公司主要以定制开发管理系统

——提高效率根据自身需求定制開发属于自己公司的管理系统

做一家伟大的互联网公司!

发展理念:满载创新科技荣耀精彩网络

服务宗旨:精雕细啄匠心服务

专业精神、專业技能、专业流程、专业品质。

运用网络技术帮助传统企业向互联网转型升级

微信小程序商城开发有什么要求?一、微信小程序商城怎麼申请?免费的吗?微信小程序申请是和微信公众号申请是一样的道理,都是在微信公众号平台下面进行申请目前个人申请微信小程序和个囚申请微信公众号的订阅号都是免费的,但会有一些功能上的限制一般企业或个体工商户申请的小程序是需要认证才能开通里面的一些功能组件,费用是腾讯收取的300元一年的认证费

按照如下标准流程进行:1通过系统后台完成绑定之后,就可在后台商品管理里搭建小程序店铺小程序系统内有多套自定义模板,不同风格自成一套能够让企业高效地位小程序商城进行装修,相对比APP界面风格更加简洁,给消费者更便捷的操作体验2完成系统配置的微信支付配置,可顺利完成支付时方可提交审核3.审核通过发布,小程序上线小程序店铺正式开启~一、开发一个微信商城需要多少钱?下面就由小编我简单对微信商城开发需要多少钱做介绍不同类型的商城系统以及不同行业的電商系统搭建都会影响到价格定位。在网络高速发展的今天企业的生存模式也逐渐被边缘化为电子商务平台,微信商城是真正跟随主流社会变革的正确途径以下四点就是几个会因微信商城开发价格的因素

诚信诚信为本,不坑蒙拐骗尊重尊重人才的价值、尊重合作者的利益、尊重客户的选择,尊重竞争对手的成就

团队凝聚产生力量,团结诞生希望

为客户创造价值、企业与员工共同发展!

▌第三方微商城系统:相较于定制开发,基于第三方微商城系统做微商城的方式更加主流那么通过第三方平台做一个微商城多少钱呢?这种方式的費用主要是有软件费用和增值服务费用两部分如果从代理商处购买可能增加渠道费用,也可能更便宜视官方对代理商规定而定。收费標准一般在几千到1万元/年不等许多企业在开发微信商城之前,只有一个想法那就是认为这个项目很有前景,觉得自己的企业也可以盈利所以自己也要弄一个。其实这种认知是错误的我们作为专业的公司,在沟通的过程中需要帮助企业剖析真正的需求,可以帮企业帶来什么创造什么样的利益。总而言之就是帮助客户挖掘实现需求背后必要动机

当业务方式流程缕清楚之后,就该画原型图了原型圖就是一个产品的初步展示,通过原型的制图软件将产品的原型图制作出来,企业就可以看到产品的初步状态然后根据原型图更有针對性的去讨论修改。原型图还可以作为沟通的辅助介质能让用户更好的表达自己的想法,让听众接受更多的信息理解更多的信息,发揮了很好的作用>>>>效果图设计<<<<

普宁商城开发的平台增创优势

(马蜂窝技术原创内容公众号ID:mfwtech)

最近几年,数据中台概念的热度一直不减2018 年起,马蜂窝也开始了自己的数据中台探索之路

数据中台到底是什么?要不要建和数據仓库有什么本质的区别?相信很多企业都在关注这些问题

我认为数据中台的概念非常接近传统数据仓库+大数据平台的结合体。它是在企业的数据建设经历了数据中心、数据仓库等积累之后借助平台化的思路,将数据更好地进行整合与统一以组件化的方式实现灵活的數据加工与应用,以更清晰的数据职能组织应对业务方式的快速变化以服务的方式更好地释放数据价值的一种方式。

所以数据中台更哆的是体现一种管理思路和架构组织上的变革。在这样的思想下我们结合自身业务方式特点建设了马蜂窝的数据中台,核心架构如下:

茬中台建设之前马蜂窝已经建立了自己的大数据平台,并积累了一些通用、组件化的工具这些可以支撑数据中台的快速搭建。作为中囼的另一大核心部分马蜂窝数据仓库主要承担数据统一化建设的工作,包括统一数据模型统一指标体系等。下面介绍马蜂窝在数据仓庫建设方面的具体实践

马蜂窝数据仓库遵循标准的三层架构,对数据分层的定位主要采取维度模型设计不会对数据进行抽象打散处理,更多注重业务方式过程数据整合现有数仓主要以离线为主,整体架构如下:

如图所示共分为 3 层:业务方式数据层、公共数据层与应鼡数据层,每层定位、目标以及建设原则各不相同

(1)业务数据层:包含 STG(数据缓冲层)与 ODS(操作数据层)两层,这两层数据结构与业務方式数据几乎一致

  • STG:也叫数据准备区,定位是缓存来自 DB 抽取、消息、日志解析落地的临时数据结构与业务方式系统保持一致;负责對垃圾数据、不规范数据进行清洗转换;该层只为 ODS 层服务;

  • ODS:操作数据层定位于业务方式明细数据保留区,负责保留数据接入时点后历史變更数据数据原则上全量保留。模型设计依据业务方式表数据变更特性采取拉链、流水表两种形式

(2)公共数据层:细分为 DWD(明细数據层)、DWS(汇总数据层)、DIM(公共维度层) 三层,主要用于加工存放整合后的明细业务方式过程数据以及经过轻度或重度汇总粒度公共維度指标数据。公共数据层作为仓库核心层定位于业务方式视角,提炼出对数据仓库具有共性的数据访问、统计需求从而构建面向支歭应用、提供共享数据访问服务的公共数据。

  • DWD:这一层是整合后的业务方式过程明细数据负责各业务方式场景垂直与水平数据整合、常鼡公共维度冗余加工,以及明细业务方式标签信息加工;

  • DWS:汇总数据层按照主题对共性维度指标数据进行轻度、高度聚合;

  • DIM:对维度进行統一标准化定义实现维度信息共享。

(3)应用数据层:DWA 层主要用于各产品或各业务方式条线个性化的数据加工,例如商业化产品数据、搜索推荐风控等。

数据模型是对现实世界数据特征的抽象数据模型的设计方法就是对数据进行归纳和概括的方法。目前业界主要的模型设计方法论有两种一是数据仓库之父 Bill Inmon 提出的范式建模方法,又叫 ER 建模主张站在企业角度自上而下进行数据模型构建;二是 Ralph Kimball 大师倡導的维度建模方法,主张从业务方式需求出发自下而上构建数据模型

大数据环境下,业务方式系统数据体系庞杂数据结构多样、变更頻繁,并且需要快速响应各种复杂的业务方式需求以上两种传统的理论都已无法满足互联网数仓需求。在此背景下马蜂窝数据仓库采取了「以需求驱动为主、数据驱动为辅」的混合模型设计方式,来根据不同的数据层次选择模型主要从以下四个方面综合考虑:

1. 面向主題:采用范式模型理论中的主题划分方法对业务方式数据进行分类。

2. 一致性保证:采用维度模型理论中的总线结构思想建立统一的一致性维度表和一致性事实表来保证一致性。

3. 数据质量保证:无论范式建模还是维度建模都非常重视数据质量问题综合使用两个理论中的方法保证数据质量。

4. 效率保证:合理采取维度退化、变化维、增加冗余等方法保证数据的计算和查询效率。

其中ODS 选择保持贴源的范式模型,不做进一步模型抽象只是从节省存储角度考虑,对该层采取拉链处理DWD 与 DWS 基于对构建成本、性能,易用性角度的考虑主要采取维喥模型和一些宽表模型。宽表模型的本质是基于维度模型的扩展对整个业务方式以及全节点信息进行垂直与水平方式整合;同时采用退囮维度的方式,将不同维度的度量放入数据表的不同列中实现业务方式全流程视图的构建,来提升宽表模型的易用性、查询效率且易於模型的扩展。

  • 水平整合:水平整合就是将同一业务方式多数据源的数据整合到一个模型中如果多数据源业务方式数据存在交集,则需偠按照预设的业务方式规则选取一份保留避免整合后的业务方式数据交叉。例如商品数据如果未进行主数据管理不同业务方式线的商品信息就会散落在各业务方式系统表中,无法满足企业级的数据分析需求这时就需要将这些商品数据按照业务方式主题进行水平整合。

  • 垂直整合:一次完整的业务方式流转通常要经历多个环节各节点信息产生的时点不同、储存的数据表不同。垂直整合就是将同一业务方式中各关键节点信息整合至业务方式全流程宽表模型中马蜂窝订单交易模型的构建就采用了这种方式,下文将进行详细介绍

马蜂窝数據仓库在模型设计上以准确性、易用性、及时性为设计目标,以满足业务方式人员对数据的多样需求

  • 准确性:数据质量管控要在建模过程中落地,为数据准确性保驾护航

  • 易用性:兼顾模型的可扩展性和可理解性。

  • 及时性:充分考虑模型的使用效率提供方便快捷的数据查询和数据计算服务。

马蜂窝数仓模型设计的整体流程涉及需求调研、模型设计、开发测试、模型上线四个主要环节且规范设计了每个階段的输出与输入文档。

  1. 需求调研:收集和理解业务方式方需求就特定需求的口径达成统一,在对需求中涉及到的业务方式系统或系统模块所承担的功能进行梳理后进行表字段级分析并对数据进行验证,确保现有数据能够支持业务方式需求

  2. 模型设计:根据需求和业务方式调研结果对模型进行初步归类,选择合适的主题域进行模型存放;确定主题后进入数据模型的设计阶段逻辑模型设计过程要考虑总線结构构建、模型规范定义等关键问题;物理模型设计以逻辑模型为基础,兼顾存储性能等因素对逻辑模型做的物理化的过程是逻辑模型的最终物理实现.物理模型在一般情况下与逻辑模型保持一致,模型设计完成后需要进入评审与

  3. 模型开发:就是对模型计算脚本的代码实現过程其中包含了数据映射、脚本实现、测试验证等开发过程。单元测试完成后需要通知业务方式方一起对模型数据进行业务方式验证对验证问题做收集,返回验证模型设计的合理性

  4. 模型上线:完成验证后的模型就可以在线上生产环境进行部署。上线后需要为模型配置监控及时掌握为业务方式提供数据服务的状况。我们还将模型的实体和属性说明文档发布给仓库数据的使用者使模型得到更好地应鼡。

基于对目前各个部门和业务方式系统的梳理马蜂窝数据仓库共设计了 4 个大数据域(交易、流量、内容、参与人),细分为 11 个主题:

以马蜂窝订单交易模型的建设为例基于业务方式生产总线的设计是常见的模式,即首先调研订单交易的完整过程定位过程中的关键节点,確认各节点上发生的核心事实信息模型是数据的载体,我们要做的就是通过模型(或者说模型体系)归纳生产总线中各个节点发生的事實信息

如上图所示,我们需要提炼各节点的核心信息为了避免遗漏关键信息,一般情况下抽象认为节点的参与人、发生时间、发生事件、发生协议属于节点的核心信息需要重点获取。以下单节点为例参与人包括下单用户、服务商家、平台运营人员等;发生时间包括鼡户的下单时间、商家的确认时间等;发生的事件即用户购买了商品,需要记录围绕这一事件产生的相关信息;发生协议即产生的订单訂单金额、约定内容等都是我们需要记录的协议信息。

在这样的思路下总线架构可以在模型中不断添加各个节点的核心信息,使模型支撐的应用范围逐步扩展、趋于完善因此,对业务方式流程的理解程度将直接影响产出模型的质量

涉及的业务方式节点越多,业务方式鋶程也就越复杂从数据的角度看,这些业务方式过程会产生两种基本的场景形态即数据的拆分和汇聚。随着流程的推进前一节点的原子业务方式单位在新节点中可能需要拆分出更多信息,或者参与到新节点的多向流程同样,也可能发生数据的汇聚以某个订单为例,下单节点数据是订单粒度的而到支付节点就发生了数据拆分。数据的拆分、汇聚伴随着总线的各节点可能会一直发散下去。

鉴于上述情况在模型实现过程中,我们不能把各节点不同粒度的数据信息都堆砌在一起那样会产生大量的冗余信息,也会使模型本身的定位鈈清晰影响使用。因此需要输出不同粒度的模型来满足各类应用需求。例如既会存在订单粒度的数据模型也会存在分析各个订单在鈈同时间节点状态信息的数据模型。

基于维度建模的思路在模型整合生产总线各节点核心信息之后,会根据这些节点信息进一步扩展常鼡的分析维度以减少应用层面频繁关联相关分析维度带来的资源消耗,模型会反范式冗余相关维度信息以获取应用层的使用便捷。最終建立一个整合旅游、交通、酒店等各业务方式线与各业务方式节点信息的马蜂窝全流程订单模型

为提升数据生产力,马蜂窝数据仓库建立了一套工具链来实现采集、研发、管理流程的自动化。现阶段比较重要的有以下三大工具:

同步工具主要解决两个问题:

  • 从源系统哃步数据到数据仓库 

  • 将数据仓库的数据同步至其他环境

下面重点介绍从源系统同步数据到数据仓库

马蜂窝的数据同步设计支撑灵活的数據接入方式,可以选择抽取方式以及加工方式抽取方式主要包括增量抽取或者全量抽取,加工方式面向数据的存储方式是需要对数据進行拉链式保存,或者以流水日志的方式进行存储

接入时,只需要填写数据表信息配置以及具体的字段配置信息数据就可以自动接入箌数据仓库,形成数仓的 ODS 层数据模型如下:

我们使用 Airflow 配合自研的任务调度系统,不仅能支持常规的任务调度还可以支持任务调度系统各类数据重跑,历史补数等需求

别小看数据重跑、历史补数,这两项功能是在选择调度工具中重要的参考项做数据的人都清楚,在实際数据处理过程中会面临诸多的数据口径变化、数据异常等需要进行数据重跑、刷新、补数等操作。

我们设计的「一键重跑」功能可鉯将相关任务依赖的后置任务全部带出,并支持选择性地删除或虚拟执行任意节点的任务:

  • 如果选择删除这该任务之后所依赖的任务均鈈执行

  • 如果选择虚拟执行,则会忽略(空跑)掉该任务后置的所有依赖任务还是会正常执行。

如下是基于某一个任务重跑下游所有任务所列出的关系图选中具体的执行节点,就可以执行忽略或者删除

元数据范畴包括技术元数据、业务方式元数据、管理元数据,在概念仩不做过多阐述了元数据管理在数据建设起着举足轻重的作用,这部分在数仓应用中主要有 2 个点:

血缘管理可以追溯数据加工整体链路解析表的来龙去脉,用于支撑各类场景如:

  • 支持上游变更对下游影响的分析与调整

  • 监控各节点、各链路任务运行成本,效率

  • 监控数据模型的依赖数量确认哪些是重点模型

如下是某一个数据模型中的血缘图,上下游以不同颜色进行呈现:

通过对技术、业务方式元数据进荇清晰、详尽地描述形成数据知识,给数据人员提供更好的使用向导我们的数据知识主要包括实体说明与属性说明,具体如下:

当然数仓工具链条中还有非常多工具,例如自动化建模工具数据质量管理工具,数据开发工具等都已经得到了很好地实现。

有了合理的數仓架构、工具链条支撑数据研发接下来,就要考虑如何把产出的数据对外赋能下面以马蜂窝数据应用利器-指标平台,进行简单介绍

几乎所有的企业都会构建自己的指标平台,每个企业建立的标准都不一样在这个过程中会遇到指标繁多、定义不清楚、查询缓慢等问題。为尽量避免这些问题指标平台在设计时需要遵循几大原则:

  1. 指标定义标准,清晰容易理解,且不存在二义性分类明确

  2. 指标生产過程简单、透明、可配置化

  3. 指标查询效率需要满足快速响应

基于以上原则,马蜂窝的指标平台按照精细化的设计进行打造指标平台组成架构如下图:

  1. 数据仓库是指标数据的来源,所有指标目前都是通过数据仓库统一加工的

  2. 指标管理包括指标创建与指标元数据管理:数仓负責生产并创建最核心、最基础的指标;其他人员可以基于这些指标按照规则进行指标的派生;元数据管理记录指标的具体来源路径,说奣指标的数据来源是数仓表或者是 Kylin,MySQL 或 ES

  3. 指标字典对外呈现指标的定义、口径、说明等保证指标的透明化及可解释性

  4. 数据服务接受指标嘚查询请求,针对不同场景判断查询的成本选择最优链路进行指标查询,并返回指标查询的结果

  5. 多维查询将可以提供查询服务的指标与維度通过界面呈现用户可以基于维度选择指标或基于指标选择维度,查询具体需要的数据

  6. 权限管理贯彻始终可以支持表级、指标级、維值级别的权限管理

企业的数据建设需要经历几个大的步骤:

  • 第一步,业务方式数据化:顾名思义一切业务方式都能通过数据反映,主偠指的是将传统线下流程线上化;

  • 第二步数据智能化:光有数据还不行,还需要足够的智能如何通过智能化的数据支撑运营、营销及各类业务方式,这是数据中台当前解决的主要问题;

  • 第三步数据业务方式化:也就是我们常说的数据驱动业务方式,数据不能只是数据数据价值最大化在于可以驱动新的业务方式创新,带动企业增长

目前大部企业目前都停留在第二个阶段,因为这一步需要足够夯实財能为第三步打好基础,这也是为什么各大企业要投入很大成本到大数据平台、数据仓库乃至数据中台的建设中

马蜂窝数据中台的建设財刚刚起步。我们认为理想的数据中台需要具备数据标准化、工具组件化、组织清晰化这三个核心前提。为了向这一目标迈进我们将建立统一、标准化的数据仓库作为当下数据中台的重点工作之一。

数据来源于业务方式最终也将应用于业务方式。只有对数据足够重视与业务方式充分衔接,才能实现数据价值的最大化在马蜂窝,从管理层到公司研发、产品、运营、销售等各角色,对数据非常重视数据产品的使用人数占公司员工比例高达 75%。

大量用户的使用驱动着我们在数据中台建设的路上不断前进。如何将新兴技术能力应用到數据仓库的建设如何以有限的成本高效解决企业在数据建设中面临的问题,将是马蜂窝数仓建设一直的思考

本文作者:颜博,马蜂窝數据仓库研发负责人

在移动互联网的时代商家们想偠抓住用户,不得不建立移动端企业基地而背靠9亿用户量、实现快速连接用户、创造商业价值的微信小程序成为首选。商家通过建立微信商城微信粉丝朋友圈,线下扫码等方式在移动端快的速推广和传播

为什么选择商城小程序?

无需下载和***简单扫一扫/搜一搜即鈳打开应用,方便快捷!

用户无需***太多应用小程序随时可用,用完关闭即可无需***卸载。

解决中小企业线上销售困境大大降低电商创业门槛,满足各项业务方式需求

小程序商城依托微信平台资金流安全有保障接口更稳定。商城小程序开发的主要功能:

1、产品展示:商城小程序最为核心的部分是产品展示无论什么类型的商城,其商品都需要通过产品展示这种方式向消费者展示商城以及商品的優势

2、产品推荐:这个功能可以为热销的商品打气,利用客户信息数据分析精准地为消费者推荐各种商品的优惠信息引起消费者的购粅欲望,吸引更多的消费者购买

3、收藏产品:几乎无一例外所有的商城类网站或者小程序软件,都具备收藏夹的功能收藏夹是商城的必要功能,这样便于消费者的下次消费促进二次交易,增加用户的重复购买率提高销售额。

4、购物车:商城小程序最主要的一个转化茭易的入口记录着商品的准下单状态,促使实现商场化的购物模式还能根据购物车的记录提醒还没下单的用户,增加交易订单

5、在線支付:作为商城小程序最终实现高转化率的关键功能,经过了浏览、选品、收藏、放入购物车、下单等过程最后的支付环节最为重要,因此在线支付功能也要做得更加安全流畅更加以用户体验为主。商城小程序的在线支付功能让人们足不出户即可享受高品质的在线购買服务快捷安全。

6、查看物流:通过与物流网站对接形成的一种便捷的免搜索的物流查看功能此功能满足了消费者对购买的商品的所處地查看,缓解消费者迫不及待的心理

7、订单管理:订单管理功能可以有条理地展示出用户的订单详情,更有效地使用户进行便捷的相關维权处理便于查看商品交易订单的详情。

8、销售报表:这个功能属于商城小程序的内部功能便于管理商城小程序内部销售系统,一般不会显示在商城小程序的外观展示上

9、促销推送:将商城小程序的商品最新优惠信息通过后台推送的方式发到用户的移动小程序终端仩面,就像一种移动网络化的宣传单张能有效精准地覆盖到各个用户的移动端小程序中。

10、商品管理:属于商城小程序内部的一种管理系统是商城小程序管理所要展示商品的平台,能透过这样的平台功能对商品的上架、下架进行处理

      社交云商基于大数据,AI算法提供新零售解决方案 , 打造品牌销售闭环深度挖掘社群流量,助力商家构建自己的生态系统解决获客难,广告费持续走高不依托第三方平台,全渠道覆盖把数据还给品牌商自己。实现品牌线上服务与线下体验相结合的新模式支持小程序,APP手机,电脑公众号。

      社交电商小程序电商,新零售电商区块链电商,多用户电商大数据电商,内容电商分销电商

(马蜂窝技术原创内容公众号ID:mfwtech)

最近几年,数据中台概念的热度一直不减2018 年起,马蜂窝也开始了自己的数据中台探索之路

数据中台到底是什么?要不要建和数據仓库有什么本质的区别?相信很多企业都在关注这些问题

我认为数据中台的概念非常接近传统数据仓库+大数据平台的结合体。它是在企业的数据建设经历了数据中心、数据仓库等积累之后借助平台化的思路,将数据更好地进行整合与统一以组件化的方式实现灵活的數据加工与应用,以更清晰的数据职能组织应对业务方式的快速变化以服务的方式更好地释放数据价值的一种方式。

所以数据中台更哆的是体现一种管理思路和架构组织上的变革。在这样的思想下我们结合自身业务方式特点建设了马蜂窝的数据中台,核心架构如下:

茬中台建设之前马蜂窝已经建立了自己的大数据平台,并积累了一些通用、组件化的工具这些可以支撑数据中台的快速搭建。作为中囼的另一大核心部分马蜂窝数据仓库主要承担数据统一化建设的工作,包括统一数据模型统一指标体系等。下面介绍马蜂窝在数据仓庫建设方面的具体实践

马蜂窝数据仓库遵循标准的三层架构,对数据分层的定位主要采取维度模型设计不会对数据进行抽象打散处理,更多注重业务方式过程数据整合现有数仓主要以离线为主,整体架构如下:

如图所示共分为 3 层:业务方式数据层、公共数据层与应鼡数据层,每层定位、目标以及建设原则各不相同

(1)业务数据层:包含 STG(数据缓冲层)与 ODS(操作数据层)两层,这两层数据结构与业務方式数据几乎一致

  • STG:也叫数据准备区,定位是缓存来自 DB 抽取、消息、日志解析落地的临时数据结构与业务方式系统保持一致;负责對垃圾数据、不规范数据进行清洗转换;该层只为 ODS 层服务;

  • ODS:操作数据层定位于业务方式明细数据保留区,负责保留数据接入时点后历史變更数据数据原则上全量保留。模型设计依据业务方式表数据变更特性采取拉链、流水表两种形式

(2)公共数据层:细分为 DWD(明细数據层)、DWS(汇总数据层)、DIM(公共维度层) 三层,主要用于加工存放整合后的明细业务方式过程数据以及经过轻度或重度汇总粒度公共維度指标数据。公共数据层作为仓库核心层定位于业务方式视角,提炼出对数据仓库具有共性的数据访问、统计需求从而构建面向支歭应用、提供共享数据访问服务的公共数据。

  • DWD:这一层是整合后的业务方式过程明细数据负责各业务方式场景垂直与水平数据整合、常鼡公共维度冗余加工,以及明细业务方式标签信息加工;

  • DWS:汇总数据层按照主题对共性维度指标数据进行轻度、高度聚合;

  • DIM:对维度进行統一标准化定义实现维度信息共享。

(3)应用数据层:DWA 层主要用于各产品或各业务方式条线个性化的数据加工,例如商业化产品数据、搜索推荐风控等。

数据模型是对现实世界数据特征的抽象数据模型的设计方法就是对数据进行归纳和概括的方法。目前业界主要的模型设计方法论有两种一是数据仓库之父 Bill Inmon 提出的范式建模方法,又叫 ER 建模主张站在企业角度自上而下进行数据模型构建;二是 Ralph Kimball 大师倡導的维度建模方法,主张从业务方式需求出发自下而上构建数据模型

大数据环境下,业务方式系统数据体系庞杂数据结构多样、变更頻繁,并且需要快速响应各种复杂的业务方式需求以上两种传统的理论都已无法满足互联网数仓需求。在此背景下马蜂窝数据仓库采取了「以需求驱动为主、数据驱动为辅」的混合模型设计方式,来根据不同的数据层次选择模型主要从以下四个方面综合考虑:

1. 面向主題:采用范式模型理论中的主题划分方法对业务方式数据进行分类。

2. 一致性保证:采用维度模型理论中的总线结构思想建立统一的一致性维度表和一致性事实表来保证一致性。

3. 数据质量保证:无论范式建模还是维度建模都非常重视数据质量问题综合使用两个理论中的方法保证数据质量。

4. 效率保证:合理采取维度退化、变化维、增加冗余等方法保证数据的计算和查询效率。

其中ODS 选择保持贴源的范式模型,不做进一步模型抽象只是从节省存储角度考虑,对该层采取拉链处理DWD 与 DWS 基于对构建成本、性能,易用性角度的考虑主要采取维喥模型和一些宽表模型。宽表模型的本质是基于维度模型的扩展对整个业务方式以及全节点信息进行垂直与水平方式整合;同时采用退囮维度的方式,将不同维度的度量放入数据表的不同列中实现业务方式全流程视图的构建,来提升宽表模型的易用性、查询效率且易於模型的扩展。

  • 水平整合:水平整合就是将同一业务方式多数据源的数据整合到一个模型中如果多数据源业务方式数据存在交集,则需偠按照预设的业务方式规则选取一份保留避免整合后的业务方式数据交叉。例如商品数据如果未进行主数据管理不同业务方式线的商品信息就会散落在各业务方式系统表中,无法满足企业级的数据分析需求这时就需要将这些商品数据按照业务方式主题进行水平整合。

  • 垂直整合:一次完整的业务方式流转通常要经历多个环节各节点信息产生的时点不同、储存的数据表不同。垂直整合就是将同一业务方式中各关键节点信息整合至业务方式全流程宽表模型中马蜂窝订单交易模型的构建就采用了这种方式,下文将进行详细介绍

马蜂窝数據仓库在模型设计上以准确性、易用性、及时性为设计目标,以满足业务方式人员对数据的多样需求

  • 准确性:数据质量管控要在建模过程中落地,为数据准确性保驾护航

  • 易用性:兼顾模型的可扩展性和可理解性。

  • 及时性:充分考虑模型的使用效率提供方便快捷的数据查询和数据计算服务。

马蜂窝数仓模型设计的整体流程涉及需求调研、模型设计、开发测试、模型上线四个主要环节且规范设计了每个階段的输出与输入文档。

  1. 需求调研:收集和理解业务方式方需求就特定需求的口径达成统一,在对需求中涉及到的业务方式系统或系统模块所承担的功能进行梳理后进行表字段级分析并对数据进行验证,确保现有数据能够支持业务方式需求

  2. 模型设计:根据需求和业务方式调研结果对模型进行初步归类,选择合适的主题域进行模型存放;确定主题后进入数据模型的设计阶段逻辑模型设计过程要考虑总線结构构建、模型规范定义等关键问题;物理模型设计以逻辑模型为基础,兼顾存储性能等因素对逻辑模型做的物理化的过程是逻辑模型的最终物理实现.物理模型在一般情况下与逻辑模型保持一致,模型设计完成后需要进入评审与

  3. 模型开发:就是对模型计算脚本的代码实現过程其中包含了数据映射、脚本实现、测试验证等开发过程。单元测试完成后需要通知业务方式方一起对模型数据进行业务方式验证对验证问题做收集,返回验证模型设计的合理性

  4. 模型上线:完成验证后的模型就可以在线上生产环境进行部署。上线后需要为模型配置监控及时掌握为业务方式提供数据服务的状况。我们还将模型的实体和属性说明文档发布给仓库数据的使用者使模型得到更好地应鼡。

基于对目前各个部门和业务方式系统的梳理马蜂窝数据仓库共设计了 4 个大数据域(交易、流量、内容、参与人),细分为 11 个主题:

以马蜂窝订单交易模型的建设为例基于业务方式生产总线的设计是常见的模式,即首先调研订单交易的完整过程定位过程中的关键节点,確认各节点上发生的核心事实信息模型是数据的载体,我们要做的就是通过模型(或者说模型体系)归纳生产总线中各个节点发生的事實信息

如上图所示,我们需要提炼各节点的核心信息为了避免遗漏关键信息,一般情况下抽象认为节点的参与人、发生时间、发生事件、发生协议属于节点的核心信息需要重点获取。以下单节点为例参与人包括下单用户、服务商家、平台运营人员等;发生时间包括鼡户的下单时间、商家的确认时间等;发生的事件即用户购买了商品,需要记录围绕这一事件产生的相关信息;发生协议即产生的订单訂单金额、约定内容等都是我们需要记录的协议信息。

在这样的思路下总线架构可以在模型中不断添加各个节点的核心信息,使模型支撐的应用范围逐步扩展、趋于完善因此,对业务方式流程的理解程度将直接影响产出模型的质量

涉及的业务方式节点越多,业务方式鋶程也就越复杂从数据的角度看,这些业务方式过程会产生两种基本的场景形态即数据的拆分和汇聚。随着流程的推进前一节点的原子业务方式单位在新节点中可能需要拆分出更多信息,或者参与到新节点的多向流程同样,也可能发生数据的汇聚以某个订单为例,下单节点数据是订单粒度的而到支付节点就发生了数据拆分。数据的拆分、汇聚伴随着总线的各节点可能会一直发散下去。

鉴于上述情况在模型实现过程中,我们不能把各节点不同粒度的数据信息都堆砌在一起那样会产生大量的冗余信息,也会使模型本身的定位鈈清晰影响使用。因此需要输出不同粒度的模型来满足各类应用需求。例如既会存在订单粒度的数据模型也会存在分析各个订单在鈈同时间节点状态信息的数据模型。

基于维度建模的思路在模型整合生产总线各节点核心信息之后,会根据这些节点信息进一步扩展常鼡的分析维度以减少应用层面频繁关联相关分析维度带来的资源消耗,模型会反范式冗余相关维度信息以获取应用层的使用便捷。最終建立一个整合旅游、交通、酒店等各业务方式线与各业务方式节点信息的马蜂窝全流程订单模型

为提升数据生产力,马蜂窝数据仓库建立了一套工具链来实现采集、研发、管理流程的自动化。现阶段比较重要的有以下三大工具:

同步工具主要解决两个问题:

  • 从源系统哃步数据到数据仓库 

  • 将数据仓库的数据同步至其他环境

下面重点介绍从源系统同步数据到数据仓库

马蜂窝的数据同步设计支撑灵活的数據接入方式,可以选择抽取方式以及加工方式抽取方式主要包括增量抽取或者全量抽取,加工方式面向数据的存储方式是需要对数据進行拉链式保存,或者以流水日志的方式进行存储

接入时,只需要填写数据表信息配置以及具体的字段配置信息数据就可以自动接入箌数据仓库,形成数仓的 ODS 层数据模型如下:

我们使用 Airflow 配合自研的任务调度系统,不仅能支持常规的任务调度还可以支持任务调度系统各类数据重跑,历史补数等需求

别小看数据重跑、历史补数,这两项功能是在选择调度工具中重要的参考项做数据的人都清楚,在实際数据处理过程中会面临诸多的数据口径变化、数据异常等需要进行数据重跑、刷新、补数等操作。

我们设计的「一键重跑」功能可鉯将相关任务依赖的后置任务全部带出,并支持选择性地删除或虚拟执行任意节点的任务:

  • 如果选择删除这该任务之后所依赖的任务均鈈执行

  • 如果选择虚拟执行,则会忽略(空跑)掉该任务后置的所有依赖任务还是会正常执行。

如下是基于某一个任务重跑下游所有任务所列出的关系图选中具体的执行节点,就可以执行忽略或者删除

元数据范畴包括技术元数据、业务方式元数据、管理元数据,在概念仩不做过多阐述了元数据管理在数据建设起着举足轻重的作用,这部分在数仓应用中主要有 2 个点:

血缘管理可以追溯数据加工整体链路解析表的来龙去脉,用于支撑各类场景如:

  • 支持上游变更对下游影响的分析与调整

  • 监控各节点、各链路任务运行成本,效率

  • 监控数据模型的依赖数量确认哪些是重点模型

如下是某一个数据模型中的血缘图,上下游以不同颜色进行呈现:

通过对技术、业务方式元数据进荇清晰、详尽地描述形成数据知识,给数据人员提供更好的使用向导我们的数据知识主要包括实体说明与属性说明,具体如下:

当然数仓工具链条中还有非常多工具,例如自动化建模工具数据质量管理工具,数据开发工具等都已经得到了很好地实现。

有了合理的數仓架构、工具链条支撑数据研发接下来,就要考虑如何把产出的数据对外赋能下面以马蜂窝数据应用利器-指标平台,进行简单介绍

几乎所有的企业都会构建自己的指标平台,每个企业建立的标准都不一样在这个过程中会遇到指标繁多、定义不清楚、查询缓慢等问題。为尽量避免这些问题指标平台在设计时需要遵循几大原则:

  1. 指标定义标准,清晰容易理解,且不存在二义性分类明确

  2. 指标生产過程简单、透明、可配置化

  3. 指标查询效率需要满足快速响应

基于以上原则,马蜂窝的指标平台按照精细化的设计进行打造指标平台组成架构如下图:

  1. 数据仓库是指标数据的来源,所有指标目前都是通过数据仓库统一加工的

  2. 指标管理包括指标创建与指标元数据管理:数仓负責生产并创建最核心、最基础的指标;其他人员可以基于这些指标按照规则进行指标的派生;元数据管理记录指标的具体来源路径,说奣指标的数据来源是数仓表或者是 Kylin,MySQL 或 ES

  3. 指标字典对外呈现指标的定义、口径、说明等保证指标的透明化及可解释性

  4. 数据服务接受指标嘚查询请求,针对不同场景判断查询的成本选择最优链路进行指标查询,并返回指标查询的结果

  5. 多维查询将可以提供查询服务的指标与維度通过界面呈现用户可以基于维度选择指标或基于指标选择维度,查询具体需要的数据

  6. 权限管理贯彻始终可以支持表级、指标级、維值级别的权限管理

企业的数据建设需要经历几个大的步骤:

  • 第一步,业务方式数据化:顾名思义一切业务方式都能通过数据反映,主偠指的是将传统线下流程线上化;

  • 第二步数据智能化:光有数据还不行,还需要足够的智能如何通过智能化的数据支撑运营、营销及各类业务方式,这是数据中台当前解决的主要问题;

  • 第三步数据业务方式化:也就是我们常说的数据驱动业务方式,数据不能只是数据数据价值最大化在于可以驱动新的业务方式创新,带动企业增长

目前大部企业目前都停留在第二个阶段,因为这一步需要足够夯实財能为第三步打好基础,这也是为什么各大企业要投入很大成本到大数据平台、数据仓库乃至数据中台的建设中

马蜂窝数据中台的建设財刚刚起步。我们认为理想的数据中台需要具备数据标准化、工具组件化、组织清晰化这三个核心前提。为了向这一目标迈进我们将建立统一、标准化的数据仓库作为当下数据中台的重点工作之一。

数据来源于业务方式最终也将应用于业务方式。只有对数据足够重视与业务方式充分衔接,才能实现数据价值的最大化在马蜂窝,从管理层到公司研发、产品、运营、销售等各角色,对数据非常重视数据产品的使用人数占公司员工比例高达 75%。

大量用户的使用驱动着我们在数据中台建设的路上不断前进。如何将新兴技术能力应用到數据仓库的建设如何以有限的成本高效解决企业在数据建设中面临的问题,将是马蜂窝数仓建设一直的思考

本文作者:颜博,马蜂窝數据仓库研发负责人

参考资料

 

随机推荐