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(多机并行)技术。

RDSDRDSPolarDBPolarDB-X的区别相关推荐

  1. RPC 笔记(01)— RPC概念、调用流程、RPC 与 Restful API 区别

    1. 基本概念 PRC 远程过程调用 Remote Procedure Call,其就是一个节点请求另外一个节点提供的服务.当两个物理分离的子系统需要建立逻辑上的关联时,RPC 是牵线搭桥的常见技术手 ...

  2. C++ 笔记(28)— C++ 中 NULL和 nullptr 的区别

    最近看公司代码的时候发现在判断指针是否为空的时候,有的时候用的是 NULL, 有的时候用的是 nullptr 感觉很奇怪,好奇心驱使我查了下两者的区别,发现还是有很多细节需要学习的. 1. NULL ...

  3. gcc 和 g++ 的联系和区别,使用 gcc 编译 c++

    GCC 编译器已经为我们提供了调用它的接口,对于 C 语言或者 C++ 程序,可以通过执行 gcc 或者 g++ 指令来调用 GCC 编译器. 实际使用中我们更习惯使用 gcc 指令编译 C 语言程序 ...

  4. Python2 与 Python3 区别

    Python2.x 与 Python3.x 区别 1. print 函数 Python2 中 print 是语句(statement),Python3 中 print 则变成了函数.在 Python3 ...

  5. Docker 入门系列(1)- 初识容器,镜像、容器、仓库的区别

    Docker 简介 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发 ...

  6. HTTP 协议入门 — (TCP/IP协议族、通信传输流、URI 与 URL 的区别、Cookie 状态管理、HTTP 支持的方法、状态码类别、HTTP 首部字段)

    TCP/IP协议族 在介绍 HTTP 协议之前,我们先对 TCP/IP 协议族有个大概的了解,TCP/IP 协议从上到下主要分为应用层.传输层.网络层和数据链路层,各层的主要功能如下表所示: 协议层 ...

  7. python二进制打开(rb)和文本格式打开(r)什么区别?

    使用 open() 函数以文本格式打开文件和以二进制格式打开文件,唯一的区别是对文件中换行符的处理不同. 在 Windows 系统中,文件中用 "\r\n" 作为行末标识符(即换行 ...

  8. python中__dict__与dir()区别

    前言 Python下一切皆对象,每个对象都有多个属性(attribute),Python对属性有一套统一的管理方案. __dict__与dir()的区别: dir()是一个函数,返回的是list: _ ...

  9. java和C#面向对象的区别

    问题:C#中的构造函数和java的构造函数一样吗? 答: .net的项目中,写实体Entity属性时,经常会为每一个属性写一对get和set方法,在用到这个实体或是一个类时,通过new实例化一个对象, ...

  10. 判别模型和生成模型的区别

    20210703 https://www.zhihu.com/question/20446337 机器学习"判定模型"和"生成模型"有什么区别? 重点 http ...

最新文章

  1. 手把手教你实现PySpark机器学习项目——回归算法
  2. Go大型项目实战:项目结构、配置管理、API设计
  3. 混频通信的matlab仿真,基于MATLAB的扩频通信系统仿真研究—上海交通大学
  4. Centos7下实现多虚拟机互信
  5. 【白皮书分享】2021年智慧城市白皮书:依托智慧服务,共创新型智慧城市.pdf(附下载链接)
  6. mysql sniffer数据库审计_MySQL抓包工具:MySQL Sniffer
  7. vue瀑布流插件vue-waterfall-easy 2.x
  8. 职能部门绩效考核指标设置
  9. 电脑怎么隐藏文件夹?6个步骤完成!
  10. 2020-10-15 Comsl学习3
  11. 刷程序对车危害_汽车刷程序对车有什么影响
  12. 啊哈添柴挑战1222输出菱形C++
  13. 如何设置和取消RAR文件的密码保护
  14. Hadoop3.3.4最新版本安装分布式集群部署
  15. 曝李小冉鄢颇分手2个月 男方曾被女方旧爱砍伤
  16. 螺栓不松没事,一松就断?是什么原因?
  17. python:罗马数字与数字互相转换
  18. 【转载】嵌入式加密芯片为电子产品版权护航
  19. Captura录屏工具安装和使用
  20. 高等工程数学 —— 第二章 (1) Smith标准型与Jordan标准型

热门文章

  1. mysql经典46_50个经典SQL语句
  2. python如何安装第三方模块
  3. c语言实验指导修改版,高级语言程序设计(C语言)实验指导书(修改版).doc
  4. java国内外详情研究动态,国内外研究现状分析及文献综述.doc
  5. Android 性能优化之内存泄漏,使用MATLeakCanary解决问题
  6. idea中如何添加Tomcat镜像并配置项目
  7. 计算机软件工程班级简介,热点 | 优秀班集体——2015级软件工程班
  8. C语言—判断100到200的素数
  9. 武士与魔王游戏v2.0
  10. 鸿蒙之境法有三乘,神都夜行录鸿蒙之境怎么打 神都夜行录鸿蒙之境阵容搭配推荐...