阿里专家分享:企业级大数据轻量云实践

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
大数据开发治理平台DataWorks,Serverless资源组抵扣包300CU*H
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介:

本文根据井诚老师于第九届中国数据库技术大会(DTCC 2018)的现场演讲《把大象装进冰箱 企业级大数据轻量云的实践》内容整理而成。

讲师介绍:

阿里专家分享:企业级大数据轻量云实践

井诚,阿里巴巴技术专家,2004年毕业于哈尔滨工业大学,有着多年的商业IT软件系统与互联网行业的研发、测试与交付经验。目前服务于阿里集团计算平台事业部,主要从事大数据云服务工程化方面的工作。

分享大纲

  1. 源起:阿里的象群们;

  2. 轻量化过程中遇到的挑战;

  3. 解决之道:切割象群;

  4. 未来之路

一、阿里的象群们

  首先给大家简要介绍一下阿里的象群,阿里的大数据服务比较多样、丰富,第一块就是我们的大数据计算服务MaxCompute,MaxCompute是用来做离线计算和处理的,第二块就是一个分析型的数据库,大概就是一个online或者MPP的数据库,然后第三块也是业内比较常见的流计算引擎,第四块就是数据通道服务DataHub,第五块就是阿里最著名的数据中台DataWorks。阿里的象群主要由这五块服务组成。

阿里专家分享:企业级大数据轻量云实践

  以下是这些服务在功能特性方面分别对应的开源界的一些生态的小伙伴,有些对比不一定恰当。最后一块DataWorks比较特殊,它是一个数据中台,这个概念是阿里率先提出的。基于阿里自身这么多年业务积累了非常丰富的海量数据,然后如何把这个数据利用好,阿里可能是——我们夸大一点说——业内甚至全球首先遇到相应挑战的,所以在数据中台建设上我认为开源社区并没有一个很好的对比的场景。

阿里专家分享:企业级大数据轻量云实践

  我重点介绍一下MaxCompute,MaxCompute的发展也很有意思。其实我遇到很多朋友在问我,MaxCompute是不是基于Hadoop去改的或者开发的?其实不是。2010年到2012年的时候,阿里的数据栈已经非常大了,那时还用的是Hadoop,在集群规模变得非常大、阿里打算把BU之间的数据完全打通的背景下,发现当时的Hadoop确实有很多各种各样的问题,主要就是性能问题,然后在内部经过了一个很激烈的、长时间的、甚至是痛苦的决策,最后决定自己做一套东西,所以从2010年左右就彻底放弃了Hadoop这条路,完全从头自己开发了一套系统,当年是叫ODPS。从2010年开始就一直沿着自研这条路去走,发展到2013年的时候集群规模超过了5千台,发展到今天MaxCompute已经完全在阿里内部所有的事业部,包括蚂蚁金服、高德完全落了地。我来自的这个部门就是在做MaxCompute,我们服务的就是整个集团的大数据引擎部分。目前我们的单集群已经过万了,去年双十一当日就处理了320PB的数据,非常惊人。另外,在公有云和专有云上也做了很多输出。

  AnalyticDB是阿里巴巴自主研发的能够满足海量数据实时多维分析的大数据产品。分析型数据库主要是应用的一个场合是在海量数据下去做CRM的报表分析,阿里也是一个数据公司,很看重商业数据挖掘,所以AnalyticDB在海量数据下做频繁的交互和查询的BI报表有很好的效果,其响应的速度是非常快的,基本都是秒级的响应。在去年双十一和双十二两天,整个集团是批量导入了1万亿条的数据,然后实时落盘Optimize的数据是1千亿条。我们集团内部落地的集群的规模也是突破了1千台,性能非常高,那这两个是我们当前大数据比较核心的地方。

二、遇到的挑战

  2016年的时候国内正好是私有云或者说大数据云计算风起云涌的一年,市场上涌现了很多轻量化的大数据云平台。对阿里而言,阿里从来是大规模到超大规模,单集群规模过万;从单机房到多region的方向发展;拥有日益强大的基础与运维服务;精通阿里大数据运维技术的SRE团队;7*24小时高效处理平台问题。此时私有云和专有云客户的挑战在于:只有小至10台左右的规模诉求;缺乏完善的底层基础设施;对阿里大数据开发/运维技术都不甚了解;能最终解决平台问题的人,难以快速访问平台。

  所以到2016年想做这个事儿的时候就发现,阿里手上并没有一个很确定的解决方案去解决它。大家都是基于轻量级的,但是阿里当时是反过来的,我们有超大规模的工程能力,因此怎么把它布小就变成了一个挑战。所以我们当时遇到的挑战就是,怎么去把刚才讲到的这些大象,一块一块割小,割到一个10台左右的规模然后去推给客户。

  我们大数据轻量云的产品理念就是,以私用云的形态,将MaxCompute、AnalyticDB与DataWorks为代表的阿里大数据计算能力,用尽可能低的门槛输出给客户,普惠各行各业。、所以当时的产品矩阵是,底层基于飞天分布式操作系统Apsara,然后去把大数据引擎,刚才讲的MaxCompute、AnalyticDB都输出去。再上面就是阿里常用的一些大数据应用,比如说DataV还有BI报表。产品架构就是这样。

阿里专家分享:企业级大数据轻量云实践

  关于期望达到的技术目标,我们总体列了五点。第一点肯定是要轻量化的,将公有云上20+的管控服务器规模,压缩至7台以内;第二是从商业角度考虑,1台服务器损坏不停服,2台服务器损坏不丢数据,提高可用性;第三个目标是可升级性,有能力升级至专有云企业版,提供全量云计算服务能力;第四是可扩展,易于扩展增加新产品;最后一块就是易运维,对于新接触阿里大数据技术体系的人,能快速掌握基本运维操作。

三、解决之道

  我现在来讲一下我们当时是怎么做这件事情的。首先是飞天,飞天是阿里云产品底层的分布式操作系统,由盘古/伏羲/女娲三大部分组成。这个盘古是一个分布式的稳健操作系统,有很强的容错性,很高的性能;女娲是一个协调服务,有点类似社区的ZK;伏羲就是资源管理和任务调度。当时在公有云和集团内部,我们每一个集群的规模是总共13台服务器,盘古是5台服务器,女娲是5台,伏羲是3台。因此在管控上,只是一个MaxCompute就有13台服务器。

阿里专家分享:企业级大数据轻量云实践

  在解决方案上,我们当时考虑用一个最流行的方式,就是把它Docker化,第一步Docker化我们把它挤到虚拟机上去做。还有一点就是考虑减少它的节点,因为5+5+3是非常过量的一个配置,所以我们经过一些容量的规划和测评,最后把它全部Docker化,用3+2+3的模式部署在了4台物理机上。所以在这一点上我们极大的把飞天管控压下去了,包括MaxCompute和AnalyticDB都是基于飞天的,如果不压缩的话这两者合起来就是26台物理机,但是压完以后在4台物理机上就可以搞定。

阿里专家分享:企业级大数据轻量云实践

  第二块是对运维管控服务做了一个极大的精简。天基是阿里云的核心基础运维系统,管理云平台中的硬件生命周期与各类静态资源。在我们的云体系中,天基上面管控了60多个服务,但是这个解决方案在我们轻量的方案中是不成立的。我们在轻量云里只有三个产品,AnalyticDB、MaxCompute和DataWorks。当时我们梳理了一遍这个整体的管控服务,还有他们互相之间的依赖关系,然后从里边认真筛选了一遍,把所有没有必要的依赖全部都砍掉了,同时也做了一些改造,最终从60多个服务压到了10个服务。然后天基的迷你版原来在公有云还有专有云中可能要10台服务器,压缩完以后就减少到了3台左右,在整体的硬件成本和规模上都节省了一倍以上。

阿里专家分享:企业级大数据轻量云实践

  还有一个就是比较常见的套路就是服务混布,这个概念其实在业内不是特别新鲜,就是我们把计算密集型,还有网络密集型,还有没有资源竞争关系的服务尽可能的布到一个服务器上。

阿里专家分享:企业级大数据轻量云实践

  功能调整。在轻量的条件下,一些原有的功能失去了意义,因为我们只有12台。所以这倒是一件干得很痛快的事情,就是看哪些服务没有用的就把他全部砍掉,刚才讲到的同城同灾,多region,还有我们之前整个机群管理,因为有很多内部管理有很多变更的流程,还有很多智能监控分析我们都砍掉了。智能监控分析这一块我说一下,大家知道这个智能往往都是基于数据的,如果你的集群量非常大的时候,能产生大量数据的时候,这个智能是有意义的,但是当机群只有10台或者20台的时候,这个时候去搞基于数据化的智能运维也是没有太大的价值。所以当时也是梳理了一番,把很多的业务都砍掉了。

阿里专家分享:企业级大数据轻量云实践

  轻量化的中间件服务。SLB当时物理机是6台,RDS当时也是基于物理机去部署的,最少要两台服务器。在轻量的场景中,我们去找miniLVS或者miniRDS这种非常小巧的服务去替代原来庞大的物理机,在这个场景下我们节省了十多台服务器。

阿里专家分享:企业级大数据轻量云实践

  还有一点,白屏化运维。可能客户的运维的同学跟阿里运维的同学背景其实也不太一样,一个是技术体系的差异,还有一些习惯的差异。我们在做运维系统的时候经常会给很多很花哨的一些图表、性能趋势、性能变化,但是这些图表或者说有一些缩略语,指标的变化是什么含义,其实在解读上是很偏经验化的。当时考虑到这一点,我们紧急的梳理了一遍在运维上的有价值的指标,把太技术化的这种英文缩略语全部转换成一个更容易懂的术语。在系统故障检测上我们除了常见的自检排查、指标分析、日志分析、服务器状态监控之外,我们还利用这些数据去做故障发现,通过这些比较有规律的特征和指标,往往能够比较及时准确地发现一些常见的问题。

阿里专家分享:企业级大数据轻量云实践

  最后一块是比较重要的,就是全链路性能压测与稳定性测试。因为这个云平台上面有比较核心的两个组件,一个是MaxCompute,一个是AnalyticDB。我们单独去测它其实不会发现太多问题,很多时候是结合业务场景,在做全链路的时候发现一些瓶颈。包括我前面说到的裁减、删减,那么裁到什么比例是一个比较合理的比例,是需要经过一些验证的。我们根据客户的一些典型应用,比如离线计算的数据量、作业值、任务数,还有就是在AnalyticDB的数据存储等等,最终经过多轮的测试我们把刚才提到的优化点差不多都找到了一个最优的中间数值,最后实现了我们的原始目标。

  还有其他的切割技术。如合理合并中间件资源,适度降低监控轮询频率,合并优化有重复的监控方案,调整日志rotate策略等等。

  目前我们前三个目标都顺利得到了实现,第四块我们初步完成了运维操作的白屏化、傻瓜化,但我们的目标还没有完全的实现,因为运维目前更多还是偏经验去做的,我们为了弥补,也写了很多运维指南,然后在前端界面上也补充了很多操作指导,希望能够让用户快速掌握一些简单的问题处理方式。

四、未来之路

  最近我们也有一些思考,这个思考更多的是偏这种业务方面的。因为我们当前讲到的东西都是一个云平台的,但其实前方传来更多的需求是偏应用平台的,应用平台跟我们做的这个平台比较大的一个差别,如下:

阿里专家分享:企业级大数据轻量云实践

  在这种场景下云平台这个底座——也就是天基这个底座,很多的能力和威力在应用平台上其实是很难发挥出来的,所以在这种应用平台场景下,我们当前考虑的就是要基于天基再进一步去做一些优化和删减,将它与应用平台富余出来的功能接着往下砍。

  还有一块是可运维性。因为阿里集团内部很多时候运维工程师考虑的是怎么高效去处理一些问题,但是在应用平台上产生了一些特性可能会导致可运维性没有那么高,比方说有个东西坏了,他不需要现场修,也许拿回去返厂修了,没有那么强的当场解决的特性需求,所以在这种场景下,可能我们整个运维系统的一些设计目标和理念都会发生变化,对应的技术也会跟着去调整。

  以上就是我的分享。在(把大象塞进冰箱的)这个过程中,我们从初始的一个很大的规模逐渐的裁到了很小,大概裁减到了15台服务器。

结尾:

  第九届中国数据库大会以“数领先机?智赢未来”为主题,设定2大主会场及22个技术专场,邀请来自国内外互联网、金融、教育等行业百余位技术专家,共同探讨Oracle、MySQL、NoSQL、大数据、机器学习、区块链、数据可视化等领域的前瞻性热点话题与技术。



原文发布时间为:2018-06-4

本文作者:井诚

本文来自云栖社区合作伙伴“IT168”,了解相关信息可以关注“IT168”。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
7月前
|
人工智能 数据管理 Serverless
阿里云数据库走向Serverless与AI驱动的一站式数据平台具有重大意义和潜力
阿里云数据库走向Serverless与AI驱动的一站式数据平台具有重大意义和潜力
451 2
|
7月前
|
人工智能 运维 Cloud Native
、你如何看待阿里云数据库走向Serverless与AI驱动的一站式数据平台?
、你如何看待阿里云数据库走向Serverless与AI驱动的一站式数据平台?
199 2
|
1月前
|
数据采集 分布式计算 OLAP
最佳实践:AnalyticDB在企业级大数据分析中的应用案例
【10月更文挑战第22天】在数字化转型的大潮中,企业对数据的依赖程度越来越高。如何高效地处理和分析海量数据,从中提取有价值的洞察,成为企业竞争力的关键。作为阿里云推出的一款实时OLAP数据库服务,AnalyticDB(ADB)凭借其强大的数据处理能力和亚秒级的查询响应时间,已经在多个行业和业务场景中得到了广泛应用。本文将从个人的角度出发,分享多个成功案例,展示AnalyticDB如何助力企业在广告投放效果分析、用户行为追踪、财务报表生成等领域实现高效的数据处理与洞察发现。
55 0
|
4月前
|
分布式计算 大数据 数据处理
【大数据管理新纪元】EMR Delta Lake 与 DLF 深度集成:解锁企业级数据湖的无限潜能!
【8月更文挑战第26天】随着大数据技术的发展,Apache Spark已成为处理大规模数据集的首选工具。亚马逊的EMR服务简化了Spark集群的搭建和运行流程。结合使用Delta Lake(提供ACID事务保证和数据版本控制)与DLF(加强数据访问控制及管理),可以显著提升数据湖的可靠性和性能。本文通过一个电商公司的具体案例展示了如何在EMR上部署集成Delta Lake和DLF的环境,以及这一集成方案带来的几大优势:增强的可靠性、细粒度访问控制、性能优化以及易于管理的特性。这为数据工程师提供了一个高效且灵活的数据湖平台,简化了数据湖的建设和维护工作。
62 1
|
4月前
|
存储 分布式计算 大数据
惊了!大数据时代来袭,传统数据处理OUT了?创新应用让你眼界大开,看完这篇秒变专家!
【8月更文挑战第6天】在数据爆炸的时代,高效利用大数据成为关键挑战与机遇。传统数据处理手段难以胜任现今海量数据的需求。新兴的大数据技术,如HDFS、NoSQL及MapReduce、Spark等框架,为大规模数据存储与处理提供了高效解决方案。例如,Spark能通过分布式计算极大提升处理速度。这些技术不仅革新了数据处理方式,还在金融、电商等领域催生了风险识别、市场预测及个性化推荐等创新应用。
103 1
|
5月前
|
存储 搜索推荐 数据建模
阿里巴巴大数据实践之数据建模:构建企业级数据湖
阿里巴巴通过构建高效的数据湖和实施先进的数据建模策略,实现了数据驱动的业务增长。这些实践不仅提升了内部运营效率,也为客户提供了更好的服务体验。随着数据量的不断增长和技术的不断创新,阿里巴巴将持续优化其数据建模方法,以适应未来的变化和发展。
|
7月前
|
人工智能 数据管理 大数据
阿里云数据库走向Serverless与AI驱动的一站式数据平台是一个很有前景和意义的发展方向
阿里云数据库走向Serverless与AI驱动的一站式数据平台是一个很有前景和意义的发展方向
107 2
|
6月前
|
存储 分布式计算 专有云
MaxCompute产品使用问题之阿里公有云的数据如何迁移到阿里专有云
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
65 10
|
7月前
|
人工智能 Cloud Native 数据管理
阿里云数据库:向Serverless与AI驱动的一站式数据平台迈进
众所周知,在人工智能迅猛发展的现在,在AI驱动下的数据平台,正在向一站式、智能化的方向演进,还有就是云原生+Serverless的不断深入,一站式数据平台将让数据管理开发像“搭积木”一样简单实用,以性价比更高、体验更优的云数据库服务,助推用户业务提效增速。据悉阿里云数据库正在朝着Serverless与AI驱动的方向发展,构建一站式、智能化的数据平台,这一发展趋势将为用户提供更简单、实用的数据管理开发体验,以提高业务效率和降低成本。那么本文就来分享一下如何看待阿里云数据库的这一转变,并展望云原生和Serverless对数据管理与开发的未来带来的更多可能性。
145 1
阿里云数据库:向Serverless与AI驱动的一站式数据平台迈进
|
7月前
|
人工智能 运维 数据管理
阿里云数据库走向Serverless与AI驱动的一站式数据平台
阿里云数据库走向Serverless与AI驱动的一站式数据平台
327 2