技术白皮书—技术架构

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 架构演进理念 当前,分布式领域有3大技术方向:Sharding技术,NewSQL原生分布式技术,云原生DB技术。每种分布式都有其独特的优势和特点。PolarDB-X的架构继承了DRDS和X-DB技术的稳定性,结合了PolarDB的云原生技术,融入了NewSQL对于分布式数据一致性的能力,为用户提供新的“云原生+分布式”的产品体验。

p330045.png

整体架构

PolarDB-X的整体架构如下:p330051.png核心组件

  • 元数据服务(Global Meta Service,GMS),主要提供分布式的元数据,提供全局授时服务(TSO)、维护Table/Schema、Statistic等Meta信息、维护账号、权限等安全信息。
  • 计算节点(Compute Node,CN),主要提供分布式SQL引擎,包含核心的优化器和执行器。基于无状态的SQL引擎提供分布式路由和计算,解决分布式事务2PC协调、分布式DDL执行、全局索引维护等。
  • 存储节点 (Date Node,DN),主要提供数据存储引擎,基于多数派Paxos共识协议提供高可靠存储、分布式事务的MVCC多版本存储,另外提供计算下推能力满足分布式的计算下推要求(比如Project/Filter/Join/Agg等下推计算),可支持本地盘和共享存储。
  • 日志节点(Change Data Capture,CDC),主要提供兼容MySQL生态的主备复制协议,兼容Binlog协议和数据格式、支持主备复制Replication的协议和交互。

核心模块p330055.png

如同大多数传统单机关系型数据库,PolarDB-X分为网络层、SQL解析层、优化层、执行层、存储层,其中优化层包含逻辑优化和物理优化,执行层包含单机两阶段执行、单机并行执行和多机并行执行,存储层包含应用了多种传统单机数据库优化和执行技术。

生态工具

PolarDB-X高度兼容MySQL协议和生态,可支持MySQL开源生态中常用的MySQL驱动(JDBC/ODBC)、多语言兼容(Java/GO/C/C++/Python等)、数据导入导出工具、各种客户端GUI等。PolarDB-X提供完整的生态工具方案,如下图所示:p330056.png

闭环的生态工具:

  • 数据管理DMS,基于阿里巴巴集团十余年的数据库服务平台的云版本,提供免安装、免运维、即开即用、多种数据库类型与多种环境统一的web数据库管理终端,可以为企业用户快速复制搭建与阿里集团同等安全、高效、规范的数据库DevOps研发流程解决方案。
  • 数据库自治服务(Database Autonomy Service,简称DAS),一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,帮助用户消除数据库管理的复杂性及人工操作引发的服务故障,有效保障数据库服务的稳定、安全及高效。
  • 数据传输服务(Data Transmission Service,简称DTS),支持关系型数据库、NoSQL、大数据等数据源,集数据迁移、订阅及实时同步功能于一体,能够解决公共云、混合云场景下,远距离、毫秒级异步数据传输难题。其底层基础设施采用阿里双11异地多活架构,为数千下游应用提供实时数据流。
  • 数据库备份(Database Backup,简称DBS),低成本、企业级的云原生备份平台。它可以为多种环境的数据库提供强有力的保护,包括本地数据中心、其他云厂商、公共云及混合云。

产品架构

PolarDB-X作为阿里云的成熟云产品,在产品化的配套能力上支持比较完整,包括白屏化的运维操作、多样化的交付形态、完整的OpenAPI、配套的生态工具等。

PolarDB-X部署架构整体基于Kubernetes,运行在高性能的物理机,产品架构设计如下:

  1. PolarDB-X实例由多个节点组成,产品购买以节点为单位,初次购买必须包含2个节点,后续扩容和缩容最小为1个节点。每个节点会有多种规格,比如4c16g、8c32g、16c64g等。
  2. PolarDB-X根据资源隔离诉求的不同,可以分为:通用规格、独享规格、独占物理机规格。 比如通用规格,同一硬件资源下的不同PolarDB-X实例,会互相充分利用彼此空闲的计算资源(如CPU),通过复用计算资源享受规模红利,性价比会更高。而独享规格每个PolarDB-X实例会独占所分配到的计算资源(如CPU),而不会与同一服务器上的其他集群共享资源,性能表现更加稳定。
  3. PolarDB-X支持公有云、混合云的多样化交付。在公有云,支持多地域、多可用区的交付,同时在网络和安全层面,支持VPC、IP白名单、非对称账号密码、TDE加密等方式,确保数据服务安全。 在混合云,支持基于DBStack轻量化输出,可在用户已有机器硬件上完成数据库部署和运维。

架构优势

高可用

经过阿里多年双11验证的X-DB(X-Paxos共识协议能力),提供数据强一致,保证节点故障切换时RPO=0。另外支持多样化的部署和容灾能力,比如基于Paxos强同步的同城三机房、三地五中心,另外搭配binlog异步复制的两地三中心、异地灾备、异地多活等。尤其在异地长距离传输上,基于Batching & Pipelining 进行网络优化来提升性能。

高兼容

PolarDB-X主要兼容MySQL,包括SQL、函数类型等,技术上引入全局时间授时服务,提供全局一致性的分布式事务能力,通过TSO+2PC提供数据库完整的ACID能力,满足分布式下的Read-Commited/Repeatable-Read的隔离级别。同时在分布式事务的基础上,提供全局二级索引能力,通过事务多写保证索引和主表数据强一致的同时,引入基于代价的CBO优化器实现索引选择。除此以外,在元数据和生态对接层面,PolarDB-X基于Online DDL的技术提供了分布式下元数据的一致性。同时硬件层面,兼容主流国产操作系统和芯片认证,比如麒麟、鲲鹏、海光等。

另外在业界主流的分布式数据库里,分布式下的redolog/binlog等数据库变更日志其实一直被厂商所忽视,从关系数据库的发展历史来看,生态和标准对于市场规模化非常重要,PolarDB-X 会支持全局binlog能力,全面兼容和拥抱MySQL数据库生态,用户可以将PolarDB-X当做一个MySQL库,采用标准的binlog dump协议获取binlog日志。

高扩展

PolarDB-X基于Share-Nothing的架构支持水平扩展,同时支持数据库在线扩缩容能力,在OLTP场景下可支持千万级别的并发、以及PB级别的数据存储规模,同样在OLAP场景下,引入MPP并行查询技术,扩展机器后查询能力可线性提升,满足TPC-H等的复杂报表查询诉求。

HTAP

随着移动互联网和Iot设备的普及,数据会产生爆炸式的增长趋势,传统的OLTP和OLAP的解决方案是基于简单的读写分离或者ETL模型,将在线库的数据T+1的方式抽取到数据仓库中进行计算,这种方案存在存储成本高、实时性差、链路和维护成本高。PolarDB-X 设计中支持OLTP和OLAP的混合负载的能力,可以在一个实例里同时运行TPC-C和TPC-H的benchmark测试,保证AP的查询不影响TP流量的稳定性。核心技术层面,我们也有自己的创新性,比如我们会在计算层精确识别出TP和AP的流量,结合多副本的特性和多副本的一致性读能力,智能将TP和AP路由到不同的副本上,同时在AP链路上默认开启MPP并行查询技术,从而在满足隔离性的基础上,线性提升AP的查询能力。在存储层上,我们也在完善计算下推能力,未来也会提供高性能列存引擎,实现行列混合的HTAP能力。

极致弹性

PolarDB-X结合PolarDB云原生的技术,可以基于PolarDB的共享存储+RDMA网络优化能力,提供秒级备份、极速弹性、以及存储按需扩展的能力。基于共享存储的基础上,结合分布式的多点写入能力,可以在不迁移数据的前提下提供秒级弹性的能力,给到用户完全不一样的弹性体验。

开放生态

PolarDB-X全面拥抱和坚定MySQL的开源生态,做到代码完全自主可控的同时满足分布式MySQL的兼容性,架构做到简单开放,只要具备一定MySQL背景的同学即可完成持续运维。除此以外,PolarDB-X和阿里云的数据库生态有完整的闭环对接,支持如DTS/DBS/DMS等,可打通阿里云的整个大生态。

相关文章
|
5月前
|
Cloud Native 安全 开发者
云原生技术的未来演进与应用展望
【4月更文挑战第9天】 随着企业数字化转型的不断深入,云原生技术以其独特的弹性、敏捷性和可扩展性成为推动创新的重要力量。本文将探讨云原生技术的发展趋势,分析其在各行各业中的应用前景,并针对未来的挑战提出相应的对策和建议。我们还将讨论如何利用云原生技术优化资源配置,提高业务连续性,并最终实现企业的技术升级和价值增长。
|
2月前
|
Kubernetes Cloud Native 安全
云端创新:云原生技术的未来展望
随着数字化转型的深入,云原生技术正成为企业IT战略的核心。本文将探讨云原生技术如何推动业务创新,以及未来可能的发展趋势和挑战。
|
2月前
|
Cloud Native Devops 持续交付
探索云原生架构:未来企业技术演进的必由之路
随着数字化转型的浪潮席卷全球,企业正逐步将目光转向云原生架构,以期实现更高效、灵活且可扩展的IT服务。本文深入探讨了云原生的核心概念,包括容器化、微服务、持续集成与持续部署等,并阐述了这些技术如何共同促进现代企业的快速发展。同时,通过分析具体案例,展示了云原生在实际应用中带来的效益,以及企业在采纳云原生路径时可能面临的挑战和解决策略。
|
3月前
|
Cloud Native 持续交付 云计算
云原生技术在现代企业中的发展与应用
【7月更文挑战第25天】随着云计算技术的不断成熟,云原生技术已经成为现代企业数字化转型的重要推手。本文将深入探讨云原生技术的核心概念、优势及其在企业中的应用实例,分析云原生技术如何促进企业的敏捷性、可扩展性和资源效率。通过案例研究,我们将揭示云原生架构在提高开发速度、降低成本和增强业务连续性方面的实际效益。
|
3月前
|
运维 Cloud Native Devops
云原生架构的演进与实践:面向未来的企业技术战略
在数字化转型的浪潮中,云原生架构已成为推动企业技术创新和业务敏捷性的核心力量。本文旨在深入探讨云原生架构的发展历程、关键技术组件以及在实际应用中的效益与挑战。通过分析来自全球不同行业的实证数据和案例研究,文章揭示云原生技术如何助力企业实现资源的高效利用、应用的快速迭代和系统的弹性扩展。同时,结合最新的研究成果和行业报告,为读者提供一套系统化的云原生采纳指南和战略规划建议,以期帮助企业构建面向未来的技术体系,并在激烈的市场竞争中保持领先地位。
80 0
|
5月前
|
运维 Cloud Native 数据安全/隐私保护
云原生技术:未来企业发展的关键
随着数字化转型的加速推进,云原生技术已经成为企业发展的关键之一。本文将介绍云原生技术的概念和重要性,并探讨其在企业发展中的应用前景和发展趋势。
37 0
|
5月前
|
弹性计算 Cloud Native 安全
云原生架构的未来展望:如何引领企业转型与创新
【5月更文挑战第7天】随着云计算技术的不断发展,云原生架构已经成为企业数字化转型的关键驱动力。本文将深入探讨云原生架构的优势、挑战以及未来发展趋势,为企业提供一种全新的技术视角,以实现更高效、灵活和可扩展的业务运营。
|
架构师 Java 程序员
3分钟通晓,互联网架构20年以来的演进
作为一个Java程序员,你可能也思考过,为什么我还是普通开发,为什么我还是高级开发,普通开发和高级开发有什么区别?你是不是也想过要成为架构师?想要成为合格的架构师,就必须要了解架构的演进,今天,我们就来聊一聊,Java架构的演变历史。
171 0
|
5月前
|
运维 Cloud Native 持续交付
云原生技术的未来展望:如何塑造下一代应用开发
【2月更文挑战第30天】 随着云计算的不断发展,云原生技术已经成为推动现代应用开发的重要力量。本文将深入探讨云原生技术的核心概念,分析其在提高开发效率、降低运维成本以及支持复杂业务场景中的作用。同时,文章还将预测云原生技术的发展趋势,并讨论如何在不断变化的技术环境中保持应用的敏捷性和可靠性。
|
缓存 负载均衡 应用服务中间件
互联网架构演进之路
互联网架构演进之路
87 0