PolarDB-X 2.0 核心技术能力解读

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 希望通过本系列课程,让大家更深入了解PolarDB-X 2.0 核心技术能力,加深对PolarDB-X的理解与认识,最终可以实践到大家的工作当中。

本篇内容将从3个部分为读者介绍关于PolarDB-X 2.0 核心技术能力,希望可以让大家对PolarDB-X 2.0有更深入的了解,并可以将这些特性应用到项目中,达到降本提效的目的。


  • PolarDB-X 整体介绍
  • 分布式的技术挑战
  • 总结

 

今天的演讲分为三部分,首先介绍PolarDB-X 整体,其次是围绕分布式用户关注的问题来解读分布式技术在PolarDB-X 中怎么去解决,在上云的过程中如何做到业务兼容,最后做一个简单的总结。


一、PolarDB-X 整体介绍


(1) 云原生数据库架构演进概述

云原生数据库架构演进从传统单机数据库到PolarDB 云原生数据库及PolarDB-X 云原生分布式数据库。PolarDB-X是由阿里巴巴自主研发的云原生分布式数据库,融合分布式SQL引擎与分布式自研存储X-DB,基于云原生一体化架构设计,可支撑千万级并发规模及百PB级海量存储。


image.png

 

(2) PolarDB-X 产品特点


稳定与成熟:历经了各届天猫双11及阿里云各行业客户业务的考验。"去IOE"的目的绝不仅仅是摆脱几个传统IT厂商的产品,而是在互联网+、云计算快速兴起后,企业用户迫切需要能够保证其业务发展和创新的更加开放、灵活、高效的IT基础架构。概括地说,"去IOE"推动了用横向扩展取代纵向扩展,用开源软件代替商业软件的进程,可以看作是云计算的奠基之举。

分布式:解决数据库的线性扩展性。所有节点之间互相不共享资源,节点间通过网络进行通讯,无论是存储还是计算资源,只要添加机器就可以了,具有良好的可扩展性。

开源与生态:MySQL原生分布式数据库。阿里云及开源社区的多种生态工具对PolarDB-X持续提供不断完善的支持。PolarDB-X积极拥抱并努力回馈MySQL生态,目前已经形成对MySQL生态从协议、语法、事务行为、账号体系、安全到命令行工具的全方位兼容。


(3) PolarDB-X 技术架构


基于透明分布式理念提供了默认主键拆分策略、基于TSO和MVCC的高性能强一致分布式事务、基于一致性Hash分区策略的分布式线性扩展能力、全局一致性Binlog和全局一致性备份能力。数据节点(DN)采用阿里巴巴自研的基于X-Paxos的三副本强一致MySQL分支,确保在容灾过程中RPO=0。


image.png


元数据服务(Global Meta Service,GMS)提供全局授时服务(TSO)维护Table/Schema、Statistic等Meta信息维护账号、权限等安全信息

存储节点 (Date Node,DN)基于多数派Paxos共识协议的高可靠存储处理分布式MVCC事务的可见性判断

计算节点(Compute Node,CN)基于无状态的SQL引擎提供分布式路由和计算处理分布式事务的2PC协调、全局索引维护等

日志节点(Change Data Capture,CDC)提供兼容MySQL生态的binlog协议和数据格式提供兼容MySQL Replication主从复制的交互


(4) PolarDB-X ~ 组件


CN/DN组件

image.png

计算节点:经历多年实战磨练,MySQL语法高度兼容;完整的SQL解析层,实现精准算子下推;Serverless无状态,弹性能力对业务透明;提供HTAP 并行计算能力,应对混合负载场景。

数据节点:基于AliSQL内核,历经多年考验,稳定可靠;基于Paxos强一致协议,高可用能力进一步提升;全局MVCC改造,满足持金融级一致性要;RPC协议改造,提升节点间通讯性能。


CDC组件

image.png

CDC节点:EX:并行采集所有DN的变更日志;MR:分布式事务日志/DDL排序重组;DP:全局日志落盘并提供标准Binlog服务。

全局Binlog:兼容事务,分布式事务全局排序(例:基于TraceId、TSO信息对Binlog全局排序);兼容分布式DDL(例:可支持DDL同步到下游,比如ADB);兼容分布式扩缩容(例:屏蔽内部分片迁移、广播表、索引等数据干扰)

主备Replication:兼容MySQL生态的主备复制;兼容DTS的上下游生态。


(5) PolarDB-X 典型业务场景


1.交易订单及相关高并发场景

典型用户互联网电商、物流出行等特点数据量大/并发高相互联系较弱


2.海量数据集中存储,大表拆分+高并发


典型用户泛互联网、数字政府等特点集中式存储,数据单表过大有并发


3.MyCat/Sharding-JDBC/TiDB的用户


典型用户基于开源自建的MySQL生态特点有扩展性诉求、运维复杂性的痛点


4.有分布式改造诉求


典型用户架构转型的业务,金融、通讯等,其特点认可分布式方向,关注单机平滑演进


二、分布式的技术挑战


分布式的焦点问题有以下几点:


分布式下的数据一致性跨分片的分布式事务;主备数据的一致性;跨地域容灾 (RPO/RTO);数据备份和恢复 (PITR、Flashback)。

业务改造和生态适配:数据如何拆分和改造;分布式下的扩缩容;分布式的SQL兼容性;分布式运维能力 (DDL、慢SQL优化);数据库导入导出。

那么分布式是如何解决这些问题的呢?


(1) PolarDB-X 分布式事务


PolarDB-X通过引入中心授时节点(TSO),结合多版本并发控制(MVCC),确保读取到一致的快照,而不会读到事务的中间状态。如下图所示,提交事务时,计算节点(CN)执行事务时从TSO获取到时间戳,随着数据一同提交到存储节点(DN)多版本存储引擎上,CN通过读取快照时间戳去DN上读取相应版本的数据。


image.png


分布式事务的下游生态包括读写分离的一致性、全局变更日志CDC、备份恢复的一致性。


PolarDB-X是兼容MySQL生态的分布式数据库。通过集群内PolarDB-X的CDC组件,能够提供与MySQL binlog格式兼容的变更日志,并且对外隐藏掉集群扩缩容、分布式事务、全局索引等分布式特性,获得与单机MySQL数据库一致的使用体验。


image.png


一致性备份恢复提供实例级任意时间点(精确到秒级)的历史数据恢复能力。PolarDB-X的一致性备份恢复能力特点是针对数据全量恢复场景、可指定任意时间点进行一致性恢复、备份策略可定制、备份无需锁库。当前仅有备份期间不支持扩缩容、仅支持同构恢复两方面限制。


image.png


以上图为例,假设PolarDB-X实例配置为每周一、周二和周五的零点进行备份。某天,需要将数据恢复到上周日的 14:25:26,那么系统会选择离恢复点最近的一个全量备份集,上周五零点的全量备份,并从周五零点开始重放全局binlog,直到周日14:25:26结束,从而获得所需的一致性快照。

 

image.png


当PolarDB-X存储资源MySQL主实例的读请求较多、读压力比较大时,可以通过读写分离功能对读流量进行分流,减轻存储层的读压力。


(2) PolarDB-X 透明分布式


让用户以单机MySQL数据库使用体验,操作分布式数据库是PolarDB-X一贯追求的目标。为此PolarDB-X提供了简单易用的透明分布式能力:


默认主键拆分,让移植到PolarDB-X的数据和业务摆脱对设计“分区键”的依赖;

高性能强一致分布式事务,PolarDB-X采用自研X-Paxos协议,保证数据存储在故障切换过程中RPO=0的基础上,使用TSO策略和分布式的MVCC能力保证了分布式事务的隔离性和一致性。

分布式线性扩展,PolarDB-X基于一致性Hash的分区策略,有效的进行负载均衡和热点抑制,且在扩展过程中保持计算下推和数据一致性的同时实现业务零感知。并行和流控能力为扩展期间业务连续性提供了有力保障。

全局Binlog和全局一致性备份,分别解决分布式数据库各节点数据库向下游流转的难题及各节点备份时间差造成的恢复一致性问题。


(3) 分布式扩缩容


通过分裂与迁移,实现存储层自动负载均衡基于计算层透明的分片路由,屏蔽扩缩容对用户业务的影响


(4) 分布式 SQL 和 兼容性


兼容 MySQL SSL、Prepare、Load等传输协议兼容各种 DML、DAL、DDL、DCL等语法兼容MySQL各种类型和精度,比如时间和浮点数兼容MySQL Charset和Collation的大小写行为兼容MySQL 8.0的视图、CTE、窗口函数等兼容绝大部分 MySQL 函数,包含5.7 JSON兼容绝大部分 information_schema 视图兼容常用的 MySQL 客户端兼容MySQL复制协议,比如Binlog/Replication等


(5) 分布式 Online DDL


PolarDB-X引入了新的DDL执行引擎,开始支持DDL的任务管理,包括DDL执行过程中的任务状态查看、失败DDL任务的恢复和回滚等。

image.png


(6) 分布式慢SQL限流


在数据库会话或者慢日志中发现大量慢SQL,大量占用数据库资源,同时活跃会话数、CPU使用率、IOPS、内存使用率等监控指标一项或者多项处于高位。分析后发现这些慢SQL不属于核心业务,是优化不足的烂SQL,为保障核心业务的稳定运行,此时需要对其进行限流。限流规则精确限制的目标用户,比如限制某个IP的用户的行为指定要限制的SQL关键字 或 SQL模板,比如限制去参数化之后的一批慢SQL设置限流的规则,比如并发度、等待队列等


三、 总结


PolarDB-X MySQL原生分布式,原生提现在于可以让用户在现有的生态、机器、部署都可以充分利用,可以完全基于现有的生态去构建PolarDB-X。PolarDB-X 未来的目标是希望从单机的MySQL平滑演进到分布式,并提供公有云、专有云、软件版和DBStack多种部署形态满足不同行业客户的需求。


PolarDB-X 已全面拥抱开源,毫无保留地和全世界的社区共同成长,将高性能分布式数据库质量进一步提升,使用门槛尽可能降低。

相关实践学习
Polardb-x 弹性伸缩实验
本实验主要介绍如何对PolarDB-X进行手动收缩扩容,了解PolarDB-X 中各个节点的含义,以及如何对不同配置的PolarDB-x 进行压测。
相关文章
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
开发者视角看云原生数据库一体化技术趋势
随着云原生数据库技术的不断发展,一体化数据库解决方案成为技术圈的热点,云原生数据库一体化技术是当前数据库领域的重要趋势,对于开发者而言,学习理解和应对这一趋势,对于业务开发的成功实施非常重要。比如,阿里云瑶池数据库和PolarDB-X等产品通过离在线一体化、处理分析一体化和集中分布一体化等创新理念,引领了数据库领域的新变革。那么本文就来从开发者的角度探讨云原生数据库一体化技术趋势,并分析在业务处理分析一体化、集中式与分布式数据库边界模糊和云原生一体化数据库的选择等方面的影响。
189 4
|
2月前
|
关系型数据库 分布式数据库 数据库
阿里云PolarDB登顶2024中国数据库流行榜:技术实力与开发者影响力
近日,阿里云旗下的自研云原生数据库PolarDB在2024年中国数据库流行度排行榜中夺冠,并刷新了榜单总分纪录,这一成就引起了技术圈的广泛关注。这一成就源于PolarDB在数据库技术上的突破与创新,以及对开发者和用户的实际需求的深入了解体会。那么本文就来分享一下关于数据库流行度排行榜的影响力以及对数据库选型的影响,讨论PolarDB登顶的关键因素,以及PolarDB“三层分离”新版本对开发者使用数据库的影响。
75 3
阿里云PolarDB登顶2024中国数据库流行榜:技术实力与开发者影响力
|
5月前
|
消息中间件 存储 关系型数据库
PostgreSQL技术大讲堂 - 第33讲:并行查询管理
PostgreSQL从小白到专家,技术大讲堂 - 第33讲:并行查询管理
289 1
|
4月前
|
关系型数据库 MySQL 分布式数据库
PolarDB MySQL版并行查询技术探索与实践
PolarDB MySQL版并行查询技术探索与实践 PolarDB MySQL版在企业级查询加速特性上进行了深度技术探索,其中并行查询作为其重要组成部分,已经在线稳定运行多年,持续演进。本文将详细介绍并行查询的背景、挑战、方案、特性以及实践。
108 2
|
5月前
|
缓存 关系型数据库 数据库
PostgreSQL技术大讲堂 - 第32讲:数据库参数调整
从零开始学PostgreSQL技术大讲堂 - 第32讲:数据库参数调整
449 2
|
1月前
|
Cloud Native OLAP OLTP
如何看待云原生数据库一体化的技术趋势?
面对业务处理分析一体化,开发者需平衡OLTP和OLAP数据库需求。关键在于理解业务目标,选择适合的数据库:OLTP注重高并发、低延迟,如MySQL、PostgreSQL;OLAP侧重复杂查询和数据聚合,如Greenplum、ClickHouse。云原生数据库提供弹性扩展和容灾能力。数据同步、一致性、安全性和合规性也是重要考量因素。开发者应持续关注新技术,以适应不断变化的业务需求。
|
6月前
|
关系型数据库 定位技术 分布式数据库
沉浸式学习PostgreSQL|PolarDB 18: 通过GIS轨迹相似伴随|时态分析|轨迹驻点识别等技术对拐卖、诱骗场景进行侦查
本文主要教大家怎么用好数据库, 而不是怎么运维管理数据库、怎么开发数据库内核.
1069 1
|
3月前
|
关系型数据库 分布式数据库 数据库
业界声音|PolarDB最值得关注的技术创新有哪些?
"PolarDB一路走来,见证了国产数据库发展的不平凡之路。"
业界声音|PolarDB最值得关注的技术创新有哪些?
|
7月前
|
存储 SQL 容灾
PolarDB-X 存储引擎核心技术 | Paxos多副本
PolarDB-X作为PolarDB分布式版,是阿里巴巴自主设计研发的高性能云原生分布式数据库产品,为用户提供高吞吐、大存储、低延时、易扩展和超高可用的云时代数据库服务。PolarDB-X在架构上可以简单分为CN节点和DN节点。计算节点CN负责SQL的解析和执行,存储节点DN负责数据的分布式事务和高可用存储。本文主要对存储引擎核心中高可用部分详细技术解读。
|
3月前
|
缓存 运维 关系型数据库
PostgreSQL技术大讲堂 - 第43讲:流复制原理
PostgreSQL技术大讲堂 - 第43讲:流复制原理
51 2

相关产品

  • 云原生分布式数据库 PolarDB-X
  • 云原生数据库 PolarDB