是如何做到系统无缝迁移的? 褚霸详解阿里云数据库架构演进和实践

摘要:阿里云数据库从最初的只支持MySQL,到现在支持关系数据库、NoSQL、HTAP、EMR产品体系,在管控系统和数据链路上做了好几次重大架构迭代,云产品很长的生命周期里面会遇到新老架构共存,如何做到架构连续和系统无缝迁移是个很大的挑战, 本文将为你分享云数据库架构演进和实践。

以下内容均根据演讲PPT整理而成。

在2016年ArchSummit全球架构师北京峰会上,阿里云研究员余锋,做了题为《云数据库架构演进和实践》的精彩演讲。

个人简介:余锋(花名:褚霸),阿里云研究员,有超过18年的网络和底层系统开发经验,擅长构建大规模集群服务,目前负责阿里云数据库研发和产品体系,在分布式数据库和引擎构建上都有丰富的经验。

本文将从业务概述、架构效率、业务连续和架构演化等4个方面进行分享。

  • 一、业务概述
  • 二、架构效率
  • 三、业务连续
  • 四、架构演化

一、业务概述
目前业界的数据库市场生态,主要还是关系型数据库占的比重最大,其次是NoSQL数据库,其他的各种类型数据库占据大约30%的市场空间。

数据库产品的生态演进过程大致如下图所示,关系型数据库从传统的MySQL、PostgreSQL、SQL Server和PPAS到演进的新的关系型数据库比如说阿里云的OceanBase以及PolarDB等;非关系型的数据库也从原本的Redis、MongoDB、Memcache、HBase到OTS;Search Engine类的产品从Elastic Search到Open Search;ETL则由原本的Hadoop、Greenplum和HAWQ扩展到MaxCompute以及PetaDate;至于中间件和一些工具也存在一些相应的演进产品。

阿里云数据库产品的输出方式大致有三种:公有云,专有域和专有云,而这三种输出方式也有适合于自己的目标用户,适用于不同的场景。

阿里云的机房目前分布在世界各地,遍布亚洲、欧洲、美洲以及澳洲,可以为用户提供高效、稳定的云计算与云存储服务。

阿里云数据团队主要分为三个部分:数据库团队、售后团队以及阿里云的合作伙伴。数据库团队负责制定云数据库以及对云数据库进行优化操作,并且保证云数据库的正常运行;售后团队负责对于用户在购买和使用阿里云数据库之后出现的问题进行处理,包括完善云数据库使用文档,对于用户提交的工单和电话咨询进行回复等;对于合作伙伴而言,数据库团队需要帮助合作伙伴将数据迁移到云数据库上来,并且为他们提供驻场的指导和培训。

二、架构效率
对于阿里云数据库产品来说,其对于业务的支撑能力是毋庸置疑的,无论是从阿里云机器集群的规模还是性能和成本以及产品的形态的多样化角度来看,阿里云数据库产品都是具有绝对优势的。

在另一方面,阿里云的数据库在可运维方面是一个闭环的系统,并且其具有强大的恢复能力;在可服务方面,阿里云数据库也拥有强大的自证清白的能力和审计能力。

阿里云数据库产品是支持快速迭代的,其实在设计数据库产品时需要考虑面向未来的架构来支撑产品的快速迭代。数据库的设计需要进行合理的分层抽象设计,努力实现对称性的设计,构造出系统的美感,并且让系统具有可以快速复制的能力,当然设计时需要掌握一个度,不能过度设计以免对于未来的迭代造成不利的影响。

在云数据库设计实践的过程中,开发的组织效率也是一个非常关键而且重要的因素。架构师需要对于中台和流水线进行合理的设计,并且保证接口的稳定易得,可以使用微服务的架构。除此之外,对于开发人员的能力或者素质也要有一个整体的把握。

自省能力也是非常重要的一部分,需要通过自省能力来支撑产品和研发决策。

三、业务连续
在对云数据库进行架构设计时需要考虑的一个重要问题就是如何保证业务的连续性。我们设计出的云数据库产品需要具有较高的服务可用性,需要对其进行容灾设计和冗余设计,并且对于突发的情况还需要考虑对服务进行降级。除此之外还需要保证数据的可靠性,需要在设计时考虑校对发现机制并且使数据库具有按时间点进行灾难恢复的能力。

在考虑业务连续性的设计时,还需要考虑到服务等级协议,使得用户得到保护而不单单是平台,并且为用户提供实例维度的体验。另外还需要考虑产品生命周期管理、应急预案以及数据库的灰度能力。

四、架构演化

云数据库的架构演进需要依靠创新能力作为支撑,在架构演化的过程中也需要充分利用技术生态产生的红利。并且在云数据库架构演化的迭代过程中还需要考虑新旧系统的无缝切割以及组织架构更替的平滑过渡。

时间: 2024-11-18 18:09:56

是如何做到系统无缝迁移的? 褚霸详解阿里云数据库架构演进和实践的相关文章

褚霸:阿里云数据库要放大招!

本期采访嘉宾--阿里数据库大神褚霸.   阿里云研究员 褚霸 从技术创业到阿里云数据库团队 大招是什么?很多猜测. 不妨先从褚霸的发展来看.1997年毕业之后,在几家大公司呆过之后,一直喜欢"各种折腾"褚霸创业了三次:做软硬件结合的报警器,开发类似网银的互联网金融系统,类似于P2P做PPStream的看视频的产品.每次都是产品很牛,但因为资金支持.市场投放等因素都没成功.所以他对自己的总结是:"这不是我擅长的,我的定位点是是踏实做技术." 2010年,看到正明(章文

阿里云数据库掌门人褚霸:骑行与数据人生

本文主要从霸爷的骑行经历开始聊起,进而联系到数据库经历,从初识数据库谈及到云下转入云上,最后重点与大家分享了POLARDB 数据库.   今天的电梯访谈我们请来了褚霸和我们聊聊他的骑行与数据库人生. 以下是精彩内容整理: 骑行有很多乐趣,骑行给我无拘无束的感觉,骑行是一种激情,让我兴奋,享受着超越感.而数据库与骑行对我来说是相通的,坚持去做的事情一定是你有兴趣的事情,没有激情是很难做到极致,数据库与骑行一样,没有上限,投入精力越多,探索深度越深. 初识数据库 "我的梦想是做一个最牛X的数据库!&

通达OA 使用Ajax和工作流插件实现根据人力资源系统数据增加OA账号(图文详解)_AJAX相关

本次小飞鱼开发的程序主要解决某下属公司在人力系统中增加账号不能马上审批完毕的问题,可以通过这个流程审批后由插件在后台判断自动增加OA账号,增加机制与hr与OA系统同步相同. 只进行增加操作,没有修改.删除的操作.原有已经进行了两个系统的数据自动同步开发,因此这次的开发属于一个补充的内容,仅在此提供一个应用的思路和开发过程的探讨. 前端发起人申请时填写hr系统中已经分配的工号,即可对应查询出其他相关数据.为了避免查出数据后对工号修改,增加一个确认工号输入框.其他信息由Ajax自动获取为只读形式.这

Linux系统下mysqlcheck修复数据库命令(详解)_Mysql

mysqlcheck客户端工具可以检查和修复MyISAM表,还可以优化和分析表. 实际上,它集成了mysql工具中check.repair.analyze.optimize的功能. 有3种方式来调用mysqlcheck: shell> mysqlcheck[options] db_name [tables] shell> mysqlcheck[options] ---database DB1 [DB2 DB3...] shell> mysqlcheck[options] --all--d

win10系统怎么卸载 win10卸载方法详解

  win10系统怎么卸载?微软发布win10系统升级后,相信很多人都已经下载使用了吧!如果不想使用了怎么办?下面,绿茶小乐哥分享win10卸载方法详解,想了解的一起来看看吧! 微软希望我们每一个人都升级到windows10系统,并且保持使用,但是回滚选项是必须有的.在windows硬件工程产业创新峰会(WinHEC)上,微软展示了一种超级简单的卸载win10和回滚系统的方式. 在被演示的文稿中,围绕着windows10升级的细节展开,在"更新与恢复"里,出现回滚到之前windows版

需求、系统、动机如何满足?阿里云推荐系统架构深度解析

为什么做推荐? 推荐本质上并不是一个很新的话题.从很早开始,尤其从互联网出现之后,大家面临一个问题,我们怎么样从海量的数据里获得自己需要的内容?这实际上也经历了很长的过程,最开始的时候并不是推荐,而是分类导航.做分类导航最好的公司就是雅虎,那个时候互联网的数据还不是特别多,可以通过人工或者一些简单的分类方法整理出一个目录出来,大家就可以按这个目录一层层往下走,比在原来在网上找好很多.但分类导航由于分类的标准不一样,人和人认知的差异性,后来谷歌的出现促使了雅虎在这个领域的沉寂. 搜索就是下一代解决

C# 系统应用之注册表使用详解

        在平时做项目时,我们有时会遇到注册表的操作,例如前面我们需要获取IE浏览器地址栏的信息.获取"我的电脑"地址栏输入的文件夹信息.USB最近使用信息等.注册表项是注册表的基本组织单位,它包含子表项和值条目.简言之,注册表项相当于注册表里的文件夹.它们存储计算机安装程序的信息,如颜色设置.屏幕大小.历史记录等.         举个以前使用注册表最多的例子:当我们玩魔兽或dota时,总需要打开"运行"->输入"regedit"打

详解阿里妈妈淘客系统对外接口通用规范

<阿里妈妈淘客系统对外接口通用规范>(以下简称"淘客规范")其实写的还是比较详尽的,只是在具体描述上不够连贯,才造成了大家的误解. 一.对于"淘客规范"2.4中的说明相信大家应该比较容易理解 http://taoke.alimama.com/rpc/ searchAuctionByRpc.do?pw=XXXXXX 返回结果: cat_id,parent_id,cat_name 16,0,女装/女士精品 30,0,男装 3415,34,音乐CD/DVD 1

Windows系统常用网络命令使用技巧详解

我想大家不会忘记Windows是从简单的DOS字符界面发展过来的.虽然我们平时在使用Windows操作系统的时候,主要是对图形界面进行操作,但是DOS命令我们仍然非常有用,下面就让我看来看看这些命令到底有那些作用,同时学习如何使用这些命令的技巧. 一.Ping命令的使用技巧 Ping是个使用频率极高的实用程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报.根据返回的信息,我们就可以推断TCP/IP参数是否设置得正确以及运行是否正常.需要注意的是:成功地与另一台主机进行一次或两次数