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

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

架构简介

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

  • 计算节点(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/galaxysql]

版本说明

我们也选择了今天给大家一份诚意满满的礼物: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

此处为语雀视频卡片,点击链接查看:PolarDB-X on Kubernetes Demo (HA) - 知乎

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

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

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

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

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

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的备库实时同步数据。

04. 轻量化部署功能完善

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

更详细的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

原文链接

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

828成首个B2B企业节,华为联合3万生态伙伴助力中小企业数字化转型

中小企业既是市场的主体,也是保就业的主力军。截至2021年末,中小企业在全国企业中数量占比已超过99%,并贡献了80%的就业机会。 为助力中小企业创新发展,8月28日,华为联合3万家生态伙伴,共同发起了全国首个…

阿里云贾扬清:数据湖正成为企业数据应用创新标配

简介:全球数据湖峰会开幕 数字经济蓬勃发展的今天,越来越多的用户已经从“上好云”,走到了“用好云”的这个阶段。如果说在“上好云这个阶段,大多数用户关心的是如何在成本上获得更好的回报。那么在上好云这个阶段,更…

axios.post提交的三种请求方式

1、Content-Type: application/json let data {“username”:“11111”,“password”:“22222”}; axios.post(“地址”,data) 2、Content-Type:multipart/form-data let data new FormData(); data.append(‘username’,‘11111’); data.append(‘password’,‘22222’)…

强强联手,NVIDIA 与 Ampere Computing 重磅推出云原生服务器平台

随着 5G、元宇宙的兴起,云游戏再一次迎来爆发。据 IDC 与中国信息通信研究院联合发布的《全球云游戏产业深度观察及趋势研判(2022年)》显示,2021年,中国地区云游戏市场收入已达 40.6 亿元,同比增长 93.3%。…

有了这款工具,定位线上问题事半功倍|云效工程师指北

简介:有了这款工具,定位线上问题事半功倍,程序员在日常工作中经常会遇到一些线上问题需要排查,本文的主人公程序员小张也不例外。但排查的过程却时常令他困扰不已。让我们一起看看他遇到了哪些问题,又是怎么解决的。 …

简单的二次封装axios中的get,post方法

function Axios(type, url, data, header) {/*** 参数:* 1、type:调用axios的方法(get,post……)* 2、url:请求地址* 3、data:传的参数* 4、header请求头*/// 这里处理type大小写type type.toLocaleLowerCase()switch (type) {case (get…

云原生时代如何用 Prometheus 实现性能压测可观测-Metrics 篇

简介:可观测性包括 Metrics、Traces、Logs3 个维度。可观测能力帮助我们在复杂的分布式系统中快速排查、定位问题,是分布式系统中必不可少的运维工具。 作者:拂衣 什么是性能压测可观测 可观测性包括 Metrics、Traces、Logs3 个维度。可观测…

基于 KubeVela 的机器学习实践

简介:本文主要介绍如何使用 KubeVela 的 AI 插件,来帮助工程师更便捷地完成模型训练及模型服务。 作者:KubeVela 社区 在机器学习浪潮迸发的当下,AI 工程师除了需要训练、调试自己的模型之外,还需要将模型进行部署上…

Gartner发布2022年云平台服务技术成熟度曲线,iPaaS、低代码将达到成熟期

Gartner 2022年云平台服务技术成熟度曲线显示,集成平台即服务(iPaaS)和低代码应用平台(LCAP)技术将在不到两年的时间内达到生产成熟期(Plateau of Productivity)。 编辑 | 宋慧 供稿 | Gartner…

sass封装h5适配文件

charset "UTF-8"; /** 使用方法 include keyframes(anMeinv,(0%:(background: url(i/meinv.png) no-repeat pxToRem(140) pxToRem(11),background-size: pxToRem(165) pxToRem(157)),50%:(background: url(i/meinv.png) no-repeat pxToRem(140) pxToRem(11),backgrou…

OpenKruise v1.1:功能增强与上游对齐,大规模场景性能优化

简介:在 v1.1 版本中,OpenKruise 对不少已有功能做了扩展与增强,并且优化了在大规模集群中的运行性能。以下对 v1.1 的部分功能做简要介绍。 作者:酒祝(王思宇) 云原生应用自动化管理套件、CNCF Sandbox …

贼喊捉贼?“盗版”软件开发者向 GitHub 投诉被侵权

整理 | 于轩 出品 | CSDN(ID:CSDNnews)拥有超过2亿个代码存储库,由8000多万用户共享,GitHub已然成为世界上最大和最先进的开发平台。 与其他托管用户生成内容的平台一样,这个庞大的代码库经常会接到版权…

基于 Serverless 架构的头像漫画风处理小程序

简介: 当一个程序员想要个漫画风的头像时... 前言 我一直都想要有一个漫画版的头像,奈何手太笨,用了很多软件 “捏不出来”,所以就在想着,是否可以基于 AI 实现这样一个功能,并部署到 Serverless 架构上让…

异动分析技术解决方案—异动归因之指标拆解

简介:归因的方法有多种,这篇文章的重点是指标拆解,也是我们做业务分析时最常用到的方法。我们的目的是解放人力,将指标拆解实现自动化,一方面可以加快业务迭代速度,快速定位问题;另一方面可以对…

阿里巴巴云原生混部系统 Koordinator 正式开源

简介: 脱胎于阿里巴巴内部,经过多年双 11 打磨,每年为公司节省数十亿的混部系统 Koordinator 今天宣布正式开源。通过开源,我们希望将更好的混部能力、调度能力开放到整个行业,帮助企业客户改进云原生工作负载运行的效…

足不出户,确保交付——独家交付秘籍(第二回)

简介:在后疫情时代,遇到无法出差、无法访客时,如何保障交付按时保质的进行,做好运维质量的保障,从而不影响企业整体营收,已成为我们生死攸关的难题。小锤在遇到无法只通过远程就完成项目交付验收&#xff0…

react中类组件this指向

这是一个标准的类组件 import React,{Component} from react; class View extends Component{constructor(props){super(props)}state{} //写在这里跟写在constructor中一样&#xff0c;都可以起到初始化的效果,并且可以省去thisfn(){}fn1(){}render(){return(<div><…

如何使用 PTS 快速发起微服务压测

简介&#xff1a;本文讲阐述什么是微服务架构、微服务架构对系统稳定性带来的影响&#xff0c;以及用性能测试验证稳定性的必要性、用户进行微服务压测的痛点和 PTS 的独特优势、云上使用 PTS 快速发起微服务压测的步骤&#xff0c;以及压测完成后排查分析相关问题的 Tips。 作…

一首让计算机崩溃的歌曲!

大家好&#xff0c;我是轩辕。想象一个场景&#xff1a;手机里播放一首音乐&#xff0c;然后你带着手机从一台电脑旁经过&#xff0c;电脑就被你弄崩溃死机了。这是不是有点像电影里的桥段&#xff1f;一年前&#xff0c;我写过一篇文章&#xff1a;电脑关机了&#xff0c;黑客…

OpenYurt 之 Yurthub 数据过滤框架解析

简介&#xff1a;OpenYurt 是业界首个非侵入的边缘计算云原生开源项目&#xff0c;通过边缘自治&#xff0c;云边协同&#xff0c;边缘单元化&#xff0c;边缘流量闭环等能力为用户提供云边一体化的使用体验。在 Openyurt 里边缘网络可以使用数据过滤框架在不同节点池里实现边缘…