光辉飞翔

导航

 

DRDS 概述

更新时间:2017-08-04 13:53:50

   

分布式关系型数据库服务(Distributed Relational Database Service , 简称 DRDS )专注于解决单机关系型数据库扩展性问题,具备轻量(无状态)、灵活、稳定、高效等特性,是阿里巴巴集团自主研发的中间件产品。DRDS 兼容 MySQL 协议和语法,支持分库分表、平滑扩容、服务升降配、透明读写分离和分布式事务等特性,具备分布式数据库全生命周期的运维管控能力。

DRDS主要应用场景在大规模在线数据操作上,通过贴合业务的拆分方式,将操作效率提升到极致,有效满足用户在线业务对关系性数据库要求。

DRDS 主要解决了以下问题:

  • 单机数据库容量瓶颈: 随着数据量和访问量的增长,单机数据库会遇到很大的挑战,依赖硬件升级并不能完全解决问题。

  • 单机数据库扩展困难:传统数据库容量扩展往往意味着服务中断,很难做到业务无感知或者少感知。

  • 传统数据库使用成本高: 当业务数据和访问量增加到一定量时,传统数据库需要依赖特定的高端存储和小型机设备,成本曲线快速上升。

DRDS结构示意图

 

功能特性

更新时间:2017-09-18 11:05:15

   

DRDS 的功能概要如下。

分库分表

支持 RDS/MySQL 的分库分表,在创建分布式数据库后,只需选择拆分键,DRDS 就可以按照拆分键生成拆分规则,实现数据水平拆分。

透明读写分离

通过使用 RDS 只读实例或者 MySQL 备机实现读写分离,帮助应用解决事务、只读实例或者备机挂掉、指定主备访问等细节问题,对应用无侵入,在 DRDS 控制台即可完成读写分离相关操作。

数据存储平滑扩容

当出现数据存储容量和访问量瓶颈时,DRDS 支持在线存储容量扩展,扩容无需应用改造,扩容进度支持可视化跟踪。

服务升降配

DRDS 实例可以通过改变资源数量实现服务能力的弹性扩展。

分布式运维指令集

DRDS 提供独有分布式数据库运维指令集,如 SHOW SLOW、TRACE、SHOW NODE 等指令,帮助您快速发现和定位问题。

全局唯一数字序列

DRDS 支持分布式全局唯一且有序递增的数字序列。满足业务在使用分布式数据库下对主键或者唯一键以及特定场景的需求。

数据库账号权限体系

DRDS 支持类单机 MySQL 账号和权限体系,确保不同角色使用的账号操作安全。

分布式事务

DRDS 结合分布式事务套件 GTS,可以支持分布式事务,保证分布式数据库数据一致性。

监控报警

DRDS 支持对核心资源指标和数据库实例指标的实时监控和报警,如实例 CPU、网络 IO、活跃线程等,帮助您实时发现资源和性能瓶颈。

 

产品优势

更新时间:2017-06-19 15:53:16

   

DRDS 优势概要如下。

分布式

数据读写存储集群化,不受单机限制,业务使用无连接数限制。

弹性

数据服务可升降配,数据存储白屏化 scale-up 和 scale-out,读写分离线性提升读能力。

高性能

分库分表经典方案让操作聚焦少量数据,多种拆分方式适应数据特点,并具备特定 SQL 并行执行能力,进一步提升执行效率。

安全

完整的类单机 MySQL 账号体系,提供具备授权鉴权的 Open API 方便集成能力到业务管控中,产品服务支持体系化。

简单易用

兼容 MySQL 协议和大部分 MySQL SQL 语法,无业务侵入式使用读写分离,全面的运维和监控能力。

成熟度高

参与阿里巴巴全部双十一活动,是阿里巴巴集团接入关系型数据库的标准。

 

应用场景

更新时间:2017-08-08 10:57:33

   

本文重点介绍 DRDS 的典型应用场景。

高并发实时交易场景

面向客户端的电商、金融、O2O、零售等行业普遍存在用户基数大、营销活动频繁、核心交易系统数据库响应日益变慢的问题,制约业务发展。 DRDS 提供线性水平扩展能力,能够实时提升数据库处理能力,提高访问效率,峰值 TPS 达150万+,轻松应对高并发的实时交易场景。

海量数据存储访问场景

企业客户随着业务的快速发展,业务数据增长迅猛,会产生超过单机数据库存储能力极限的数据,造成数据库容量瓶颈,限制业务发展。DRDS 可以线性扩展存储空间,目前可以支持 200+ MySQL 实例的单数据库集群,提供 PB 级存储能力。可广泛应用于工业制造、智能家居、车联网等超大规模数据存储访问场景。

高性价比数据库解决方案

政务机构、大型企业、银行等行业为了支持大规模数据存储和高并发数据库访问,传统方案需要强依赖小型机和高端存储等高成本的商业解决方案,以达到服务能力扩展的目的。DRDS 能够利用普通服务器提供阿里巴巴双十一同等处理能力的高性价比国产化数据库解决方案。

低运维成本数据库

初创型企业初期发展阶段技术积累相对比较薄弱,资金投入有限,业务发展快,数据库的稳定性风险高。DRDS 继承了阿里巴巴多年的分布式数据库技术积累,能够提供简单易用的数据库运维系统,降低企业的技术运维成本,赋予企业强大的数据库支撑能力,为企业发展保驾护航。

数据备份

企业可以利用 DRDS 将自建数据库数据备份到云上,实现云上的数据备份容灾。

 

 

名词解释

更新时间:2017-06-07 13:26:11

   

本文主要对 DRDS 涉及的专有名词及术语进行定义和解析,方便您更好地理解相关概念并使用 DRDS。

DRDS

DRDS(Distributed Relational Database Service)是阿里巴巴自主研发,高度兼容 MySQL 协议和语法的分布式关系型数据库服务中间件。

DRDS 服务节点(DRDS Server)

DRDS Server 是 DRDS 核心组件,提供 SQL 的解析、优化、路由和结果归并。

DRDS 实例

DRDS 实例是由一组 DRDS Server 节点组成的分布式数据库服务集群。各服务节点无状态,同时处理 SQL 请求。

DRDS 实例规格

DRDS 实例规格是 DRDS 实例处理能力体现,按照 CPU 和 内存提供不同的规格的实例,规格越高处理能力越强。如 4Core8G 和 8Core16G,在标准的 DRDS 测试场景下,后者的处理能力是前者的两倍。

实例升降配

DRDS 可以通过改变实例规格来改变处理能力,提升实例规格称为升配,降低实例规格称为降配。

水平拆分

水平拆分是将一个单机数据库拆分为多个物理分库,将数据库中的表数据按照拆分规则,拆分为多个物理分表,存储到不同的数据库分库上的过程。

拆分规则

水平拆分过程中将逻辑数据库表拆分为多个物理分表规则称为拆分规则。

拆分键

水平拆分过程中,生成拆分规则的数据库字段称为拆分键。

分库

DRDS 水平拆分后,逻辑数据库数据存储在多个物理存储实例上,每个存储实例上的物理库称为分库。

分表

DRDS 水平拆分后,每一个分库上的物理数据表称为分表。

逻辑 SQL

由应用端发送到 DRDS 的 SQL 称为逻辑 SQL。

物理 SQL

由 DRDS 对逻辑 SQL 进行解析之后发送到 RDS 上执行的 SQL 称为物理 SQL。

透明读写分离

DRDS 的单个存储实例节点遇到访问瓶颈时,可通过增加只读实例来分担主实例的压力。DRDS 的读写分离功能不需要修改任何应用代码,称为透明读写分离。

非拆分模式

DRDS 支持不进行数据库水平拆分而仅通过 DRDS 提供的透明读写分离来扩展数据库的服务能力。这种模式称为非拆分模式。

平滑扩容

DRDS 可通过增加存储实例节点完成数据库的扩容。扩容不影响原有数据的正常访问,称为平滑扩容。

小表广播

DRDS 将一些数据量小且更新频度不高的数据表存储为单表模式,这些数据表称为小表。通过数据同步将小表复制到与之 JOIN 的分库上进而提升 JOIN 效率的解决方案称为“小表广播”或者“小表复制”。

全表扫描

数据库拆分模式下,如果 SQL 语句中没有指定拆分键,DRDS 将在所有分表上执行 SQL 并归并结果返回,这个过程称为全表扫描。为避免影响性能,用户应尽量避免全表扫描。

全局唯一数字序列(DRDS Sequence)

DRDS 全局唯一数字序列(64位数字,对应 MySQL 中 BIGINT 类型)的主要目标是为了保证所定义唯一字段中的数据的全局唯一(比如 PRIMARY KEY,UNIQUE KEY 等)和有序递增。

DRDS 自定义注释(DRDS Hint)

DRDS 提供的自定义注释,用于指定一些特殊行为,通过相关的语法影响 SQL 的执行方式,从而对 SQL 进行特殊的优化。

 

 

 

   
posted on 2017-11-15 20:16  光辉飞翔  阅读(2263)  评论(0编辑  收藏  举报