开发者社区> hayden822> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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

简介:
+关注继续查看

一、             概述

 

阿里云发布的产品种类齐全,今天就让我们一起来了解下分布式关系型数据库服务(Distribute Relational Database Service,简称DRDS)吧。

 

 

什么是DRDS呢?

 

DRDS是一种水平拆分、可平滑扩缩容、读写分离的在线分布式数据库服务。前身为淘宝TDDL,是近千个应用首选组件,已稳定服务了七年以上。

 

 

那么,DRDS有什么优势呢?

 

  • DRDS简单易用。如同单MySQL数据库使用,兼容MySQL交互协议,兼容90%以上的MySQL SQL。
  • DRDS稳定可靠。共享阿里TDDL、COBAR组件,支持阿里内部交易、商品等核心应用。
  • DRDS水平拆分,容量达单节点百倍,内部最大集群达200多个MySQL节点。
  • DRDS可扩展。增减节点对应用几乎无影响,独有的高效数据迁。

 

 

正是因为这些优势,DRDS为您快速搭建专业分布式关系型数据库服务,让你忘掉成长的烦恼!DRDS在功能上能给您提供如下服务:

 

  • 分布式SQL引擎:将数据按照条件分散到多个数据节点(分库分表),对于数据操作sql进行分布式优化,获得最佳执行效率。

 

  • 自主运维:DRDS的用户运维平台提供DRDS接入、分布式DDL、拆分信息维护、平滑扩缩容、分布式DML、监控等常用功能,让运维工作变得更简单。

 

  • 小表复制:对于配置表,常量表等不经常变化的表进行多节点对等同步,加速该类表与其他拆分表做关联查询的速度。

 

  • 分布式全局唯一id:提供全局唯一数字id服务,帮助您在分布式环境下,继续保持类似唯一键、主键等数据的全局(所有节点)唯一性。

 

 

您可能想知道,什么场景中适合应用DRDS呢?

 

DRDS典型的应用场景有:突破单个数据库瓶颈轻量级数据分析、冷热数据分离、动态数据读写分离等。

 

众多客户信赖DRDS,目前,虾米网、网聚宝、华甫达、安存等都在使用DRDS。

 

DRDS典型特性介绍:

https://www.aliyun.com/product/drds/?spm=5176.2115824.3.55.Dvizj4

 

 

 

二、             技术点(DRDS五大热点技术问题分析)

 

在上一篇文章中,我们为大家介绍DRDS的概况,分布式关系型数据库服务(Distribute Relational Database Service,简称DRDS)是一种水平拆分、可平滑扩缩容、读写分离的在线分布式数据库服务。前身为淘宝TDDL,是近千个应用首选组件,已稳定服务了七年以上。那在使用过程中,经常遇到的热门技术问题有哪些呢?

 

控制台使用:

https://help.aliyun.com/document_detail/drds/quick-start/console_use.html?spm=5176.docdrds/brief-manual/summary.6.85.SSvRzC

 

DRDS使用:

https://help.aliyun.com/document_detail/drds/quick-start/drds_use.html?spm=5176.docdrds/quick-start/console_use.6.86.XlYpih

 

数据拆分策略:

https://help.aliyun.com/document_detail/drds/best-practice/best_shard.html?spm=5176.docdrds/quick-start/drds_use.6.88.fH106h

 

数据的导入与导出:

https://help.aliyun.com/document_detail/drds/best-practice/best_data_import_export.html?spm=5176.docdrds/best-practice/best_connection_pool.6.90.lgPvqW

 

SQL优化:

https://help.aliyun.com/document_detail/drds/best-practice/best_sql_optimizer.html?spm=5176.docdrds/best-practice/best_data_import_export.6.91.CsOioq

 

 

希望上面的内容,能够对大家有所帮助。

 

 

 

三、             体验(DRDS分布式事务在奥林公司咖狗网的应用实践)

 

咖狗网是奥林科技旗下的国际物流交易服务平台。基于该平台,国际物流货代企业可以获取运价发布、在线订舱等服务。

 

咖狗网采用SOA(service-oriented architecture)技术架构,如下图所示:

e2133a04f5b3a6a02051572d3671667df1d50aeb

 

咖狗网由若干个业务模块组成(运价模块、买家模块、卖家模块等),模块之间通过RPC服务进行交互。以订舱场景为例,涉及的业务模块包括:

d98595110205aaed720cae012e8e4e446b13e92a

 

用户进行订舱操作,后台的RPC服务会在运价模块中扣除仓位信息、在买家模块/卖家模块中插入订单信息、在积分模块中累加积分。

 

问题描述

多个RPC服务的调用,涉及多个数据库中多张数据库表的操作。如何保证多个RPC服务在业务上能够保持最终一致?这个问题曾一度困扰奥林公司平台开发部的设计人员。通过查阅相关资料得知,我们遇到的问题属于“SOA系统中的分布式事务”范畴。网上也有一些相关的解决方案介绍,比如两阶段提交、WS-Transaction标准等。但是,基于我们当时的人力、在有限的时间内,开发一个两阶段提交框架,似乎不太现实。

 

 

解决方案

通过多方打听了解到,淘宝的分布式中间件(TXC),可以解决我们的问题,现已集成到DRDS中。

DRDS分布式事务的原理:

分布式事务协调器负责分配事务上下文id,应用层代码将该id透传给业务上需要保证最终一致性各RPC服务。事务协调器根据各RPC服务预处理的结果(成功/失败),来决定整个事务的统一提交/回滚。业务SQL在执行前后,会生成事务日志,在日志中包含前置镜像和后置镜像。提交的时候,删除事务日志即可;回滚的时候,依赖事务日志中包含的前置镜像和后置镜像。如果回滚失败,会通过异常处理机制,通知用户人工介入。

基于咖狗网技术架构,将DRDS分布式事务集成进来,仅需要两个步骤:

 

1、在REST层模块中,通过事务模块开启一个全局事务,生成全局事务xid。在RPC服务调用过程中,需要将该xid透传给各RPC服务。代码如下:

bee8cb0672220a465b83076fee16520472654021

2、在RPC服务的接口实现中,将xid设置到与业务操作相同的数据库连接中。

为了保证将xid设置到与业务操作相同的数据库连接中,通过Spring的AOP切面方法来实现。

 

经过与阿里技术人员近一周的联调,一路披荆斩棘,咖狗网的分布式事务问题最终解决。

感谢阿里中间件团队在该项目中提供的帮助!

 

如果您想详细了解DRDS,请访问:

https://bbs.aliyun.com/read/243060.html?spm=5176.bbsl258.0.0.RRRGDi

 

汇通天下,基于DRDS实现数据扩展:

https://yq.aliyun.com/articles/6833?spm=5176.100240.searchblog.8.C3ZVbx

 

 

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
关系型数据库(RDS)
关系型数据库(RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。
243 0
阿里云云原生数据湖分析DLA重磅发布-数据湖管理,助力企业一站式管理OSS数据湖存储数据
数据湖当前在国内外是比较热的方案,MarketsandMarkets市场调研显示预计数据湖市场规模在2024年会从2019年的79亿美金增长到201亿美金。一些企业已经构建了自己的云原生数据湖方案,有效解决了业务痛点;还有很多企业在构建或者计划构建自己的数据湖。阿里云数据湖分析服务DLA的数据湖管理功能定位为帮助用户构建统一、安全、高效、开放的数据湖解决方案。
3810 0
阿里云RDS云数据库详解(三分钟)
阿里云RDS云数据库包括MySQL、SQL Server、PostgreSQL、PPAS和MariaDB TX,阿里云数据库分为基础班、高可用版和金融版,数据库吧分享阿里云RDS云数据库详解
2453 0
十分钟教你了解阿里云数据库RDS
阿里云关系型数据库(Relational Database Service,简称RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和SSD盘高性能存储,RDS支持MySQL、SQL Server、PostgreSQL、PPAS(Postgre Plus Advanced Server,高度兼容Oracle数据库)和MariaDB TX引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。
791 0
分布式关系型数据库服务DRDS产品信息汇总
在客户现场遇到很多客户的开发商、运维人员刚刚接触DRDS,希望获取到DRDS的相关信息,因此整理汇总了关于DRDS的使用、迁移、核心原理等信息,以便这些刚刚接触的DRDS的同学,能对DRDS有个全方位的认识,所以整理了这篇文章,希望对大家有所帮助。
16752 0
竞合关系会是云计算行业主流:阿里云发布新一代数据库
9月21日,阿里云发布全新一代云数据库产品POLARDB,该款产品采用第三代分布式共享存储架构,实现计算节点和存储节点分离,使计算引擎和存储引擎均拥有快速扩展能力。他是首个国产的通用高性能自研数据库。
1946 0
阿里云Redis云数据库(KVStore For Redis)控制台介绍
阿里云Redis云数据库(KVStore For Redis)控制台介绍
12806 0
阿里云oss的maven上传插件
阿里云oss上传插件,用于maven项目上传cdn文件(js、css、图片等)
3948 0
+关注
85
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载