深度:阿里云分布式关系型数据库DRDS解析

4月20日,云栖大会深圳峰会顺利召开。阿里云中间件产品经理凤豪为大家深度介绍了阿里云分布式关系型数据库DRDS的发展历史以及DRDS的优势。下面是演讲主要内容整理。

数据库面临的挑战

单机数据库在数据存储容量、访问容量、容灾等方面都会随着业务的增长而到达瓶颈,无论哪一个,对业务来说是一项相当艰巨的挑战。存储容量瓶颈问题,虽然可以通过在一个机器下面挂很多块磁盘,做到10T、20T、30T容量,然后使用一个MySQL实例支撑,但是数据备份、数据管理(DDL)、数据检索与更新性能(DML)都会出现大幅下滑。

单机数据库的扩展方式通常有两种:通过硬件升级的方式,或者采用分布式的存储方案方式。但是单机数据库使用分布式架构的同时, 缺乏整体的长期的优化和产品化,对应用的侵入性非常大,造成开发和运维的成本大幅提高、降低产品稳定性。

DRDS 成熟的分布式架构,可以提供给用户使用单机数据库一致的体验,底层通过分布式的架构轻松实现数据库的高扩展性,降低开发成本的同时,也提升了数据库存储和服务扩展能力。

数据库的挑战也在于更高的数据容量承载,更高的数据库服务性能支撑。数据库关键能力在既要保持数据库ACID特性和事务强一致性支持,又要具备无限扩容和弹性扩展的能力。

DRDS与MySQL、NoSQL的区别

那我们怎么认识DRDS与MySQL、NoSQL之间的差异呢?具体来说,MySQL核心优势是关系模型ACID特性和事务一致性,但MySQL在保持ACID特性一致性的原则下,单机数据库的扩展给开发和运维带来了巨大的成本。NOSQL则在抛弃关系模型特性的情况下,通过分布式的方式解决了数据库的高扩展性,但是面对复杂多样的关系模型的使用场景NOSQL不能作为一种通用的数据库解决方案使用,且NOSQL推出的时间短,产品成熟度不高,系统稳定性和可运维行较差,对于正式生产环境使用风险仍旧很高。

分布式关系型数据库DRDS则在保持关系模型的特性和数据库高扩展性发做了很好的平衡,实现数据库的高扩展性的同时,也最大化的保持了关系型数据ACID特性和事务一致性。

DRDS产品在阿里巴巴集团内部的对应产品是TDDL,2008年开始大规模接入内部核心系统生产环境,是阿里巴巴近千核心应用首选组件。DRDS在2014年6月开始公测,2014年12月DRDS正式上线时已稳定服务8年以上,是阿里巴巴8年技术沉淀的结晶。

DRDS突破数据库极限

数据库的第一个极限就是高扩展性。

基于2008年左右分布式数据库领域比较流行的数据拆分理论,淘宝开始自主研发分布式关系型数据库服务来解决数据库扩展的问题,并于2008年上线TDDL/DRDS服务,DRDS底层采用分布式的架构,通过“分而治之”拆分原理,将单机数据库实例进行多实例拆分,依据拆分纬度将业务的数据拆分到单机数据库实例集群上,同时保持对应用层使用逻辑上完全透明,应用层仍旧保持单机数据一致的使用方式,但是扩展性却大大提升。

目前DRDS已经可以做到完全平滑的扩容,当数据库的容量或者处理能力不足的时候,只需要简单的“加机器”就能够实现数据库能力的线性扩展,而整个过程可以做到应用透明无感知。

分布式关系型数据库的另外一个极大挑战,在于分布式环境下跨库SQL查询效率。分布式架构下逻辑单库单表数据会分拆到不同的物理分库分表上,当分库分表和业务源信息小表JOIN的时候,必然需要将分库分表和小表数据先读取然后做合并JOIN,这就造成存在大量的跨物理单库的IO操作,分布式SQL的执行效率会大大降低,而DRDS的小表复制功能可以通过简单的小表广播配置,将JOIN的驱动小表配置成广播表,将广播表的数据实时广播到分库分表上,这样就将跨库的JOIN变成单机JOIN操作,系统的性能就得到了极大的提升。

分布式关系型数据库的另外一个巨大极限挑战在分布式数据库的数据拆分纬度是单一的,而实际数据使用纬度多样的。当数据拆分纬度和数据使用纬度不一致的时候,单条SQL会下发到多个物理的分库执行,当分库分表数量达到百甚至千级别的时候,大量的SQL下发和归并操作也会造成巨大的IO性能消耗,造成系统的整体性能直线下降。

DRDS能够通过异构复制的功能,使用“空间换性能”的方式将同一份数据冗余多份,多份数据按照不同的业务使用场景进行拆分,保持了业务使用纬度和数据拆分纬度的一致性,SQL跨库查询变成了物理单库查询,避免了大量IO操作,系统性能大幅提升。

DRDS提供的另外一个重要核心特性就是“透明读写分离”功能。读写分离是关系型数据库使用频度非常高的功能,但是传统单机数据库的读写分离和应用的耦合性非常高,应用需要从代码层面分别操作读实例和主实例、读写分离的读写流量分配、读实例的扩容以及特定SQL读写路由也需要修改代码的来实现,这就造成了很大运维成本,应用的代码复杂度增加。同时,在面对突然暴增的业务流量情况下数据库不能够提供快速的读写分离扩容机制,对业务来说是非常大的不稳定因素。

DRDS能够做到对应用完全透明的读写分离,将数据库和应用层完全解耦,应用不需要关心底层的读写分离的路由具体实现,数据库的连接串不需要修改。只需要在控制台增加只读实例和配置读写流量分配比例,DRDS就可以依据SQL进行读写路由,同时可以实时在控制台变更和查询读写流量的分配比例,对于一些特殊的SQL如果需要强制路由到读实例或者主实例执行,也可以通过DRDS特性的hint语法实现差异化的路由规则,这对于数据库的运维效率是质的提升。

透明的读写分离功能无论对于初创企业还是复杂业务场景的大型企业,都可以大大降低数据库运维成本,降低应用代码复杂度,短期内就可以具备专业的数据库运维能力,系统的稳定性也得到很好的保证。

DRDS具有完整的分布式事务套件、完美的支持分布式事务,DRDS可以做到“读提交”级别的分布式事务支持,能够满足90%以上的事务需求场景。同时基于阿里云长期对事务的实践得出的经验,大部分的事务场景都不是真正的强一致的事务场景,建议通过异步的事务解耦,将强事务转换为异步的事务序列,可以获得系统扩展性和系统性能的大幅提升。

DRDS优势

总体来讲,DRDS突破了单机数据关系型数据库强依赖硬件且扩展能力有限的困境,通过分布式集群架构方案真正实现了“无限平滑扩容”。

DRDS具备高扩展性和专业的运维能力的同时保持了简单易用的优势,DRDS全面兼容MySQL协议和语法,支持大部分MySQL Client,通过DRDS提供的一键扩容,一键数据迁移,透明的读写分离功能可以帮助企业迅速获得大型互联网企业多年积累的专业数据库运维能力。

案例


(点击图片观看)

视频地址:。

关于DRDS的更多内容,可访问:https://www.aliyun.com/product/drds/。

时间: 2024-10-14 10:58:02

深度:阿里云分布式关系型数据库DRDS解析的相关文章

深度解读 | 阿里云新一代关系型数据库 PolarDB

本文通过描述关系型数据库发展的背景以及云计算的时代特征,分享了数据库计算力的螺旋式上升的进化理念,另外结合阿里云 RDS 产品的发展路径,阐述了自主研发的新一代云托管关系型数据库 PolarDB 的产品整体设计思想,对一些关键技术点进行了解读. 关系型数据库 谈到关系型数据库,在这个知识日新月异的 TMT 时代,听起来有些"古董",这个起源于半个世纪以前的 IT 技术,事实上一直处于现代社会科技的核心,支撑着当今世界绝大多数的商业科技文明.CPU.操作系统.数据库这三大核心领域,基本上

阿里云新一代关系型数据库 PolarDB 剖析

本文通过描述关系型数据库发展的背景以及云计算的时代特征,分享了数据库计算力的螺旋式上升的进化理念.并且结合阿里云 RDS 产品的发展路径,阐述了自主研发的新一代云托管关系型数据库 PolarDB 的产品整体设计思想,同时也对一些关键技术点进行了解读. 背景 关系型数据库 谈到关系型数据库,在这个知识日新月异的TMT时代,听起来有些"古董",这个起源于半个世纪以前的IT技术,事实上一直处于现代社会科技的核心,支撑着当今世界绝大多数的商业科技文明.CPU.操作系统.数据库这三大核心领域,基

一分钟了解阿里云产品:分布式关系型数据库DRDS

一.             概述   阿里云发布的产品种类齐全,今天就让我们一起来了解下分布式关系型数据库服务(Distribute Relational Database Service,简称DRDS)吧.     什么是DRDS呢?   DRDS是一种水平拆分.可平滑扩缩容.读写分离的在线分布式数据库服务.前身为淘宝TDDL,是近千个应用首选组件,已稳定服务了七年以上.     那么,DRDS有什么优势呢?   DRDS简单易用.如同单MySQL数据库使用,兼容MySQL交互协议,兼容90

如何用阿里云HiTSDB时序数据库实现百万级海量数据点秒级读写

2017云栖大会·上海峰会上,阿里云发布了面向物联网场景的HiTSDB时序数据库,可支持每秒1000万时序数据点写入:具备PB级别的数据存储能力,提供高效压缩算法,整体存储成本降低90%:提供时序数据插值计算,降精度计算,时间纬度聚合计算,空间纬度聚合计算的能力. HiTSDB的能力脱胎于阿里巴巴多年的实践,面对集群规模拥有独特的分析计算能力,本文将从电商视角对HiTSDB进行深度剖析. 阿里巴巴拥有着全球最大的电商交易平台,2016双十一单日成交额突破了1207亿.而这个庞大的业务规模的背后是

阿里云今日发布数据库产品HybridDB

本文讲的是阿里云今日发布数据库产品HybridDB[IT168 云计算]12月9日,阿里云宣布数据库产品 HybridDB 正式商业化. HybridDB(ApsaraDB HybridDB)是一款在线MPP大规模并行处理数据仓库的服务.它基于 Pivotal 公司的开源数据库项目 Greenplum Database 开发,并由阿里云数据库团队在云计算架构下深度扩展. 该服务支持了OSS存储.JSON数据类型.HyperLogLog预估分析等功能特性.通过符合SQL2008标准查询语法及OLA

如何搭建阿里云RDS PostgreSQL数据库的物理备库

如何搭建阿里云RDS PostgreSQL数据库的物理备库 用户在阿里云购买了RDS PostgreSQL,如何在自己的机房或者ECS上建立备库?关于如何构建逻辑备库,在我以前的文章有详细的讲解,所谓逻辑备库,是可以跨版本,甚至仅仅同步一部分相同步的表的备库.https://yq.aliyun.com/articles/7240 如果用户需要构建一个和RDS PostgreSQL一模一样的备库,则可以通过流复制或者归档来完成. 步骤如下.1. 准备备库环境 安装64位Linux 安装与RDS P

阿里云RDS金融数据库(三节点版) - 背景篇

标签 PostgreSQL , MySQL , 三节点版 , 金融数据库 , Raft , 分布式共享存储版 背景 提到金融级数据库,大家可能不约而同的会想到Oracle,DB2等商业数据库.但是随着开源数据库的发展,开源数据库正在逐渐成为数据库产业的核心,比如MySQL.PostgreSQL数据库 ,已经深入阿里.平安科技.苏宁.高德.国家电网(还有很多)的核心.可以看到,不管是MySQL还是PostgreSQL,有越来越多成功的核心应用案例. 目前还有一些金融企业核心数据库依旧是老牌的商业数

阿里云RDS金融数据库(三节点版) - 性能篇

标签 PostgreSQL , MySQL , 三节点版 , 金融数据库 , Raft , 分布式共享存储版 背景 终于到了性能篇,三节点同时满足了企业对数据库的可用性.可靠性的要求,那么性能如何呢? 提到性能测试,我有几点一定要说明一下,很多朋友对性能的理解可能有偏差,那么如何评判性能的好坏呢? 1.首先要明确测试的环境,包括数据库主机(主要包括CPU.内存.网卡,如果你的数据库能用上FPGA.GPU的计算能力,还得算上他们,例如PostgreSQL就可以利用GPU和FPGA进行计算加速.).

阿里云RDS金融数据库(三节点版) - 案例篇

标签 PostgreSQL , MySQL , 三节点版 , 金融数据库 , Raft , 分布式共享存储版 背景 土豆哪里去挖? 土豆郊区去挖. 一挖一麻袋? 一挖一麻袋. 挖掘机不仅是城市建设的必备法宝,居然也是挖土豆利器. 但是科技行业一定不喜欢挖掘机,经常会听说xx互联网软件故障提到"光纤被挖断",导致XX机房故障几小时. 这和数据库有什么关系呢?当然有,一些企业在业务层面可能做到了多机房,多活的架构,但数据库并没有做到0丢失的多机房或多活部署,如果数据库所在机房网络故障,那么