精华内容
下载资源
问答
  • 一个典型的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架构还在持续演化中,需要更多企业用户打磨和参与。目前它更多的部署在业务实时性要求比较高的公司、部门中,最著名的应该是阿里的双十一大屏项目。

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

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

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

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

    1.结构、分层清晰

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

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

    3.扩展性好

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

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

    1.系统架构上

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

    2.数据架构上

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

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

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

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

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

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

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

    3.质量是生命线

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

    4.数据变成生产资料

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

    展开全文
  • 数仓

    千次阅读 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大师经典建模四步骤:选择业务过程->声明粒度->确定维度->确定事实 进行维度建模。
    在这里插入图片描述

    数仓规范

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

    数据治理

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

    展开全文
  • 大数据平台数仓面试提纲

    千次阅读 2019-12-10 15:49:24
    互联网数仓与传统行业数仓有什么不同?是什么引起他们之间的不同 分层、数仓主题划分的标准和依据? 数据建模(维度、范式、宽表),缓慢变化维如何处理?几种方式? 宽表通常包含哪些字段信息? 事实表有哪几类?...

    1、数仓架构
    拿一个你最近的项目举例,具体说下一个数仓建设的过程及注意点。(也可以放在第5在问里)
    互联网数仓与传统行业数仓有什么不同?是什么引起他们之间的不同
    分层、数仓主题划分的标准和依据?
    数据建模(维度、范式、宽表),缓慢变化维如何处理?几种方式? 
    宽表通常包含哪些字段信息?
    事实表有哪几类?事务事实表、周期快照事实表、累积快照事实表。
    范式模型具体哪几个主题?
    维表与代码表?区别和联系?

    打点 accesslog 数据如何处理,如何进模型及各层?
    数据质量治理、元数据管理方面的经验。
    数仓存在的意义价值及分层的好处?

    2、hadoop生态
    hive引擎几种?
    Hive支持的存储格式有:
        Text File
        SequenceFile
        RCFile
        Avro Files
        ORC Files
        Parquet
    谈一下hadoop部署的过程
    mr运行机制

    3、hive调优
    优化的方面
    大表大表关联,大小表关联。
    union all太多,如何加快查询速度?
    数据倾斜的原因及改进处理的措施。

    4、基础技术方面
    shell:远程复制、本地与服务器文件传输,正则匹配
    vi中,光标到快速移动到首行、行尾,整行快速复制和粘贴,查找和替换字符串
    awk及sed的使用
    SQL:分析函数、窗口函数(累积值如何计算?)
    hive中的sql与关系型数据库中sql有哪些不同?
    hive中的复杂数据类型:ARRAY、MAP、STRUCT、UNION及其使用场景。
    hive里json字符串如何解析出来?
    如何在mysql中进行排名?
    hadoop操作:
    两集群间传送文件怎么实现?distcp
    上传本地文件到hdfs

    使用过的数据库?
    开发语言?

    5、对业务的关注
    拿一个你最近的项目举例,具体说下一个数仓建设的过程及注意点。(1中没提就放在这里问)
    (重点考察细节,在项目中承担的角色、数据主题如何划分、共分几层、对于具体维度和事实的处理,以及具体的技术实现)

    数据应用:
    用户标签体系
    消息推送
    用户拉新效果评估
    漏斗分析

    6、延展
    数据湖、主数据、dv建模、算法、数据挖掘、人工智能、实时计算
    hbase、impala、kafka、tableau、ES、mongoDb、GP

    7、发散问题
    工作中自已的最擅长的和最不擅长最需要改进的地方
    说一下自己在工作或项目中遇到的一个最大(印象深刻)的困难,及其最终解决的过程
    最近看的一些书及关注的技术,自己职业规划

    8、review简历,找重点、亮点复核

    展开全文
  • 简介:《实时数仓入门训练营》由阿里云研究员王峰、阿里云高级产品专家刘一鸣等实时...本文整理自直播《实时数仓助力互联网实时决策和精准营销-合一》视频链接:https://developer.aliyun.com/learning/course/807/deta
  • 说说数仓(2) - 传统数仓与互联网数仓 说说数仓(3) -数仓架构 说说数仓(4) - 指标字典 说说数仓(5)-最重要的维度之日期维度 说说数仓(6)-关于命名规范 说说数仓(7)-浅谈数据治理 说说数仓(8)-关于增量 说说...
  • 数据仓库入门基础-1-漫谈数仓

    千次阅读 2019-01-03 23:19:54
    百度百科的定义: 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。...从传统数仓到互联网数仓,有很多相似点也有很多不同点,...
  • 数仓-

    2020-12-19 11:41:39
    数仓的知识
  • 数仓模型

    2020-02-02 13:04:32
    总结了数仓的一些重要概念,包括数仓分层,事实表的分类,主题
  • 转自:数据仓库与Python大数据 作者:紫霞仙子 01. 架构演进 ...技术选型,传统数仓一般以Oracle、greenplum、teradata 等,互联网数仓一般以Hadoop生态圈为主,离线以Hive为核心,准实时以spark为核心
  • 数仓入门基础-5-数仓建模

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

    千次阅读 2019-04-30 21:15:49
    从智能商业的角度来讲,数据的结果代表了用户的反馈,获取结果的及时性就显得尤为重要,快速的获取数据反馈能够帮助公司更快的做出决策,更好的进行产品迭代,实时数仓在这一过程中起到了不可替代的作用。...
  • 数仓概念梳理

    2021-06-10 10:20:42
    案例1:互联网金融 ODL层 (Operational Data Layer):操作数据层 ​ 外部数据什么样,该层数据就是什么样(关系型数据库、JSON格式等),部分关系型数据可以直接转IDL层 BDL层 (Base Data Layer):基础数据层 ​ ...
  • 数仓建模

    千次阅读 2020-10-16 19:42:23
    大数据项目之电商数仓(用户行为数据采集)数据仓库简介 1.什么是数据库 数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。 数据库是长期存储在计算机内、有组织的、可共享...
  • 实时数仓建设

    万次阅读 多人点赞 2020-07-22 17:55:20
    从智能商业的角度来讲,数据的结果代表了用户的反馈,获取结果的及时性就显得尤为重要,快速的获取数据反馈能够帮助公司更快的做出决策,更好的进行产品迭代,实时数仓在这一过程中起到了不可替代的作用。...
  • 如果是数仓的,可以再学习hive,花半个月了解hive语法,组成原理,再了解点数据仓库知识,就可以去面试了,问到啥不懂的,马上学,这个是学习最快的方式。现在才知道,不要等到自己认为准备好了再去做,因为从来...
  • 个人博客:https://renwula.github.io/,本系列基于互联网公司数仓,使用hive搭建数仓百度百科的定义:数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有...
  • 数仓理论

    2021-02-23 09:26:29
    数仓建模思想: ODS(操作数据存储)层设计思想 ODS需要保持也源业务系统表保持统一,尽可能反映数据原貌,不做数据加工,需要执行的原则是: (1).统一管控,由统一的基础数据团队来统一管控,存储,引用,数据检查...
  • 实时数仓简介

    2021-06-03 10:14:48
    写在前面 随着数据科学的进步以及处理技术的成熟,业务/开发人员早已不在满足于传统的离线数仓报表或者提前设置好维度与指标...该项目以尚硅谷大数据实时数仓项目为基础,结合电商互联网公司实时数据场景,对项目作了
  • 数仓架构

    千次阅读 2019-05-28 16:21:47
    13、大数据环境下互联网行业数据仓库/数据平台的架构之漫谈 http://lxw1234.com/archives/2015/08/471.htm 14、【干货经验分享】三种数据部门架构优与劣 http://dwz.cn/23QRbn 15、数据库schema设计与优化 ...
  • 数仓建模—数仓架构发展史(02)

    万次阅读 2020-12-05 19:49:29
    时代的变迁,生死的轮回,历史长河滔滔,没有什么是永恒的,只有变化才是不变的,技术亦是如此,当你选择互联网的那一刻,你就相当于乘坐了一个滚滚向前的时代列车,开往未知的方向,不论什么样的技术架构只有放在...
  • 个人博客:https://renwula.github.io/,本系列基于互联网公司数仓,使用hive搭建数仓三范式(3NF): 第一范式(1NF)无重复的列。学号不能是一样的吧对不对。 第二范式(2NF)非主属性非部分依赖于主关键字。你的...
  • 数仓分层模型

    千次阅读 2019-03-17 16:44:41
    数仓分层模型|简练实用) 分层案例 1.电信通讯 stage层 ->bdl层 ->analysis层 2.传统金融/保险 ods层 ->pdm层 ->dm层 3.互联网金融/电商 odl层 ->bdl层 -&...
  • 离线数仓与实时数仓案例

    千次阅读 2019-10-02 23:44:18
    随着互联网时代来临,数据量暴增,开始使用大数据工具来替代经典数仓中的传统工具。此时仅仅是工具的取代,架构上并没有根本的区别,可以把这个架构叫做离线大数据架构。 后来随着业务实时性要求的不断提高,人们...
  • 实时数仓技术

    2020-08-31 13:59:18
    收起 桔妹导读:随着滴滴业务的高速发展,业务对于数据时效性的需求越来越高,而伴随着实时技术的不断发展和成熟,滴滴也对实时...随着互联网的发展进入下半场,数据的时效性对企业的精细化运营越来越重要,商场.
  • 1.实时数仓的相关概述 1.1 实时数仓产生背景 我们先来回顾一下数据仓库的概念。 数据仓库的概念是于 90 年代由 Bill Inmon 提出, 当时的背景是传统的 OLTP 数据库无法很好的支持长周期分析决策场景,所以数据仓库...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,609
精华内容 1,443
关键字:

互联网数仓