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

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 阿里云数据库从最初的只支持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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
5天前
|
存储 SQL Apache
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
Apache Doris 是一个基于 MPP 架构的高性能实时分析数据库,以其极高的速度和易用性著称。它支持高并发点查询和复杂分析场景,适用于报表分析、即席查询、数据仓库和数据湖查询加速等。最新发布的 2.0.2 版本在性能、稳定性和多租户支持方面有显著提升。社区活跃,已广泛应用于电商、广告、用户行为分析等领域。
Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库
|
6天前
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案
|
2天前
|
消息中间件 数据库 云计算
微服务架构下的数据库事务管理策略####
在微服务架构中,传统的单体应用被拆分为多个独立的服务单元,每个服务维护自己的数据库实例。这种设计提高了系统的可扩展性和灵活性,但同时也带来了分布式环境下事务管理的复杂性。本文探讨了微服务架构下数据库事务的挑战,并深入分析了几种主流的事务管理策略,包括Saga模式、两阶段提交(2PC)以及基于消息的最终一致性方案,旨在为开发者提供一套适应不同业务场景的事务处理框架。 ####
|
10天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
56 3
|
8天前
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
11 1
|
15天前
|
算法 大数据 数据库
云计算与大数据平台的数据库迁移与同步
本文详细介绍了云计算与大数据平台的数据库迁移与同步的核心概念、算法原理、具体操作步骤、数学模型公式、代码实例及未来发展趋势与挑战。涵盖全量与增量迁移、一致性与异步复制等内容,旨在帮助读者全面了解并应对相关技术挑战。
26 3
|
22天前
|
SQL 存储 关系型数据库
数据储存数据库管理系统(DBMS)
【10月更文挑战第11天】
73 3
|
2天前
|
设计模式 存储 缓存
微服务架构下的数据库设计策略
本文探讨了在微服务架构中进行数据库设计时,如何平衡数据的一致性、独立性与系统整体性能之间的关系。文章首先介绍了微服务架构的基本概念及其对数据库设计的影响,随后深入分析了三种主流的数据库设计模式——集中式、去中心化和混合模式,并结合实际案例讨论了它们的适用场景与优缺点。此外,还提出了一系列最佳实践建议,旨在帮助开发者更好地应对微服务环境下的数据管理挑战。
|
21天前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
|
7天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####