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

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

一、             概述

 

阿里云发布的产品种类齐全,今天就让我们一起来了解下分布式关系型数据库服务(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

 

 

 

相关实践学习
Polardb-x 弹性伸缩实验
本实验主要介绍如何对PolarDB-X进行手动收缩扩容,了解PolarDB-X 中各个节点的含义,以及如何对不同配置的PolarDB-x 进行压测。
目录
相关文章
|
26天前
|
SQL 存储 API
阿里云实时计算Flink的产品化思考与实践【下】
本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。
110617 69
阿里云实时计算Flink的产品化思考与实践【下】
|
1天前
|
物联网 云计算
电子好书发您分享《阿里云产品手册2024版》
**《阿里云产品手册2024版》电子书分享:** 探索阿里云最新产品与服务,涵盖云计算、物联网及安全等领域。降价优惠高达55%,详尽指南助你高效利用云资源。[阅读电子版](https://developer.aliyun.com/ebook/8326/116556?spm=a2c6h.26392459.ebook-detail.4.7424272ayuuPGu) ![阿里云手册](https://ucc.alicdn.com/pic/developer-ecology/cok6a6su42rzm_066de4cfe9654074b30718f57e8e27f4.png)
13 3
|
7天前
|
API
阿里云微服务引擎及 API 网关 2024 年 3 月产品动态
阿里云微服务引擎及 API 网关 2024 年 3 月产品动态。
|
8天前
|
安全 云计算
电子好书发您分享《阿里云产品手册2024版.阿里云产品手册2024版》
**《阿里云产品手册2024版》电子书分享:** 探索阿里云最新技术与服务,涵盖云计算、安全、移动研发等领域,详尽指南助您高效上云。[阅读链接](https://developer.aliyun.com/ebook/8326/116556?spm=a2c6h.26392459.ebook-detail.4.176b272aLerqlg)
23 1
|
13天前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
14天前
|
消息中间件 人工智能 监控
|
22天前
|
消息中间件 Cloud Native Serverless
飞天发布时刻丨阿里云 ApsaraMQ 全面升级,携手 Confluent 发布全新产品
阿里云在3月29日的飞天发布时刻宣布ApsaraMQ全面升级,实现全系产品Serverless化,与Confluent合作推出新产品,强化云原生消息队列服务。
|
29天前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
1月前
|
存储 分布式计算 网络协议
阿里云服务器内存型r7、r8a、r8y实例区别参考
在阿里云目前的活动中,属于内存型实例规格的云服务器有内存型r7、内存型r8a、内存型r8y这几个实例规格,相比于活动内的经济型e、通用算力型u1实例来说,这些实例规格等性能更强,与计算型和通用型相比,它的内存更大,因此这些内存型实例规格主要适用于数据库、中间件和数据分析与挖掘,Hadoop、Spark集群等场景,本文为大家介绍内存型r7、r8a、r8y实例区别及最新活动价格,以供参考。
阿里云服务器内存型r7、r8a、r8y实例区别参考
|
1月前
|
SQL 弹性计算 安全
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程
当我们通过阿里云的活动购买完云服务器之后,并不是立马就能使用了,还需要我们设置云服务器密码,配置安全组等基本操作之后才能使用,有的用户还需要购买并挂载数据盘到云服务器上,很多新手用户由于是初次使用阿里云服务器,因此并不知道这些设置的操作流程,下面给大家介绍下这些设置的具体操作流程。
购买阿里云活动内云服务器之后设置密码、安全组、增加带宽、挂载云盘教程

热门文章

最新文章