热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进

林伟,阿里云智能研究员、阿里云智能通用计算平台MaxCompute、机器学习PAI平台技术负责人本篇内容将从三个部分为读者讲述离线实时一体化数仓与湖仓一体—云原生大

林伟,阿里云智能研究员、阿里云智能通用计算平台MaxCompute、机器学习PAI平台技术负责人

本篇内容将从三个部分为读者讲述离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进。通过从数据湖到数仓的历史,反思为什么要做湖仓一体,以及湖仓一体在今天这个阶段为什么开始做离线和实时湖仓一体化的数仓。

  • 湖仓一体
  • 离线在线数仓一体化
  • 智能数仓

希望这次的分享让大家进一步理解我们为什么做湖仓一体。

一、湖仓一体

(1) 阿里巴巴从数据湖到数仓历程

2007年的宁波战略会议确定建立一个开发、协同、繁荣的电子商务生态系统,其中生态系统的核心是数据。但这个时候各个业务部门都在垂直式发展数据能力,用数据支撑商业的决策服务。这些数据中台支撑了业务部门的发展。当我们发展到一个阶段的时候,希望进一步挖掘出各个业务部门数据之间的关联性,从而利用这些高阶数据分析挖掘更高商业价值,我们遇到了很多的困难,因为数据来自不同的部门,不同的人会提供你不同的数据集,没有清晰数据质量监控,你也不知道这些数据是不是完整的,你就需要花费很多时间不停的去校准数据。这个过程耗时太长且多数情况会做了非常多的无用功,这样其实整体下降了公司的效率。

所以到了2012年,我们决定将所有的业务部门的数据都关联起来,决心做『One Data,One Service』。其实这个过程就是典型一个数据湖升级到数仓的过程,但是因为我们缺乏很好湖仓一体的系统沉淀,这个过程非常艰难,我们称之这个过程为“登月”。大家可以从这个名字可见中间的艰难。在这个时间段,各个团队甚至需要停下日常的自身业务发展来配合整理数据,把所以原来已有的数据分析过程,搬到统一一套数仓系统上面。最终我们历经18个月,在花了非常大的代价,于2015年的12月完成建立了统一大数据仓库平台建立,这就是阿里巴巴的MaxCompute。通过这个统一数仓平台,无论是业务团队、服务商家还是物流或其它环节都可以方便,迅捷,更好的挖掘商机。所以大家可以看到在阿里巴巴统一的大数据平台完成后,业务成长也进入了快车道。这正是因为有更好的数据支撑,才使得商家、客户都能快速的进行一些商业决策。

(2) 数据仓库和数据湖的关系

从开发人员的角度看,数据湖更为灵活,更喜欢这种随心所欲的模式,任意的引擎都可以去读、写,没有约束,启动也非常容易。

从数据管理者角度看,数据湖能作为起步,但达到特定规模时,把数据当作资产或者需要做更大的商业决策的时候,都希望有一个很好的数仓。

(3) 数据仓库和数据湖系统的增长曲线

上图的增长曲线,基本上也是阿里发展的曲线,最开始也是数据湖状态,各个业务部门独立发展,起步快、灵活性强。但当达到特定规模时,数据无人管理、每个业务部门的数据的逻辑语言不一致,很难对齐。所以当时花了50%、80%的无效时间在校验数据,随着规模的不断扩大,这样的损耗越来越大,迫使我们推动公司统一数据仓库的建立。

(4) 湖仓一体

正是因为我们经历过堪比“登月”的痛苦,所以我们不希望MaxCompute未来的企业客户也经历这么痛苦过程,所以我们构建湖仓一体的开发平台。当公司规模较小的时候,可以运用数据湖能力更快定制自己的分析。公司成长到一定的阶段,需要更好的数据管理和治理方式的时候,湖仓一体平台可以无缝把数据以及数据分析进行有效的升级管理,使得公司对于数据管理更加规范。这就是湖仓一体整体设计背后的核心思想。

我们把湖的系统和仓的系统有机结合在一起,一开始是没有元数据,你想要建立数仓的时候,我们有可以在湖上面来抽取这个元数据,这个元数据是和仓的元数据放在一个一体化的元数据的分析平台上面。在这个元数据之上可以建立很多数据仓库的数据管理平台。

同时,在数据仓库湖仓一体的平台上面,我们有效支持很多分析引擎,有任务型的计算引擎,包括像MaxCompute是批处理、Flink是流式处理、机器学习等,还有开源的组件可以分析我们的数据;也有服务性质数据引擎可以支持交互式查询服务,能够去更加实时性很好的展示我们的数据,从而使得用户可以在这个服务性引擎上去构建自己数据服务应用。

在引擎之上我们构建丰富的数据管理工具从而能够让业务部门能够进行高效整体的数据治理。而这都得益于我们把湖和仓的数据打通,这也是整体湖仓一体设计的核心。

二、离线在线数仓一体化

现今社会越来越便捷,客户需要更快的做出商业决策。在双十一GMV实时大屏、春晚直播实时大屏等数据分析,以及机器学习从离线模型走向在线模型的趋势中我们都可以看到。这些需求推动了实时数仓的发展。

其实实时数仓和离线数仓有着相似的发展过程。当时实时系统发展的早期,我们首先考虑的是引擎,因为只有先有引擎了你才可以进行实时数据分析,所以阿里巴巴把研发精力放在Flink这样的流计算引擎上。但是只有流计算引擎,类似数据湖的阶段,我们缺乏将分析出来的结果数据进行管理,所以到了第二阶段,我们利用我们离线数仓产品来管理这些分析结果,从而把分析结果纳管到我们整体数据仓库和数据管理中。但是把实时分析之后的结果放在离线数仓里面,显然这样是对于实时商业决策是不够的及时。所以我们现在发展第三个阶段:实时数仓。

我们会把流式引擎的分析结果结果实时的写到实时数仓Hologres里面,从而能够让分析的结果更实时的进行BI的分析,从而有效的支持客户实时商业决策。

这就是离线和在线数仓一体化的设计。

总结一下,原有的分析在离线和在线的数仓一体化之前是一个很纷繁的过程,有离线、有在线的、有很多不同的引擎,现在把它总结到或者简化成上图的架构。我们会用实时的引擎做预处理,做完预处理后,我们把这些数据写入到MaxCompute离线的数仓,也可以同时写入到Hologres实时数仓中里面,从而可以做更加实时的服务化的BI分析。而MaxCompute离线的数仓存储的成本更低,吞吐的性能更好,可以做大量的离线数据分析,这就是离在线数仓一体化的设计。

有了一体化的设计,就可以给客户带来一个非常平衡的系统。根据数据的场景或者是业务的场景,你可以用批处理。并且通过数据的压缩、冷存,数据根据热和冷的方式做不同梯度的存储,就可以得到更低成本的离线分析。

当对于数据的实时性的价值更加重视,可以用流计算的引擎去做。同时又希望有很快的交互式,希望快速通过各种方式的、各种维度、角度去观察已生成好的报表。这时候可以利用交互式引擎,在高度提纯过数据后的进行各个维度的洞察。

希望用湖仓一体化平台就能够达到一个好的平衡,根据实际的业务体量、要求、规模成本达到更好点。

总的来说,希望湖仓一体系统上,不管是离线还是在线。通过不同的分析引擎,支持各类分析,同时通过在线服务型引擎能够实时进行BI,能够达到低成本、自定义能力,以及实时和在线服务的各种平衡。让客户能够根据实际业务场景选择。

三、智能数仓

有了统一的数仓平台,我们就可以在此之上建立强大的数据治理或者是分析平台,这个就是我们的DataWorks。在这个平台上面有很多数据建模工具,提供数据的质量和标准、提供血缘的分析、提供编程助理等等。正是因为湖仓一体在线和离线的一体化的底座能力,才赋予了我们有这样的可能性去做到大数据开发和治理平台更加智能化的方式。从而将更多经过验证过有效数据治理经验分享到我们企业客户上。

原文链接

本文为阿里云原创内容,未经允许不得转载。


推荐阅读
  • 数据库异常智能分析与诊断
    数据库,异常, ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 企业数据应用挑战及元数据管理的重要性
    本文主要介绍了企业在日常经营管理过程中面临的数据应用挑战,包括数据找不到、数据读不懂、数据不可信等问题。针对这些挑战,通过元数据管理可以实现数据的可见、可懂、可用,帮助业务快速获取所需数据。文章提出了“灵魂”三问——元数据是什么、有什么用、又该怎么管,强调了元数据管理在企业数据治理中的基础和前提作用。 ... [详细]
  • 本文介绍了OkHttp3的基本使用和特性,包括支持HTTP/2、连接池、GZIP压缩、缓存等功能。同时还提到了OkHttp3的适用平台和源码阅读计划。文章还介绍了OkHttp3的请求/响应API的设计和使用方式,包括阻塞式的同步请求和带回调的异步请求。 ... [详细]
  • 本人学习笔记,知识点均摘自于网络,用于学习和交流(如未注明出处,请提醒,将及时更正,谢谢)OS:我学习是为了上 ... [详细]
  • 前言本篇为大家总结社区多人合作常见的场景和对应的git操作命令。本篇非新手教程,阅读本篇前需具备Git基础知识。Git入门教程请参考https://www ... [详细]
  • 马蜂窝数据总监分享:从数仓到数据中台,大数据演进技术选型最优解
    大家好,今天分享的议题主要包括几大内容:带大家回顾一下大数据在国内的发展,从传统数仓到当前数据中台的演进过程;我个人认为数 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
author-avatar
龙娃爸爸3
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有