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

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

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

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

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

本文将从业务概述、架构效率、业务连续和架构演化等4个方面进行分享。
  • 一、业务概述
  • 二、架构效率
  • 三、业务连续
  • 四、架构演化
一、业务概述
目前业界的数据库市场生态,主要还是关系型数据库占的比重最大,其次是NoSQL数据库,其他的各种类型数据库占据大约30%的市场空间。

f628bf3450c0122d614e0fe4f8a6da00db3f8ae8

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

3a761ddaa4df5c487735ffe9252e6042b3b5d73c

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

3f582aa789d6ab060e621571d69027a342c8282a

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

55d272196bb60157a8214248e35cb42d6761fa7a

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

41d118d0a36bfd3dcec92c4570af21ccfd883bec

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

b60a2f44a5724f329b254f8639ef9a4d4effeb8c

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

ae8f103ac8e5830a38ffc8ce8fa23d75a23b5c48

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

5b4ede92f208aa1546e768208ad4cd757ff6b592

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

f0ea3b5c5b247bdabc50485e9eb42f3db571dddb

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

44088a5f73b6a569ea6ac094636e0d8b2de22ab4

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

3234ab89905e6144d2fcb5f3b08a08c08bdfb30e

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

653408c92275a63b03724790291038ba70433e5b


四、架构演化

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

68b4272dbd88d6ba15d7461ce56d2e13ae7c5aae


相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
21天前
|
关系型数据库 分布式数据库 数据库
成都晨云信息技术完成阿里云PolarDB数据库产品生态集成认证
近日,成都晨云信息技术有限责任公司(以下简称晨云信息)与阿里云PolarDB PostgreSQL版数据库产品展开产品集成认证。测试结果表明,晨云信息旗下晨云-站群管理系统(V1.0)与阿里云以下产品:开源云原生数据库PolarDB PostgreSQL版(V11),完全满足产品兼容认证要求,兼容性良好,系统运行稳定。
|
27天前
|
缓存 安全 Java
阿里云数据库 SelectDB 内核 Apache Doris 2.0.6 版本正式发布
阿里云数据库 SelectDB 内核 Apache Doris 2.0.6 版本正式发布
|
25天前
|
SQL 安全 数据管理
在阿里云数据管理DMS(Data Management Service)中,您可以按照以下步骤来创建和管理数据库
【2月更文挑战第33天】在阿里云数据管理DMS(Data Management Service)中,您可以按照以下步骤来创建和管理数据库
27 7
|
26天前
|
SQL 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
366 3
|
11天前
|
前端开发 安全 JavaScript
计算机软件从 CS 模式到 BS 架构迁移背后的动因
计算机软件从 CS 模式到 BS 架构迁移背后的动因
20 0
|
16天前
|
弹性计算 关系型数据库 MySQL
阿里云数据库服务器价格表,数据库创建、连接和使用教程
阿里云数据库使用流程包括购买和管理。选择所需数据库类型如MySQL,完成实名认证后购买,配置CPU、内存和存储。确保数据库地域与ECS相同以允许内网连接。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码连接。同一VPC内的ECS需添加至白名单以进行内网通信。参考官方文档进行详细操作。
76 3
|
26天前
|
弹性计算 关系型数据库 MySQL
阿里云MySQL云数据库优惠价格、购买和使用教程分享!
阿里云数据库使用流程包括购买和管理。首先,选购支持MySQL、SQL Server、PostgreSQL等的RDS实例,如选择2核2GB的MySQL,设定地域和可用区。购买后,等待实例创建。接着,创建数据库和账号,设置DB名称、字符集及账号权限。最后,通过DMS登录数据库,填写账号和密码。若ECS在同一地域和VPC内,可内网连接,记得将ECS IP加入白名单。
419 2
|
27天前
|
存储 SQL 数据管理
阿里云数据库 SelectDB 内核 Apache Doris 如何基于自增列满足高效字典编码等典型场景需求|Deep Dive 系列
自增列的实现,使得 Apache Doris 可以在处理大规模时展示出更高的稳定性和可靠性。通过自增列,用户能够高效进行字典编码,显著提升了字符串精确去重以及查询的性能。使用自增列作为主键来存储明细数据,可以完美的解决明细数据更新的问题。同时,基于自增列,用户可以实现高效的分页机制,轻松应对深分页场景,有效过滤掉大量非必需数据,从而减轻数据库的负载压力,为用户带来了更加流畅和高效的数据处理体验。
|
15天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
|
15天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)