干货:VLDB论文摘要-阿里技术突破性创新
阿里技术突破性创新

世界顶级大规模数据处理分析管理会议VLDB(VERY LARGE DATA BASE)于9月1日至5日在杭州举办,该会议也是也是大数据云计算领域的盛会,阿里巴巴两个团队在这个会议上分别发表论文。两篇论文分别描述了在超大规模分布式集群环境下如何保持性能稳定,以及构建大规模的数据库云(RDS)的核心技术。两篇论文代表了云技术水平处于世界前列的阿里巴巴近些年的研究成就。
两篇论文的研究与阿里巴巴的云计算平台“飞天”相关。
分布式调度系统:“伏羲”
其中的分布式调度系统称为”伏羲”。伏羲主要负责管理集群的机器资源和调度并发的计算任务,目前支持离线数据处理(DAG Job)和在线服务(Service),为上层分布式应用如ODPS/OSS/OTS提供稳定、高效、安全的资源管理和任务调度服务,为实现阿里巴巴集团打造数据分享第一平台的目标提供强大的计算引擎。未来会在更大规模和更丰富计算模型等方面进一步发展,为用户构筑可用可靠的云计算引擎,进一步降低成本,挖掘数据价值。
《Fuxi: a Fault Tolerant ResourceManagement and Job Scheduling System at Internet Scale》的创新点在于:针对大数据应用,分布式计算环境下,采用增量调度和增量通信的机制。使单集群规模能达到5000台,且调度时间只需要ms级别。此外,当机房中机器节点足够多时,硬件,软件,系统错误成为常态,且错误种类千奇百怪。为了解决这个知识性能不稳定或者极具下降的问题,团队提供了尽量不依赖checkpoint的FailOver机制,开发了基于规则和历史信息的错误节点检测机制,降低这些错误对应用的影响。在10%的节点坏掉的情况下,只有20%的性能下降,并且没有任何应用失败。
这项研究持续5年的时间,今年2月底团队成员一拍即合,决定撰稿,但因为投稿截止日期是4月1日。只有1个月时间完成所有撰写,而且业务方的需求压力没有任何下降,团队成员只能抽下班业余时间来完成论文。
构建大规模的数据库云(RDS)的核心技术
《Realization of the Low Cost and HighPerformance MySQL Cloud Database》主要描述了构建大规模的数据库云(RDS)的核心技术:系统稳定性,可扩展,同时兼顾低成本,高性能。该项研究将应用与作为云计算三驾马车之一的数据库云。
在研究过程中,团队解决了三个难题,分别是
1. 资源如何公平的隔离,保证每个用户都有平等的机会被服务到。
2. 如何保证稳定性,引入了Erlang语言来解决这个难题。
3. 系统扩展,透过消息队列来达到支持异构系统和连接各分布式组件。
让研发团队印象最深的是:他们用的Proxy要达到热更新,在不影响用户使用的前提下,更新系统。这是个很体系的工作,相关的代码一行行的读,在客户的怒吼中,把相关的技术体系掌握到位,为后面平滑升级奠定了很好的基础。
大型分布式计算平台系统的设计与实现是一个世界级难题,在规模、性能、稳定性、可运维性等多方面都有技术挑战。例如在阿里飞天5K项目攻坚过程中,从设计到实现每一步都可能存在性能“陷阱”,原因主要在三个方面:
1.规模放大效应:当节点数增大到数千个时,系统中原本不是瓶颈的与规模成正比的环节,其影响会被放大;
2.木桶效应:很多时候,一个系统中99%的地方都被优化过,剩下的1%很可能成为影响系统性能的致命的瓶颈;
3.长路径模块依赖:一个请求的处理过程有时需要跨越多个模块包括外部模块,外部模块的性能的不稳定性最终会影响到这个请求的处理性能和稳定性。
阿里巴巴的研发团队做了大量伏羲优化工作来规避上述的性能“陷阱”,涉及到架构设计、实现细节和模块依赖。
数据库系统Oceanbase
阿里巴巴在分布式数据的研发上一直处于世界前列,其数据库系统Oceanbase每天响应百亿次读取和写入,为海量信息的存储提供有力保障。和传统数据库一样,OceanBase支持标准的SQL及数据库ACID特性。不同的是,OceanBase在架构设计上摒弃了高端服务器和高端存储,选择构建在普通PC服务器组成的集群之上,并通过软件层面实现自动容错。由于OceanBase具备良好的可扩展性,强一致性,高可用性以及高性能,它被广泛应用在阿里巴巴的各类业务,其中包含最核心的交易系统。
OceanBase的主要特性包括:
1. 支持标准SQL。OceanBase支持SQL92标准,且后续将会全面兼容MySQL。
2. 支持ACID特性,通过MVCC机制避免读写冲突。
3. 通过Paxos选举实现强一致性和高可用性。
4. 高可扩展性。通过自动容错、负载均衡等机制实现机器自动上下线,从而构建在普通服务器组成的集群之上。
5. 高性能。OceanBase专门设计了针对大内存和SSD机器新一代存储引擎,相比传统的面向磁盘的关系数据库,具备更高的性价比。
电商平台的商品、交易、订单、购物爱好等数据通常是结构化的,并且数据之间存在各种各样的关联,传统的关系数据库曾经是这些数据的最佳载体。然而,随着业务的快速发展,这些数据急剧膨胀,记录数从几千万条增加到数十亿条,数据量从百GB增加到数TB,未来还可能增加到数千亿条和数百TB,传统的关系型数据库已经无法承担如此海量的数据,OceanBase的出现解决不断增加的结构化数据存储与查询的问题。
干货:VLDB论文摘要-阿里技术突破性创新的更多相关文章
- [论文阅读]阿里DIN深度兴趣网络之总体解读
[论文阅读]阿里DIN深度兴趣网络之总体解读 目录 [论文阅读]阿里DIN深度兴趣网络之总体解读 0x00 摘要 0x01 论文概要 1.1 概括 1.2 文章信息 1.3 核心观点 1.4 名词解释 ...
- CVPR2020无人驾驶论文摘要
CVPR2020无人驾驶论文摘要 无人 导读/ Starsky是一种比较独特的方案.它是在高速上自动驾驶,第一公里最后一公里采用远程驾驶的模式,Starsky的卡车可以由人类远程操作.没有使用较为昂贵 ...
- 阿里技术分享:阿里自研金融级数据库OceanBase的艰辛成长之路
本文原始内容由作者“阳振坤”整理发布于OceanBase技术公众号. 1.引言 OceanBase 是蚂蚁金服自研的分布式数据库,在其 9 年的发展历程里,从艰难上线到找不到业务场景濒临解散,最后在双 ...
- 学生党成功拿到阿里技术offer:面Java开发,却是C++考官,几个意思?
摘要: 这是我为大家分享的如何拿到阿里技术offer系列文章中的第一篇,今天分享的文章的作者是一位在2015年阿里的校招中成功得到offer的美女学姐,从学姐的这篇文章中我们能学到很多在阿里面试的宝贵 ...
- [论文阅读]阿里DIEN深度兴趣进化网络之总体解读
[论文阅读]阿里DIEN深度兴趣进化网络之总体解读 目录 [论文阅读]阿里DIEN深度兴趣进化网络之总体解读 0x00 摘要 0x01论文概要 1.1 文章信息 1.2 基本观点 1.2.1 DIN的 ...
- 【codelife 阿里技术文章分享——读后感】
目前看到的几篇比较有感触的文章,分别是: 前端Leader如何做好团队规划?阿里内部培训总结公开 ——>这里会有关于针对技术项目如何做规划的一些指导,非常有价值 程序员吃的是青春饭?本质上取 ...
- 微信公众号【阿里技术(ali_tech)】历史文章整理
简介 来自微信公众号: ali_tech 阿里巴巴官方技术号,关于阿里的技术创新均呈现于此. 本内容来自微信公众号的分享,最后更新时间2019-10-26,请关注对应公众号接收最新分享,定期同步地址: ...
- [论文解读] 阿里DIEN整体代码结构
[论文解读] 阿里DIEN整体代码结构 目录 [论文解读] 阿里DIEN整体代码结构 0x00 摘要 0x01 文件简介 0x02 总体架构 0x03 总体代码 0x04 模型基类 4.1 基本逻辑 ...
- GitHub标星125k!阿里技术官用3个月总结出的24万字Java面试笔记
最近收到一位粉丝的回馈! 这位粉丝已经成功入职阿里了小编很是羡慕啊! 今天就把这份30w字Java面试笔记给大家分享出来,说来也巧这份资料也是由一位阿里技术官整理出来的这算不算是"搬起石头砸 ...
随机推荐
- STL学习系列七:优先级队列priority_queue容器
1.简介 最大值优先级队列.最小值优先级队列 优先级队列适配器 STL priority_queue 用来开发一些特殊的应用,请对stl的类库,多做扩展性学习 这里给个例子: #include< ...
- C# 实现无标题栏窗体点击任务栏图标正常最小化或还原的解决方法
/// <summary> /// 实现窗体的最小化 /// </summary> protected override CreateParams CreateParams { ...
- CI reids 缓存
注意:在项目中的application/libraries 中自己定义的类最好不要以cache命名. 连接 Redis 服务器的配置信息必须保存到 application/config/redis.p ...
- HDU 4637 Rain on your Fat brother 线段与半圆和线段交 简单题
题意: 应该不难读懂. 做法: 我们可以把雨滴看做静止不动,然后maze(这题的那个人)就是往左上方运动就可以了,计算出maze能跑到的最远的点,然后就是求起点和终点所构成的线段与每个雨滴交的时间,注 ...
- Queue and Message
#ifndef __QUEUE_H__ #define __QUEUE_H__ #include <stdint.h> #include <stdlib.h> #include ...
- Linux下安装MySQL数据库以及用C语言编程存取数据库
ubuntu下安装软件相当简单,一条简单的 apt-get install 就可以解决,相比源码安装方式唯一的缺点就是,你无法自定义软件的安装目录.不过这也不是什么太大的缺点.下面我们就用 apt-g ...
- 怎样基于android4.4.2的源代码和android-4.3.1_r1的驱动编译I9250的ROM
怎样基于android4.4.2的源代码和android-4.3.1_r1的驱动编译I9250的ROM 作者:雨水 2014-05-04 联系方式:dennis.hu.cd at gmail.com ...
- 搭建一个全栈式的HTML5移动应用框架(纯干货,亲!)
打开HTML5的技术网站,满屏的“5个推荐的JavaScript框架”.“10个移动应用框架”,全都是你妹的框架, 但是,你知道这些框架是干毛用的吗?来吧,我们来梳理一下吧 目前HTML5涉及的框架大 ...
- 【JSP】JSTL使用core标签总结(不断更新中)
使用core标签 在页面中使用taglib指令指定标签URI和prefix.如: <%@ taglib uri="http://java.sun.com/jsp/jstl/core&q ...
- Java Web模块——验证码模块
一.什么是验证码及它的作用 验 证码为全自动区分计算机和人类的图灵测试的缩写,是一种区分用户是计算机的公共全自动程序,这个问题可以由计算机生成并评判,但是必须只有人类才能解答. 可以防止恶意破解密码. ...