精华内容
下载资源
问答
  • 8年以上互联网数据仓库经历,对系统架构、数据架构拥有丰富的实战经验,曾经数据魔方、淘宝指数的数据架构设计专家。 优秀数仓的三要素:清晰、保障和扩展性好 介然认为,优秀的数据仓库应该包含以下要素: 1....

    介然(李金波),阿里云高级技术专家,现任阿里云大数据数仓解决方案总架构师。8年以上互联网数据仓库经历,对系统架构、数据架构拥有丰富的实战经验,曾经数据魔方、淘宝指数的数据架构设计专家。

    优秀数仓的三要素:清晰、保障和扩展性好

    介然认为,优秀的数据仓库应该包含以下要素:

    1.结构、分层清晰

    不一定需要多少个分层和主题,但是一定要清晰。用数据的人能够很快找到需要数据的位置。

    2.数据质量和产出时间有保障;

    3.扩展性好

    不会因为业务的些许变化造成模型的大面积重构。

    而从系统架构、数据架构两个纬度来看,要想设计好大数据应用下的数据仓库,还应做到以下两点:

    1.系统架构上

    足够的容错性,减少不必要的系统间的强耦合。因为你会碰到各种问题,不要因为一个不必要的依赖造成数据无法产出

    2.数据架构上

    简单、清晰、强质量控制。数据架构上扁平化的数据处理流程会对数据质量的控制和数据产出的稳定性提供非常好的基础。

    互联网人转型做大数据数仓需要注意哪几个点?

    对于之前做互联网数据仓库,现在想转型做大数据仓库的人,介然也提了一些建议,主要是四点:

    1.不必再苛刻的精打细算

    基于传统平台构建数仓时,为了照顾平台的处理能力,我们经常会构建多层数据结构,预先对不同粒度的数据做预先汇总,以方便使用者在使用数据时能够已最小的计算代价获得计算结果。这也造成了整个数据处理流程较长,步骤很多,问题追溯困难。 新的大数据仓库基于分布式计算平台,平台的计算能力通常都比传统的平台强大很多。 所以有时候需要时再计算数据,或者基于明细进行各粒度的数据汇总已经能够满足需求,并能够大大减少整体数据处理流程步骤,用计算的代价减少人工的成本,更划算,数据体系也更健壮。

    2.不是模型层次越多越好

    在传统的数仓架构中,大家都喜欢多数据模型进行分层设计,不同的模型层次拥有不同的数据域和作用域。这样设计固然看起来更清晰,但实际情况时多层之间可能存在重复数据,或者数据使用者在上层找不到完全切合的数据时,更愿意从底层的明细数据上自己去加工。一方面造成了数据使用上的混乱,一方面也会让数据整个处理流程长度增加,对于数据的运维带来较大的成本消耗。合理的层次设计,及在计算成本和人力成本间的平衡,是一个好的数仓架构的表现

    3.质量是生命线

    不再是你拿到的数据都是正确的,新的环境下的数据什么情况都会发生,而好的数仓架构需要有足够的容错性和质量保障。不要因为一条日志的乱码造成整个数据流程无法走通,也不要说一份日志50%的乱码你的程序还发现不了。在数据质量上投入再多的资源都不是浪费。

    4.数据变成生产资料

    传统的数据应用绝大部分都是以报表和BI分析的形式支持业务。也许你的报表晚出来会被老板骂一通,但是对业务的影响并不大。 但是在新的数据应用场景下,数据已经变成生产资料,数据会服务化直接应用到业务系统中,也许一份数据的质量出现问题或者产出延迟,都可能对你的业务系统产生致命的影响。所以数仓开始承担新的使命
     

    展开全文
  • 一个典型的Kappa架构如下, 三、综述 目前大部分互联网公司采用这种Lambda大数据架构,它不但能够同时满足不同时效不同复杂程度的数据需求,还能有效节省企业机器成本。在离线链路(批处理层),通常能够对数据做大量...

    一、Lambda 架构

    Lambda 架构由Storm的作者Nathan Marz提出,其设计目的在于提供一个能满足大数据系统关键特性的架构,包括高容错、低延迟、可扩展等。其整合离线计算与实时计算,融合不可变性、读写分离和复杂性隔离等原则,可集成Hadoop, Kafka, Spark,Storm等各类大数据组件。
    Lambda 架构可分解为三层Layer,即Batch Layer, Real-Time(Speed) Layer和Serving Layer。
    Batch Layer : 存储数据集,在数据集上预先计算查询函数,并构建查询所对应的View。Batch Layer可以很好的处理离线数据,但有很多场景数据是不断实时生成且需要实时查询处理,对于这情况, Speed Layer更为适合。
    Speed Layer : Batch Layer处理的是全体数据集,而Speed Layer处理的是最近的增量数据流。Speed Layer为了效率,在接收到新的数据后会不断更新Real-time View,而Batch Layer是根据全体离线数据集直接得到Batch View。
    Serving Layer : Serving Layer用于合并Batch View和Real-time View中的结果数据集到最终数据集。

    一个典型的Lambda架构如下,

    这种架构主要面向的场景是逻辑比较复杂同时又希望延迟比较低的异步处理程序,比如搜索引擎、推荐引擎等。
    系统从一个流中读取被我们定义为不可变的数据,分别灌入实时系统如Storm和批处理系统如Hadoop,然后各自输出自己的结果,这些结果会在查询端进行合并。当然,这种系统也可有很多变种,比如上图中的Kafka也可替换成其他的分布式队列,Storm也可以替换成其他的流式计算引擎。

    二、Kappa 架构

    Kappa 架构是LinkedIn的Jay Kreps结合实际经验和个人体会,针对Lambda架构进行深度剖析,分析其优缺点并采用的替代方案。Lambda 架构的一个很明显的问题是需要维护两套分别跑在批处理和实时计算系统上面的代码,而且这两套代码得产出一模一样的结果。因此对于设计这类系统的人来讲,要面对的问题是:为什么我们不能改进流计算系统让它能处理这些问题?为什么不能让流系统来解决数据全量处理的问题?流计算天然的分布式特性注定其扩展性比较好,能否加大并发量来处理海量的历史数据?基于种种问题的考虑,Jay提出了Kappa这种替代方案。

    那如何用流计算系统对全量数据进行重新计算,步骤如下:

    1、用Kafka或类似的分布式队列保存数据,需要几天数据量就保存几天。
    2、当需要全量计算时,重新起一个流计算实例,从头开始读取数据进行处理,并输出到一个结果存储中。
    3、当新的实例完成后,停止老的流计算实例,并把老的一引起结果删除。

    一个典型的Kappa架构如下,

    三、综述

    目前大部分互联网公司采用这种Lambda大数据架构,它不但能够同时满足不同时效不同复杂程度的数据需求,还能有效节省企业机器成本。在离线链路(批处理层),通常能够对数据做大量复杂的计算,数据产出通常会是T+1(隔天)的,在某些场景离线链路会分裂成离线(天级别)和近线(小时级别)的两条链路。实时链路(快速处目前大部分互联网公司采用这种大数据架构,它不但能够同时满足不同时效不同复杂程度的数据需求,还能有效节省企业机器成本。在离线链路(批处理层),通常能够对数据做大量复杂的计算,数据产出通常会是T+1(隔天)的,在某些场景离线链路会分裂成离线(天级别)和近线(小时级别)的两条链路。实时链路(快速处理层),通常用于实现核心KPI指标计算、或者高时效要求业务计算(实时推荐等)。
    Kappa架构还在持续演化中,需要更多企业用户打磨和参与。目前它更多的部署在业务实时性要求比较高的公司、部门中,最著名的应该是阿里的双十一大屏项目。

    展开全文
  • 数仓

    2020-04-22 11:05:33
    逻辑分层 数仓分层,一般按ods->dw->dm整体架构。不同的企业,不同的业务场景,有...技术选型,传统数仓一般以Oracle、greenplum、teradata 等,互联网数仓一般以Hadoop生态圈为主,离线以Hive为核心,准实...

    逻辑分层

    数仓分层,一般按ods->dw->dm整体架构。不同的企业,不同的业务场景,有衍生出不同的分层架构模式。例如经典四层架构:ods->dwd->dws-ads,bdl->fdl->gdl->adl等。
    在这里插入图片描述
    技术选型,传统数仓一般以Oracle、greenplum、teradata 等,互联网数仓一般以Hadoop生态圈为主,离线以Hive为核心,准实时以spark为核心,实时以flink为核心构建。

    数据调研

    业务调研,业务侧对齐,遵循关系型数据库建模方式,从概念模型(cdm)->逻辑模型(ldm)->物理模型(pdm)建模套路,是一个从抽象到具体的一个不断细化完善的分析,设计和开发的过程。
    在这里插入图片描述
    需求调研,现有BI报表需求,统计需求,用户画像,推荐系统等数据应用。
    数据库调研,了解数据库表数据结构、数据形态,全局把握业务流程数据流向,做到真正业务流程和数据结构结合。

    主题域划分

    业务高度抽象,可先确定企业业务bu模块,然后可根据概念模型(cdm)进行一级主题划分,确定一致性维度和事实流程,构建总线矩阵。
    在这里插入图片描述
    按照kimball大师经典建模四步骤:选择业务过程->声明粒度->确定维度->确定事实 进行维度建模。
    在这里插入图片描述

    数仓规范

    在这里插入图片描述
    在这里插入图片描述

    数据治理

    大数据时代必不可少的一个重要环节,可从数据质量、元数据管理、数据安全、数据生命周期等方面开展实施。数据治理是一个企业安身立命的根本。
    数据质量,必须保证完整性、准确性、一致性、时效性。每一个任务都应该配置数据质量监控,严禁任务裸奔。可建设统一数据质量告警中心从以下四个方面进行监控、预警和优化任务。
    在这里插入图片描述
    元数据管理,关于数据的数据。可分为技术元数据和业务元数据。对于数仓开发和维护,模型血缘关系尤为重要。
    数据安全,可包含以下五方面的内容,即数据的保密性、真实性、完整性、未授权拷贝和所寄生系统的安全性。

    展开全文
  • 百度百科的定义: 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性... 从传统数仓到互联网数仓,...

    百度百科的定义:

    数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。 为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。数据仓库的特征在于面向主题、集成性、稳定性和时变性。

    从传统数仓到互联网数仓,有很多相似点也有很多不同点,有大佬曾在InfoQ写到他的一些经历,以下是链接:

    我所经历的大数据平台发展史(一):非互联网时代 • 上篇

    我所经历的大数据平台发展史(二):非互联网时代 • 下篇

    我所经历的大数据平台发展史(三):互联网时代• 上篇

    我所经历的大数据平台发展史(四):互联网时代• 下篇

    互联网数仓的发展比较有代表性的是阿里,以下是《阿里大数据之路》中的数据体系架构图。

    d32593658a46b7094ea6e2538c9b0628.png
    阿里数据体系架构图

    从上面的阿里体系架构图中可以看出,数仓建模的主要工作在数据计算层,经过计算和整合后的数据才有价值,这个是数仓工作中的主要部分。对数据进行有序和有结构地分类组织和存储,避免重复建设和数据不一致性,保证数据的规范性,让数据发挥它的价值。

    在数据仓库技术出现前,有很多数据分析的先驱者已经发现,简单的“直接访问”方式很难良好工作,这样做的失败案例数不胜数。下面列举一些直接访问业务系统无法工作的原因:

    1.某些业务数据由于安全或其他因素不能直接访问。

    2.业务系统的版本变更很频繁,每次变更都需要重写分析系统并重新测试。

    3.很难建立和维护汇总数据来源于多个业务系统版本的报表。

    4.业务系统的列名通常是硬编码,有时仅仅是无意义的字符串,这让编写分析系统更加困难。

    5.业务系统的数据格式,如日期、数字的格式不统一。

    6.业务系统的表结构为事务处理性能而优化,有时并不适合查询与分析。

    7.没有适当的方式将有价值的数据合并进特定应用的数据库。

    8.没有适当的位置存储元数据。

    9.用户需要看到的显示数据字段,有时在数据库中并不存在。

    10.通常事务处理的优先级比分析系统高,所以如果分析系统和事务处理运行在同一硬件之上,分析系统往往性能很差。

    11.有误用业务数据的风险。

    12.极有可能影响业务系统的性能。

    数仓的存在性:

    1.相比操作型系统保存数据,dw使用数据,操作型系统反映最新数据状态,dw需收集海量历史数据进行分析;

    2.dw可以让业务人员方便的获得数据,有很强的数据服务能力;

    3.dw统一口径,以一致的形式展现信息,避免出现指标正确性的争论;

    4.dw有良好的扩展性,业务发生变化,需要与历史数据进行完美融合;

    5.dw是提高决策制定能力的权威和可信的基础,数据质量是生命线,有质量的数据才有说服力

    数仓的特性:

    1.面向主题的,按照一定的主题进行组织,主题是指用户使用数据仓库进行决策时所关心的重点方面,后面会重点举例说明。

    2.数据仓库是集成的,数据仓库的数据有来自于分散的操作型数据,将所需数据从原来的数据中抽取出来,进行加工和集成之后,进入数据仓库。

    3.数据仓库是不可更新的,数据仓库主要是为决策分析供数据,所涉及的操作主要是数据的查询。

    4.数据仓库是随时间而变化的,传统的关系型数据库系统比较适合处理格式化的数据,能够较好的满足商业商务处理的需求。稳定的数据以只读格式保存,且不随时间改变。

    5.汇总的。操作性数据映射成决策可用的格式。

    6.大容量。时间序列数据集合通常都非常大。

    7.非规范化的。Dw数据可以是而且经常是冗余的。

    8.元数据。将描述数据的数据保存起来。

    9.数据源。数据来自内部的和外部的非集成操作系统。

    数仓为什么要分层建模???

    随着DT时代的到来,数据爆发性增长,如何将数据进行有序、结构化的分类组织和存储是面临的很大的一个挑战。多而杂的数据,会让取数效率低下、口径不一、质量无保障等问题,所以数仓的建模主要解决以下几个问题:

    1.性能:良好的数据模型能帮助我们快速查询所需要的数据,减少数据的I/O吞吐。

    2.成本:良好的数据模型能极大地减少不必要的数据冗余,也能实现计算结果的复用,极大地降低大数据系统中的存储和计算成本。

    3.效率:良好的数据模型能极大的改善用户使用数据的体验,提高使用数据的效率。

    4.质量:良好的数据模型能改善数据统计口径的不一致性,减少数据计算错误的可能性。

    注:这四个方面在真正构思模型时还需考虑权衡,可能不能全都达到极致,需利弊对比,采用最合理的方案。

    展开全文
  • 发展至今以维度建模和关系建模为主,而随着互联网的发展,数据从GB到PB的裱花,企业业务迭代更新亦是瞬息万变,对维度模型的偏爱渐渐有统一互联网数仓建模标准的趋势。数仓模型不分高下,都是一种观察现实的角度。...
  • 说说数仓(2) - 传统数仓与互联网数仓 说说数仓(3) -数仓架构 说说数仓(4) - 指标字典 说说数仓(5)-最重要的维度之日期维度 说说数仓(6)-关于命名规范 说说数仓(7)-浅谈数据治理 说说数仓(8)-关于增量 说说...
  • 互联网数仓与传统行业数仓有什么不同?是什么引起他们之间的不同 分层、数仓主题划分的标准和依据? 数据建模(维度、范式、宽表),缓慢变化维如何处理?几种方式? 宽表通常包含哪些字段信息? 事实表有哪几类?...
  • 转自:数据仓库与Python大数据 作者:紫霞仙子 01. 架构演进 ...技术选型,传统数仓一般以Oracle、greenplum、teradata 等,互联网数仓一般以Hadoop生态圈为主,离线以Hive为核心,准实时以spark为核心
  • 数仓入门基础-5-数仓建模

    千次阅读 2019-04-22 00:01:00
    个人博客:https://renwula.github.io/,本系列基于互联网公司数仓,使用hive搭建数仓 从业中,数仓建模是一个数仓工程师需要的必备的能力,优秀的分层设计能够让整个数据体系更易理解和使用。所以想入行数仓数仓...
  • 数据仓库入门基础-1-漫谈数仓

    千次阅读 2019-01-03 23:19:54
    百度百科的定义: 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。...从传统数仓到互联网数仓,有很多相似点也有很多不同点,...
  • 个人博客:https://renwula.github.io/,本系列基于互联网公司数仓,使用hive搭建数仓百度百科的定义:数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有...
  • 个人博客:https://renwula.github.io/,本系列基于互联网公司数仓,使用hive搭建数仓三范式(3NF): 第一范式(1NF)无重复的列。学号不能是一样的吧对不对。 第二范式(2NF)非主属性非部分依赖于主关键字。你的...
  • 面向主题是数仓的四大特点之一,听起来很高大上,但是细细理解起来却有些费劲,本文主要是记录一下个人的理解,参考互联网上各种博客进行理解。 概念解析 抽象概念 主题(Subject) :在较高层次上将企业信息系统中...
  • 实时数仓技术

    2020-08-31 13:59:18
    收起 桔妹导读:随着滴滴业务的高速发展,业务对于数据时效性的需求越来越高,而伴随着实时技术的不断发展和成熟,滴滴也对实时...随着互联网的发展进入下半场,数据的时效性对企业的精细化运营越来越重要,商场.
  • 数仓分层模型

    千次阅读 2019-03-17 16:44:41
    数仓分层模型|简练实用) 分层案例 1.电信通讯 stage层 ->bdl层 ->analysis层 2.传统金融/保险 ods层 ->pdm层 ->dm层 3.互联网金融/电商 odl层 ->bdl层 -&...
  • 互联网行业的数仓建设基本上借鉴传统行业的IBM/TD方法论,只是建模方法在原有的基础上增加了Valut和Anchor。数仓的方法论总结如下:1.数据仓库模型设计按模型层次和建模顺序划分为:业务模型、领域模型、逻辑模型和...
  • 如果是数仓的,可以再学习hive,花半个月了解hive语法,组成原理,再了解点数据仓库知识,就可以去面试了,问到啥不懂的,马上学,这个是学习最快的方式。现在才知道,不要等到自己认为准备好了再去做,因为从来...
  • 文章作者:潘澄、朱峰 滴滴出行编辑整理:Charlotte内容来源:公众号“滴滴技术”导读:随着滴滴业务的高速发展,业务对于数据时效性的需求越来越高,而伴随...01实时数仓建设目的随着互联网的发展进入下半场,数据...
  • 1.实时数仓建设目的随着互联网的发展进入下半场,数据的时效性对企业的精细化运营越来越重要,商场如战场,在每天产生的海量数据中,如何能实时有效的挖掘出有价值的信息, 对企业的决策运营策略调整有很大帮助。...
  • 大数据—电商数仓项目

    千人学习 2019-03-01 10:45:53
    随着技术的飞速发展,经过多年的数据积累,各互联网公司已保存了海量的原始数据和各种业务数据,所以数据仓库技术是各大公司目前都需要着重发展投入的技术领域。数据仓库是面向分析的集成化数据环境,为企业所有决策...
  • 随着滴滴业务的高速发展,业务对于数据时效性的需求越来越...1.实时数仓建设目的随着互联网的发展进入下半场,数据的时效性对企业的精细化运营越来越重要,商场如战场,在每天产生的海量数据中,如何能实时有效的挖...
  • 桔妹导读:随着滴滴业务的高速发展,业务对于数据时效性的需求越来越高...1.实时数仓建设目的随着互联网的发展进入下半场,数据的时效性对企业的精细化运营越来越重要,商场如战场,在每天产生的海量数据中,如何能...
  • 随着互联网的发展进入下半场,数据的时效性对企业的精细化运营越来越重要,商场如战场,在每天产生的海量数据中,如何能实时有效的挖掘出有价值的信息, 对企业的决策运营策略调整有很大帮助。 其次从智能商业的...
  • 数据建模—数仓架构发展史

    万次阅读 2020-12-05 19:49:29
    时代的变迁,生死的轮回,历史长河滔滔,没有什么是永恒的,只有变化才是不变的,技术亦是如此,当你选择互联网的那一刻,你就相当于乘坐了一个滚滚向前的时代列车,开往未知的方向,不论什么样的技术架构只有放在...
  • 8年以上互联网数据仓库经历,对系统架构、数据架构拥有丰富的实战经验,曾经数据魔方、淘宝指数的数据架构设计专家。 与阿里云大数据数仓结缘 介然之前在一家软件公司给企业客户做软件开发和数仓开发实施,数仓...
  • 纵观数据库架构的发展历程,从互联网公司使用实践的角度分析了超大规模实时数仓架构挑战与实践。
  • 不知其来源出处,感觉是一字一字码出来的经验之谈,特分享与此。 分层案例 1.电信通讯 stage层 ->bdl层 ->analysis层2....pdm层 ->...互联网金融/电商odl层 ->bdl层 ->idl层 ->ad...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 192
精华内容 76
关键字:

互联网数仓