RDSDRDSPolarDBPolarDB-X的区别

news2024/12/29 10:29:16

RDS

阿里云关系型数据库(Relational Database Service,简称RDS),是一种稳定可靠、可弹性伸缩的在线数据库服务。
基于阿里云分布式文件系统和高性能存储,RDS支持MySQL、SQL Server、PostgreSQL和PPAS(Postgre Plus Advanced Server,一种高度兼容Oracle的数据库)引擎,并且提供容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。
RDS for MySQL可以认为是云上的MySQL。

DRDS

分布式关系型数据库服务(Distributed Relational Database Service,简称DRDS)是阿里致力于解决单机数据库服务瓶颈问题而自主研发的分布式数据库产品。DRDS高度兼容MySQL协议和语法,支持自动化水平拆分、在线平滑扩缩容、弹性扩展、透明读写分享,具备数据库全生命周期运维管控能力。
DRDS前身为淘宝TDDL,可以认为是云上的TDDL中间件。DRDS必须依赖RDS。

PolarDB

PolarDB是云原生数据库,计算与存储分离,数据存储在分布式文件系统上。RDS的数据存储在本地盘或者云盘上。
PolarDB对比RDS,做了一些优化以提升性能:

  • 采用领先硬件技术,包括使用3DXpoint存储介质的Optane存储卡、NVMeSSD的RoCE RDMA网络等。
  • 基于新的硬件,实现一整套在用户态运行的IO和网络协议栈,获得更高的性能、更低的延迟。
  • 通过锁优化、IO路径优化、针对大表优化等内核层面的优化,实现并发场景下的更优性能。

PolarDB的架构如下,总体可以分为两层,即计算层和存储层,计算层采用一个读写节点+最多15个只读节点可以实现读写分离,存储层采用基于ParallelRaft的多副本共享存储。可以认为RDS是PolarDB 1.0,而现在的PolarDB是PolarDB 2.0。
在这里插入图片描述

PolarDB-X

DRDS可以看成是PolarDB-X 1.0,而现在的PolarDB-X为PolarDB-X 2.0。
DRDS本质是一个阿里云上的分库分表中间件,具有很高的灵活性。而PolarDB-X是使用云原生技术的分布式数据库,具有一体化的数据库体验,存储节点是经过高度定制的MySQL,从而提供了大量中间件无法提供的如分布式事务等能力。
在这里插入图片描述
PolarDB-X与DRDS的几点区别有:

  • PolarDB-X使用X-DB作为数据节点,X-DB使用Paxos一致性共识协议进行多副本复制。
  • PlarDB-X相比DRDS引入一个新的组件GMS(Global Meta Service),提供分布式事务所使用的全局自增时间戳,根据负载情况调度数据的分布使节点之间达到均衡,提供统一的元数据等。
  • DRDS扩容基于Binlog,依赖外围管控系统完成。PolarDB-X扩容基于分布式事务,由内核完成。
  • DRDS的RDS是传统的主备架构,正常情况下备库不提供服务,PolarDB-X下的数据节点以分片为单位,一个节点可以同时是一个分片的Leader与另一个分片的Follower,资源利用率更高。
  • 在事务实现上,DRDS使用MySQL官方提供的XA事务,可以保证写入操作的原子性,但是存在的问题是可能会在一个分片读到已提交的数据在另一个分片上读到未提交的数据。为了解决这一问题,DRDS使用加锁的方式,在冲突多的情况下有比较高的代价。PolarDB-X使用自研的全局MVCC事务,在两阶段提交的基础上,增加了事务快照时间戳和提交时间戳的支持。时间戳来自于全局TSO的分配,因此做到外部一致的事务保证,并且避免了额外的加锁。
  • 在性能上,DRDS连接RDS使用的是RDS标准的访问链路,中间需要经过SLB中转,会增加一跳的网络延迟,PolarDB-X的CN与DN是点对点直连。第二点,DRDS使用标准的MySQL协议连接RDS,导致有不少开销,PolarDB-X对MySQL进行大量定制,中间的通信用私有的RPC协议,提升了性能。对OLAP查询,DRDS使用的是SMP(单机并行)技术,PolarDB-X使用的是MPP(多机并行)技术。

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

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

相关文章

在VScode终端上创建nuxtjs项目遇到的问题以及使用GitHub遇到的问题和一些个人笔记

文章目录📋前言💻关于GitHub打开慢或无法打开的问题💻克隆GitHub的项目到本地💻创建nuxtjs项目🧩无法加载文件的报错问题🧩使用vue init nuxt/starter demo出现的问题🧩另一种命令创建nuxtjs项目…

字符编码及转换

什么是字符编码字符编码(Character encoding)也称字集码,是把字符集中的字符,编码为指定集合中的某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本在计算机中存储或者…

前端控制台出现 红色 的报错信息TypeError: fn.apply is not a function

项目场景: 提示:这里简述项目相关背景: 使用vue在原来的系统中 开发新的模块,开发时无意间发现 前端控制台出现 红色 的报错信息,但是页面依然还是正常 加载出来了 控制台一直报错 TypeError: fn.apply is not a fun…

09- 逻辑回归算法 (LogisticRegression) (机器学习)

基本概念: 逻辑回归主要逻辑是通过sigmoid函数进行分类, 当函数结果大于0时赋值1, 小于0时赋值0, 然后根据结果进行分类, 化简后求最小值的过程和线性方程类似, 该函数的特点是:分类算法 模型训练 : lr LogisticRegression() from sklearn.linear_model import LogisticRegr…

力扣39.组合总数

文章目录力扣39.组合总数题目描述方法1:深搜回溯力扣39.组合总数 题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可…

【数据库】MySQL 单表查询,多表查询

目录 单表查询 一,创建表worker 1,创建表worker的sql代码如下: 2,向worker表中插入信息 二, 按要求进行单表查询 1、显示所有职工的基本信息。 2、查询所有职工所属部门的部门号,不显示重复的部门号。 …

【自学Python】Python字符大小写判断

大纲 Python字符串是否是小写 Python字符串是否是小写教程 在开发过程中,有时候我们需要判断一个 字符串 是否是小写形式(即,所有的字符都是小写字母,不是英文字符的忽略不做判断),在 Python 中&#xff…

SAP ERP系统SD模块常用增强之一:VA01/VA02创建或修改SO的输入检查

在SAP/ERP项目的实施中销售管理模块(SD)的创建和修改销售订单必定会有输入字段校验检查的需求,来防止业务人员录入错误或少录入数据,SAP公司也考虑到这一点,所以这方面的配置功能也非常强大,通常情况下不需…

GraphQL vs REST API 架构,谁更胜一筹?

GraphQL vs REST API 架构,谁更胜一筹? Michele Moody 平川 万佳 2020 年 1 月 18 日 本文字数:2890 字 阅读完需:约 9 分钟 2015 年,Facebook 开源 GraphQL。此后,它在前端 Web 中大受欢迎。传统的 R…

一篇文章带你学会Ansible的安装及部署

目录 前言 一、什么是Ansible 二、Ansible的工作方式 三、Ansible的安装 四、构建Anisble清单 1、清单书写方式 2、清单查看 3、清单书写规则 4、主机规格的范围化操作 五、ansible命令指定清单的正则表达式 六、 Ansible配置文件参数详解 1、配置文件的分类与优先…

【C++】C/C++内存管理模板初阶

文章目录一、 C/C内存管理1. C/C内存分布2. C内存管理方式3. operator new与operator delete函数4. new和delete的实现原理5. 定位new表达式6. 常见面试题malloc/free和new/delete的区别内存泄漏二、模板初阶1. 泛型编程2. 函数模板3. 类模板一、 C/C内存管理 1. C/C内存分布 …

每天10个前端小知识 【Day 13】

前端面试基础知识题 1. Position:absolute绝对定位,是相对于谁的定位? CSS position属性用于指定一个元素在文档中的定位方式。top,right,bottom 和 left 属性则决定了该元素的最终位置。 absolute的元素会被移出正…

牛客网 NC107 寻找峰值

前言:内容包括四大模块:题目,代码实现,大致思路,代码解读 题目: 描述 给定一个长度为n的数组nums,请你找到峰值并返回其索引。数组可能包含多个峰值,在这种情况下,返回…

vue-router路由配置

介绍:路由配置主要是用来确定网站访问路径对应哪个文件代码显示的,这里主要描述路由的配置、子路由、动态路由(运行中添加删除路由) 1、npm添加 npm install vue-router // 执行完后会自动在package.json中添加 "vue-router…

某游戏辅助功能分析

FPS游戏发展至今,阻挡外挂开发者脚步的往往不是数据和功能开发,而是高难度的检测。 现如今,检测的手段越来越多,也越来越五花八门。列如: 检测参数,检测堆栈,检测注入等等。 CRC是众多检测手段中…

Qt OpenGL(三十九)——Qt OpenGL 核心模式-在雷达坐标系中绘制飞行的飞机

提示:本系列文章的索引目录在下面文章的链接里(点击下面可以跳转查看): Qt OpenGL 核心模式版本文章目录 Qt OpenGL(三十九)——Qt OpenGL 核心模式-在雷达坐标系中绘制飞行的飞机 一、场景 在之前绘制完毕雷达显示图之后,这时候,我们能匹配的场景就更广泛了,比如说…

string类模拟实现

了解过string常用接口后,接下来的任务就是模拟实现string类。 目录 VS下的string结构 默认成员函数和简单接口 string结构 c_str()、size()、capacity()、clear()、swap() 构造函数 拷贝构造函数 赋值重载 析构函数 访问及遍历 容量操作 reserve resize …

C语言(typedef,函数和指针)

目录 一.typedef 二.函数和指针 一.typedef typedef是一种高级数据特性,利用typedef可以为某一类型自定义名称。typedef创建的符号名只受限于类型 typedef unsigned char BYTE; BYTE x 这里的BYTE就相当于unsigned char x typedef unsigned char *BYTE; BYTE x,…

[oeasy]python0082_VT100_演化_颜色设置_VT选项_基础色_高亮色_索引色_RGB总结

更多颜色 回忆上次内容 上次 了解了控制序列 背后的故事 一切标准 都是 从无到有 的就连 负责标准的组织 也是 从无到有 的 VT-05 奠定了 基础颜色 黑底 绿字隔行 扫描 但 多颜色设置 是如何出现 的呢??🤔 控制字符 1974年 产品 从VT05…

语音识别系列之脉冲神经网络特征工程

人工神经网络(Artificial Neural Network, ANN)中的单个人工神经元是对生物神经元的高度抽象、提炼和简化,模拟了后者的若干基本性质。得益于误差反向传播算法,网络权重可根据设定的目标函数得到有效地调整,ANN在视觉、…