PolarDB-X 发布 2.1.0 版本,Paxos 重磅开源

坍缩重载
• 阅读 743

简介:2022年4月1号,PolarDB-X 正式开源X-Paxos,基于原生MySQL存储节点,提供Paxos三副本共识协议,可以做到金融级数据库的高可用和容灾能力,做到RPO=0的生产级别可用性,可以满足同城三机房、两地三中心等容灾架构。

架构简介

PolarDB-X 采用 Shared-nothing 与存储分离计算架构进行设计,系统由4个核心组件组成。

PolarDB-X 发布 2.1.0 版本,Paxos 重磅开源

  • 计算节点(CN, Compute Node)

计算节点是系统的入口,采用无状态设计,包括 SQL 解析器、优化器、执行器等模块。负责数据分布式路由、计算及动态调度,负责分布式事务 2PC 协调、全局二级索引维护等,同时提供 SQL 限流、三权分立等企业级特性。

  • 存储节点(DN, Data Node)

存储节点负责数据的持久化,基于多数派 Paxos 协议提供数据高可靠、强一致保障,同时通过 MVCC 维护分布式事务可见性。

  • 元数据服务(GMS, Global Meta Service)

元数据服务负责维护全局强一致的 Table/Schema, Statistics 等系统 Meta 信息,维护账号、权限等安全信息,同时提供全局授时服务(即 TSO)。

  • 日志节点(CDC, Change Data Capture)

日志节点提供完全兼容 MySQL Binlog 格式和协议的增量订阅能力,提供兼容 MySQL Replication 协议的主从复制能力。

开源地址:[https://github.com/ApsaraDB/g...]

版本说明

我们也选择了今天给大家一份诚意满满的礼物:PolarDB-X 正式发布2.1.0版本
本次开源包含四大核心特性,全面提升 PolarDB-X 稳定性和生态兼容性

01. 高可用的开源能力补齐

分布式一致性算法(Consensus Algorithm )是一个分布式计算领域的基础性问题,其最基本的功能是为了在多个进程之间对某个(某些) 值达成一致(强一致),进而解决分布式系统的可用性能问(高可用),近几年NewSQL和云原生数据库的不断兴起,极大的推动了关系数据库和一致性协议的结合,常见的技术有Paxos和Raft。

2022年4月1号,PolarDB-X 正式开源X-Paxos,基于原生MySQL存储节点,提供Paxos三副本共识协议,可以做到金融级数据库的高可用和容灾能力,做到RPO=0的生产级别可用性,可以满足同城三机房、两地三中心等容灾架构。

Paxos协议对于面向云的架构是非常必要的,云的本质是虚拟化和资源池化,节点的变化和弹性是一个常规操作,我们需要解决面向用户透明运维的能力,任何情况下数据都不能丢、不能错。

下面一个例子演示基于kubernetes(k8s)虚拟化,结合Paxos的高可用切换提供RPO=0

此处为语雀视频卡片,点击链接查看:https://www.zhihu.com/zvideo/...

02. 分布式水平扩展能力升级

PolarDB-X 作为一款基于MySQL原生分布式,除了提供基于Paxos RPO=0的金融级容灾能力外,最重要的特性就是分布式的水平扩展,在PolarDB-X 2.1.0版本正式推出新版数据分区表,提供Auto分区模式。

Auto模式的数据库支持自动分区,即创建表时无需指定分区键,数据即可自动在集群内均匀分布;同时也支持使用标准的MySQL分区表语法,对表进行手动分区。结合新版分区表能力,新增支持热点分裂、TTL(Time To Live)分区、Locality亲和性调度等能力,可以让您便捷地享受到分布式数据库的透明式分布、弹性伸缩和分区管理等诸多红利。

具体细节可参考文档:AUTO模式数据库

基于新版分区表,可扩展提供分布式热力分析能力,样例效果图

PolarDB-X 发布 2.1.0 版本,Paxos 重磅开源

03. MySQL生态适配加速

PolarDB-X 架构中有一个特殊的CDC(Change Data Capture)组件,其主要用于提供分布式的增量日志获取,作为MySQL原生分布式,对应分布式CDC在设计上也选择全面兼容MySQL Binlog,在PolarDB-X 2.1.0版本我们又进一步完善了与MySQL现有CDC生态的适配和兼容。

首先,PolarDB-X CDC的binlog服务,与canal、maxwell、debezium、Flink CDC等开源MySQL binlog解析组件完成适配认证。其次,PolarDB-X CDC新增replica服务,全面兼容MySQL Replication相关协议,通过MySQL的start slave指令,可以将PolarDB-X作为开源MySQL的备库实时同步数据。

PolarDB-X 发布 2.1.0 版本,Paxos 重磅开源

04. 轻量化部署功能完善

PolarDB-X Operator 是一个基于 Kubernetes 的 PolarDB-X 集群管控系统,希望能在原生 Kubernetes 上提供完整的生命周期管理能力,满足用户的轻量化部署。在PolarDB-X 2.1.0版本我们进一步完善了部分运维能力,比如提供Prometheus + Grafana 的监控系统、完善分布式节点升降配、扩缩容、版本升级等能力。

PolarDB-X 发布 2.1.0 版本,Paxos 重磅开源

更详细的Features

  • 新增 支持创建数据库指定建表模式(新的分区表模式与老的分库分表模式),默认是分库分表模式
  • 新增 支持使用 MySQL分区表语法 创建一级分区的分区表,分区策略包括Hash/Range/List等
  • 新增 支持分区表的动态裁剪能力,包括支持分区列条件的常量折叠、区间合并以及前缀查询裁剪等功能
  • 新增 支持分区表的JOIN计算下推
  • 新增 提供分区表的分区管理能力,包括分区的添加、删除、分裂、合并与迁移等功能
  • 新增 提供表组及其他能力(包括表组的创建、删除、变更等),支持分区变更期间JOIN计算下推不受影响
  • 新增 支持全局索引表使用MySQL分区表语法并按Hash/Range/List等分区策略进行分区
  • 新增 自动拆分支持使用分区表语法
  • 新增 拆分变更增加支持分区表
  • 新增 新分区表GSI自动拆分会携带主键,可以处理GSI热点问题
  • 新增 支持实例的缩容
  • 新增 支持分区表的TTL及其管理能力(包括调整TTL的初始时间与时间间隔等)
  • 优化 Check Table 指令,支持校验主表分区、索引表分区与列定义等元数据一致性
  • 新增 SQL Advisor支持推荐广播表
  • 新增 支持Instant Add Column功能
  • 新增 支持Explain Statistics拉取优化器优化需要的所有信息
  • 新增 限制cbo的搜索空间,减少复杂查询的优化耗时
  • 优化 部分DDL后台操作的数据校验任务的性能,使GSI/扩缩容DDL变更操作加速
  • 新增 支持兼容MySQL的Replica相关指令
  • 新增 支持存储节点PAXOS三节点集群
  • 新增Replica组件,支持通过change master … 语法的方式将PolarDB-X作为MySQL Slave来消费数据
  • 全局Binlog中支持记录Rows_query_event类型数据,前置条件:需将DN节点binlog_rows_query_log_events参数设置为On
  • 新增 Flink CDC 接入
  • 新增 CR PolarDBXMonitor 用来监控 PolarDBXCluster
  • 新增 Helm Chart polardbx-monitor,包含定制化的 kube-prometheus 和预定义的 Dashboard 用来展示 PolarDB-X 集群监控信息
  • PXD 工具支持单副本和三副本两种部署模式

ChangeLog 列表

[1] CN ChangeLog
[2] DN ChangeLog
[3] CDC ChangeLog
[4] Kube ChangeLog

原文链接
本文为阿里云原创内容,未经允许不得转载。

点赞
收藏
评论区
推荐文章
3A网络 3A网络
2年前
原生 Redis 跨数据中心双向同步优化实践
原生Redis跨数据中心双向同步优化实践一、背景公司基于业务发展以及战略部署,需要实现在多个数据中心单元化部署,一方面可以实现多数据中心容灾,另外可以提升用户请求访问速度。需要保证多数据中心容灾或者实现用户就近访问的话,需要各个数据
Wesley13 Wesley13
3年前
EDAS 微服务应用同城容灾最佳实践
前言上云目前已经是绝大数企业首选的IT基础设施建设方案,但是云上仍然存在一些不确定因素(机房硬件故障、网络故障、断网/断电、人为操作失误),导致各大云厂商每年在不同的数据中心都会发生一些故障,所以建设具备容灾能力的业务应用是必需的。公共云上容灾解决方案涵盖同城双活、跨Region容灾和异地多活等容灾场景,对公共云上大多数中长尾客户来说,更需要的是一
Stella981 Stella981
3年前
POLARDB v2.0 技术解读
回顾POLARDB1.0POLARDB1.0主要的改进包括采用了计算存储分离的架构,完全兼容MYSQL,性能是原生MySQL的6倍。一个用户集群可以在分钟级弹性扩展到16个计算节点,对业务完全透明的计算和存储分离代理,从库延迟仅毫秒级。存储为分布式块存储,可以弹性扩展至100TB的规模。存储层面采用多副本技术,使得数据库的RPO做到了0,完全没有丢
Wesley13 Wesley13
3年前
MySQL高级
1mysql的架构介绍Mysql简介概述高级MySQLmysql内核sql优化工程师mysql服务器的优化查询语句优化主重复制软硬件升级容灾备份sql编程MysqlLinux版本的安装mysql5.5查看MySQL的安装位置:whichmysqld参考网址:https://ww
Wesley13 Wesley13
3年前
MySQL 8.0.23中复制架构从节点自动故障转移
接触MGR有一段时间了,MySQL8.0.23的到来,基于MySQLGroupReplicaion(MGR)的高可用架构又提供了新的架构思路。1.灾备机房的slave,如何更好的支持主机房的MGR?2.MGR到底可以坏几个节点?这次我就以上2个问题,和大家简单聊下MGR的一些思想和功能。
云内GSLB技术及应用场景
云业务容灾建设节奏一般是同城双活—异地双活—两地三中心(同城双活异地多活),因为要解决的问题的复杂度和难度也是在逐步上升的,不可能一蹴而就。gslb可以实现两地三中心容灾,这时应用在多数据中心的情况下,业务需要分布式部署,无论哪个数据中心都可以独立承担业务,数据中心内通过服务器负载均衡(lb)进行数据中心内的业务负载,gslb是通过dns给lb做负载均衡,配合健康检查实现业务的故障切换,数据中心切换,一些算法如静态就近性可以就近访问加速等。
京东云开发者 京东云开发者
11个月前
秒送LBS场景下的C端SOA服务容灾建设之-数据备份篇
前言在面向服务的架构(SOA)系统中,容灾能力是保障系统稳定性的重要组成部分。通过引入多数据中心部署、自动化故障转移、数据备份等技术手段,可以有效提升系统在面对突发灾难事件时的恢复能力。例如,采用主从复制和异地多活架构,可以确保在某个数据中心发生故障时,其
天翼云CDR基本概念
云容灾CTCDR(CloudDisasterRecovery)为云主机提供跨可用区的容灾保护能力,RPO可达秒级、RTO可达分钟级。支持容灾演练、一键切换等功能。当生产中心故障时,可在容灾中心快速恢复业务,保障客户数据安全和业务连续性。
小谈容灾备份
从其对系统的保护程度来分,可以将容灾系统分为:数据容灾和应用容灾
私有云容灾方案设计浅谈
在大型企业、金融机构建设私有云时,须考虑私有云各项服务的高可用和容灾/备份方案,防止因单机房故障引发的一系列故障导致业务不可用或整体停服,降低影响范围同时满足监管和等保等安全要求。
驭数有道,天翼云TeleDB系列产品全新升级
8月16日,以“红云天翼安全普惠”为主题的天翼云TeleDB系列产品升级发布会在线上顺利举办。此次发布的天翼云自主研发云原生数据库实现了全新升级,推出一站式HTAP融合数据库,以及TeleDB数据库容灾双活方案,展示了TeleDB数据库的可用性、易用性、安全性、云原生、容灾等能力,以及其在各行业领域的实践成果。国产化数据库高速发展核心技术自主可控是关键Ga