阿里云分布式关系型数据库服务 DRDS

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: DRDS 是阿里巴巴集团自主研发的分布式数据库中间件产品,专注于解决单机关系型数据库扩展性问题,具备轻量(无状态)、灵活、稳定、高效等特性,稳定运行11年,经历历届双十一核心交易业务和各类行业业务的考验

产品简介

DRDS 是一款基于 RDS for MySQL 、采用分库分表技术进行扩展的分布式 OLTP 数据库服务产品,产品目标旨在提升数据存储容量、并发吞吐、复杂计算效率三个方面的扩展性需求。

DRDS 核心能力采用标准关系型数据库技术实现,构建与公共云( cloud native ),配合完善的管控运维及产品化能力,使其具备稳定可靠、高度可扩展、持续可运维、类传统单机 MySQL 数据库体验的特点。

DRDS 在公共云和专有云沉淀多年,历经各界天猫双十一核心交易业务及各行业阿里云客户业务的考验。承载大量用户核心在线业务,横跨互联网、金融&支付、教育、通信、公共事业等多行业,是阿里巴巴集团内部所有在线核心业务及众多阿里云客户业务接入分布式数据库的事实标准。

产品特点

稳定

对于绝大部分应用而言,关系型数据库所承担的职责是整个数据管理系统中最为核心基础的,不光直接影响到终端用户的服务体验,同时也是业务数据的最后一道保险,所以稳定性是数据库最为核心的选型因素。

DRDS 的稳定性建立在对久经考验的 MySQL 合理使用的基础上,单机 MySQL 在高并发、大量数据存储和复杂计算场景下,呈现出相对弱势的状态。

DRDS 将数据拆分到多个 RDS MySQL,使每个 RDS MySQL 承担合适的并发、数据存储和计算负载,各个 RDS MySQL 处于稳定状态,DRDS 层面处理分布式逻辑a,最终得到一个具有稳定可靠、高度扩展性的分布式关系型数据库系统。

相比于全自研分布式 NewSQL 数据库,DRDS 产品始终以持续稳定性和可运维性作为第一要务,同时通过标准数据库技术弥补与单机数据库的体验差异,让用户便捷、快速地上手使用,充分发挥产品的业务价值。

高度可扩展

相比传统单机关系型数据库,DRDS 采用分层架构可确保在并发、计算、数据存储三个方面均可线性扩展,通过增加 DRDS 节点 和 RDS for MySQL 实例达到水平扩展效果。

相比基于分布式存储的新型 cloud native 数据库,理论上 DRDS 的扩展性没有上限,打消业务在快速发展的过程中针对数据库扩展性产生的后顾之忧与运维压力。

持续可运维

关系型数据库对于绝大部分应用而言需要 7 * 24 小时稳定工作,持续可运维是数据库的核心关键能力。

DRDS 在公共云和专有云持续深耕多年,提供丰富的产品化能力及完备的运维体系,通过完整的 OpenAPI 可让业务自行定时与集成。

生命周期管理

  • 实例创建、重启、释放
  • 数据库创建、删除
  • 数据白屏化操作

容量管理

  • 水平拆分、垂直拆分
  • 读写分离
  • 分析型只读实例
  • 并发型只读实例
  • 弹性变配
  • 平滑扩容、热点扩容
  • 拆分变更

安全与审计

  • VPC
  • IP 白名单
  • 账号与权限管理
  • SQL 审计与分析

容灾管理

  • 一体化备份恢复(快速&一致性)
  • SQL 闪回
  • 表回收站
  • 多可用区实例容灾部署

监控告警

  • 自有分层监控
  • 云监控接入与关键指标报警管理

数据生态

  • DTS 数据迁移、同步、订阅
  • 数据集成
  • DMS 数据管理
  • QuickBi 集成
  • 搜索OpenSearch、Elasticsearch
  • 大数据计算与数据仓库

标准类关系型数据库能力

传统关系型数据库具备良好的用户认知和使用习惯,DRDS 采用标准关系型数据库技术实现,在提供分布式扩展能力的基础之上,大幅兼容单机 MySQL 使用体验。

通过 RDS for MySQL 提供稳定的存储支持,DRDS 内核专注于分布式 SQL 层,整个分布式 SQL 层如同大部分单机关系型数据库,分为网络和协议层、SQL 解析层、优化层和执行层。其中优化层包含逻辑优化和物理优化,执行层包含单机两阶段执行、单机并行执行( Parallel Query )和多机并行执行( DAG ),采用多种传统单机数据库优化和执行技术。

与单机数据库不同的是,DRDS 将数据拆分逻辑加入到了 SQL 优化和执行过程中,与其他分布式数据库不同的是,在面向 OLTP 场景时,DRDS 着重关注因分布式而带来的代价,提供了包括自定义数据拆分、算子 move-arround 和 pushdown、join 和 aggregation 的 co-located 优化和计算、分布式事务的处理和优化、分布式全局二级索引、面对远超单机数据容量的外置 DAG 计算等技术。

适用场景

按应用类型选择

DRDS 能够很好的服务面向个人客户、消费者、设备的事务型业务,关注响应时间,SQL 偏向点查点写,具备较高并发特征,类似互联网、移动互联网、互联网+业务(通信、支付&金融、教育、出行、零售餐饮等)有非常好的效果。

针对传统的企业级应用,因为数据不断扩充,急需更强计算能力的在线事务数据库,DRDS 最近两年在复杂 SQL 优化、并行执行、分布式事务等方面进展较大,很好的满足这种诉求,因为天然的数据分片,数据处理并行度效果不错。

DRDS FOR MYSQL

按容量选择

OLTP 业务领域,容量包含并发度、数据存储、复杂 SQL 响应时间 3 个维度。任意一个维度已经出现问题,或者按照业务规划,在不久的未来就会出现。那么 DRDS 是一个合适的选择。

对于业务发展初期选择分布式还是不选择分布式,总会面临很多考量,但是从数据库角度出发来看,业务使用的 SQL、数据类型、事务、索引、其他功能是确定的,对于大部分业务来说,只要 SQL 支持度、数据类型、事务、索引支持比较完整,并且有有效手段在各种极端情况下具备能力扩展,那么这项技术对于业务的未来发展,较低概率存在瓶颈效应,相反,它可能是所有方案中最有生命力的方式。

按成本选择

业务对于数据库的成本考量,分为 3 个部分,

1、业务开发上手使用难度,

2、长期稳定性和性能表现,

3、服务持有成本。

业务开发上手难度过高,往往会导致项目延期,业务效果差强人意。对于一个新型数据库而言,如何有效兼容现有流行数据库使用习惯、功能支持完整度至关重要。DRDS 兼容 MySQL 生态,对于主流的客户端、驱动有着较好兼容性,SQL 兼容层面,已经比较少碰到功能报错问题,业务迅速进行功能对接成为可能。

长期稳定性和性能表现,因为 DRDS 将数据、负载分担到多个 RDS 中,所以面对逐步加大的工作负载,DRDS 相比大规格单机数据库有着更好的稳定性表现,性能表现层面,因为天然分布式,并发表现是其强项,配合单机并行计算、多机 DAG 计算,能够覆盖大部分在线数据的复杂计算需求。

服务持有成本方面,按照相等负载对标其他方案, DRDS 使用相对低配 RDS ,展现出的成本曲线随着 RDS 数量上升,相比其他方案,成本曲线趋向平缓。DRDS 的客户群体中,不乏 1 个 DRDS 下挂载几十个 RDS 实现数据高效存取和计算的需求。

按应用生命周期发展选择

DRDS 除了提供水平拆分能力,也提供了垂直拆分能力,并且应对极端热点,提供热点拆分能力,很好的满足了业务在整个生命周期中对数据库的诉求,可在业务发展的各个阶段切入。每个阶段的转换,DRDS 又提供各项能力保驾护航。

部分 PaaS 能你

产品架构

业务架构

DRDS 在业务构建数据管理体系所处的位置如下图所示, DRDS 承担业务面向在线事务数据存取与计算的诉求,通过数据集成、数据传输产品,和缓存产品、大数据生态配合使用。

DRDS 业务架构图

内核架构

DRDS 使用体验兼容 MySQL 体系 , 采用标准关系型数据库技术实现,并且大幅度增强其适应分布式场景的能力,因为有 MySQL 存储支持,所以 DRDS 内核技术能力展现主要是在分布式 SQL 层。

DRDS 内核架构图

整个分布式 SQL 层如同大部分传统单机关系型数据库,分为网络和协议层、SQL 解析层、优化层和执行层,其中优化层包含逻辑优化和物理优化,执行层包含单机两阶段执行、单机并行执行和多机并行执行,应用了多种传统单机数据库优化和执行技术。

和单机数据库不同的是,DRDS 将数据拆分逻辑加入到了 SQL 优化和执行过程中,并且和其他分布式数据库不同的是,在面向 OLTP 场景时,DRDS 特别关注分布式所带来的代价,提供了包括数据拆分的可定制化(指定拆分字段和算法)、算子 move-arround 和 pushdown 、 join 和 aggregation 的 co-located 优化和计算 、分布式事务的处理和优化、分布式全局二级索引、面对远超单机数据容量的外置 DAG 计算等核心技术。

部署架构

DRDS 服务部署在公有云上,采取多种方式确保生产安全,其中包括

  • 支持 VPC、IP 白名单、非对称账号密码、TLS 等方式,确保数据服务安全
  • 使用独享高性能物理资源、实例间充分隔离、支持多可用区实例,确保数据服务稳定
  • 支撑系统采用多 region 隔离部署、核心数据服务 SLA 与管控 SLA 解绑,确保不出现系统性问题
    DRDS 部署架构图

目前 DRDS 已经在国内大部分 region 部署,并且具备海外输出能力,逐步开放海外各 region , 助力业务区域扩张。

了解更多

分布式关系型数据库服务 DRDS,领军客户实战场景

实例规格

版本说明

上手指南

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
目录
相关文章
|
2月前
|
存储 缓存 算法
分布式锁服务深度解析:以Apache Flink的Checkpointing机制为例
【10月更文挑战第7天】在分布式系统中,多个进程或节点可能需要同时访问和操作共享资源。为了确保数据的一致性和系统的稳定性,我们需要一种机制来协调这些进程或节点的访问,避免并发冲突和竞态条件。分布式锁服务正是为此而生的一种解决方案。它通过在网络环境中实现锁机制,确保同一时间只有一个进程或节点能够访问和操作共享资源。
96 3
|
4月前
|
存储 监控 负载均衡
检索服务elasticsearch分布式结构
【8月更文挑战第22天】
54 3
|
8天前
|
消息中间件 存储 安全
分布式系统架构3:服务容错
分布式系统因其复杂性,故障几乎是必然的。那么如何让系统在不可避免的故障中依然保持稳定?本文详细介绍了分布式架构中7种核心的服务容错策略,包括故障转移、快速失败、安全失败等,以及它们在实际业务场景中的应用。无论是支付场景的快速失败,还是日志采集的安全失败,每种策略都有自己的适用领域和优缺点。此外,文章还为技术面试提供了解题思路,助你在关键时刻脱颖而出。掌握这些策略,不仅能提升系统健壮性,还能让你的技术栈更上一层楼!快来深入学习,走向架构师之路吧!
43 11
|
4月前
|
存储 关系型数据库 分布式数据库
PolarDB 并行查询问题之分布式查询执行过程中的数据分发如何解决
PolarDB 并行查询问题之分布式查询执行过程中的数据分发如何解决
54 1
|
17天前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB 分布式版 V2.0,安全可靠的集中分布式一体化数据库管理软件
阿里云PolarDB数据库管理软件(分布式版)V2.0 ,安全可靠的集中分布式一体化数据库管理软件。
|
3月前
|
数据采集 分布式计算 MaxCompute
MaxCompute 分布式计算框架 MaxFrame 服务正式商业化公告
MaxCompute 分布式计算框架 MaxFrame 服务于北京时间2024年09月27日正式商业化!
109 3
|
4月前
|
存储 缓存 负载均衡
【PolarDB-X 技术揭秘】Lizard B+tree:揭秘分布式数据库索引优化的终极奥秘!
【8月更文挑战第25天】PolarDB-X是阿里云的一款分布式数据库产品,其核心组件Lizard B+tree针对分布式环境优化,解决了传统B+tree面临的数据分片与跨节点查询等问题。Lizard B+tree通过一致性哈希实现数据分片,确保分布式一致性;智能分区实现了负载均衡;高效的搜索算法与缓存机制降低了查询延迟;副本机制确保了系统的高可用性。此外,PolarDB-X通过自适应分支因子、缓存优化、异步写入、数据压缩和智能分片等策略进一步提升了Lizard B+tree的性能,使其能够在分布式环境下提供高性能的索引服务。这些优化不仅提高了查询速度,还确保了系统的稳定性和可靠性。
103 5
|
4月前
|
存储 SQL 运维
“震撼发布!PolarDB-X:云原生分布式数据库巨擘,超高并发、海量存储、复杂查询,一网打尽!错过等哭!”
【8月更文挑战第7天】PolarDB-X 是面向超高并发、海量存储和复杂查询场景设计的云原生分布式数据库系统
116 1
|
4月前
|
C# UED 定位技术
WPF控件大全:初学者必读,掌握控件使用技巧,让你的应用程序更上一层楼!
【8月更文挑战第31天】在WPF应用程序开发中,控件是实现用户界面交互的关键元素。WPF提供了丰富的控件库,包括基础控件(如`Button`、`TextBox`)、布局控件(如`StackPanel`、`Grid`)、数据绑定控件(如`ListBox`、`DataGrid`)等。本文将介绍这些控件的基本分类及使用技巧,并通过示例代码展示如何在项目中应用。合理选择控件并利用布局控件和数据绑定功能,可以提升用户体验和程序性能。
90 0
|
4月前
|
Cloud Native 关系型数据库 分布式数据库
什么是云原生数据库PolarDB分布式版
本文介绍什么是云原生数据库PolarDB分布式版,也称为PolarDB分布式版,本手册中简称为PolarDB-X。
106 0