GaussDB OLTP云数据库配套工具DDM

news2024/11/24 14:45:52

目录

一、前言

二、DDM定义

三、DDM业务架构

四、为什么需要DDM?

五、DDM特性

六、DDM应用场景

一、前言

现在越来越多的企业应用在逐步向云平台迁移,同时这对云平台带了一个严峻的考验和挑战。但针对华为云GaussDB数据库, 我们在生态方面做了比较健全的建设,同时自研了很多相应的原生态工具。本文我们主要介绍一下GaussDB 云数据库的配套工具DDM。

二、DDM定义

DDM(Distributed Database Middleware),是由华为云自主研发的云原生分布式数据库中间件,以服务的方式为应用提供对多个数据库实例进行分布式透明访问。彻底解决数据库可扩展性问题,实现海量数据的存储和高并发访问。

三、DDM业务架构

DDM业务架构(来源华为云官网):

DDM业务架构:将底层的数据库引擎进行一个分布式的集中管理。应用服务访问DDM实例即可,无需关心底层分片式的数据库,所有的业务逻辑等都有DDM路由分发,从而让应用透明访问。

  • 作为管理员,可以通过DDM的控制台进行图形化管理,比如实例管理、平滑扩容、逻辑库管理等。
  • 作为开发人员,可以将开发的应用程序通过DDM控制台进行部署等。
  • 作为最终用户,只需要访问业务(应用)服务即可。

四、为什么需要DDM?

以某个应用系统为例(从无到有,从有少量数据到大量数据甚至到海量数据):

1、初始阶段,所有数据存放在一个数据库(服务器)中。

2、小规模(<500QPS或100TPS,读用户<100,写用户<10): 在单库中通过读写分离提升并发读的性能。

 3、中规格(<5000QPS或1000TPS,读用户<5000,写用户<100): 垂直分库,将不同的业务分布到不同的数据库。

 4、大规模以上(10000+QPS,10000+TPS 读用户10000+,写用户1000+): 数据分片,将数据表分到不同的数据库中。

 但是当业务扩展越来多、数据量越来越大时,这样的分片管理也会越来越复杂,因为你的数据库越来越多(分片)。

中间件分片方案:

 

  • 优势: 应用0改动,与语言无关;对应用完全透明地进行数据库扩展;通过连接共享有效收敛连接数。
  • 劣势: 可能存在额外的时延。

五、DDM特性

DDM采用存算分离架构,提供分库分表、读写分离、弹性扩容等能力,具有稳定可靠、高度可扩展、持续可运维的特点。服务器集群管理对用户完全透明,用户通过DDM管理控制台进行数据库运维与数据读写,提供类似传统单机数据库的使用体验。

1、DDM实现读写分离

  • 即插即用:自动实现读写分离,支持配置不同节点的性能权重
  • 应用透明:应用感觉仍是操作单节点,DB调整应用无感知
  • 高可用:主从切换或从节点故障对应用透明

2、DDM实现数据分片,应用0改动

  • 大表分片:支持按Hash等算法实现自动分片
  • 自动路由:根据分片规则,将SQL路由至真正的数据源
  • 连接复用:通过MySQL实例的连接池复用,大幅提升数据库并发访问能力

3、DDM实现数据库水平扩展,自动均衡数据

  • 无限扩展:支持分片个数无上限,轻松应对海量数据
  • 全自动化:一键式扩容,异常自动回滚
  • 业务影响小:秒级中断,其他时间业务无感知。

六、DDM应用场景

DDM主要适用于大规模的数据存储与高并发访问的行业应用,例如:

1、互联网应用

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

2、物联网数据

在工业监控和远程控制、智慧城市的延展、智能家居、车联网等物联网场景下,传感监控设备多,采样频率高,数据规模大,会产生超过单机数据库存储能力极限的数据,造成数据库容量瓶颈。DDM提供的容量水平扩展能力,可以有效的帮助用户低成本的存储海量数据。

3、高性价比数据库解决方案

政务机构、大型企业、银行等行业为了支持大规模数据存储和高并发数据库访问,传统方案需要强依赖小型机和高端存储等高成本的商业解决方案。DDM利用普通服务器进行集群部署,提供与传统商业解决方案相同甚至更高的处理能力。

——结束

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/719377.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用iptables + zabbix-agent 监控进程端口流量

这几天部署了一台ARM架构的linux系统的监控&#xff0c;服务器系统上没有任何工具可以获取数据来获取端口流量&#xff0c;yum&#xff0c;apt-get软件包管理工具都没有&#xff0c;所以想获取数据比较困难。 最终决定使用iptables来添加几条指定端口的规则来统计入站流量和出站…

电子时钟制作(瑞萨RA)(7)----按键修改数码管时间

概述 前几节课程已经单独驱动了数码管和RTC&#xff0c;同时已经整合成了能够用数码管显示具体时间&#xff0c;但是无法修改时间&#xff0c;这节就来配置使用按键修改具体的日期。 硬件准备 首先需要准备一个开发板&#xff0c;这里我准备的是芯片型号R7FA2E1A72DFL的开发…

【花雕】全国青少年机器人技术一级考试备考实操搭建手册9

随着科技的不断进步&#xff0c;机器人技术已经成为了一个重要的领域。在这个领域中&#xff0c;机械结构是机器人设计中至关重要的一部分&#xff0c;它决定了机器人的形态、运动方式和工作效率。对于青少年机器人爱好者来说&#xff0c;了解机械结构的基础知识&#xff0c;掌…

记录Maven 依赖包版本号奇奇怪怪的问题 - okhttp3、okio 版本指定无效

问题背景 SprintBoot项目使用Okhttp 封装SDK common-http&#xff0c;根据官网使用Maven导入JavaSDK <dependency><groupId>io.github.admin4j</groupId><artifactId>http</artifactId><version>0.7.4</version> </dependency&…

Vue 数据双向绑定

双向数据绑定 : 通过前面学习知道 Vue 是数据驱动的&#xff0c;数据驱动有一个精髓之处是数据双向绑定&#xff0c; 即当数据发生变化的时候&#xff0c;视图也就发生变化&#xff0c;当视图发生变化的时候&#xff0c;数据也会跟着同步变化。&#xff08;就是mvvm数据发生变化…

MyCat2 使用教程(一)初始安装

MyCat2 使用教程&#xff08;一&#xff09;初始安装 Mycat2是Mycat社区开发的一款分布式关系型数据库&#xff08;中间件&#xff09;。它支持分布式SQL查询&#xff0c;兼容MySQL通信协议&#xff0c;以Java生态支持多种后端数据&#xff0c;通过数据分片提高数据查询处理能…

【C++】5.多线程:ThreadPoll线程池实现

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍ThreadPoll线程池实现。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&#xff0c;下次更新不迷路…

Web3.0 在中国市场的规模如何?其特点有什么?

随着区块链技术的不断发展和普及&#xff0c;Web3.0 作为下一代互联网的发展趋势&#xff0c;在中国市场也逐渐受到了关注和应用。那么&#xff0c;Web3.0 在中国市场的规模如何&#xff1f;其特点又有哪些呢&#xff1f; 首先&#xff0c;让我们来看一下 Web3.0 在中国市场的规…

Python3,Pandas这4种高频使用的筛选数据的方法,不得不说,确实挺好。

Pandas数据筛选方法 1、引言2、4种高频使用数据筛选方法2.1 布尔索引2.2 isin()方法2.3 query()方法2.4 loc[]方法 3、总结 1、引言 小屌丝&#xff1a;鱼哥&#xff0c;share一下 数据筛选的方法呗 小鱼&#xff1a;Excel就可以啊 小屌丝&#xff1a;我要用Pandas 小鱼&#…

0073. 矩阵置零

73. 矩阵置零 原题链接&#xff1a;完成情况&#xff1a;解题思路&#xff1a;解法一&#xff1a;构造一个同等规模的二维数组&#xff0c;即所谓的m*n解法二&#xff1a; int row[] new int[m]; int col[] new int[n];解法三&#xff1a;常数量级 参考代码&#xff1a; 原题…

软件测试技能,JMeter压力测试教程,请求头部自动签名带上X-sign参数(二十二)

一、前言 接口请求 body 带有 sign 签名参数&#xff0c;sign 签名是根据请求 body 除去 sign 本身参数后&#xff0c;拼接请求参数最后 md5 加密生成的 前面一篇是把 sign 前面参数放到请求的 body 里面&#xff0c;这篇继续讲把签名参数放到请求头部的情况 二、实现方式 …

3Ds Max坐标轴切换,使用物体的世界坐标和本地坐标之间切换

标题&#xff1a;当挪动物体的时候想使用&#xff08;本地&#xff09;/&#xff08;世界&#xff09;坐标移动 官方文档 https://help.autodesk.com/view/3DSMAX/2023/CHS/?guidGUID-0F3E2822-9296-42E5-A572-B600884B07E3官方文档 使用“参考坐标系”列表&#xff0c;可以…

怎么把音乐的伴奏提取出来?分享几个方法给大家!

歌曲伴奏提取是一种将歌曲中的人声去除&#xff0c;获得只含伴奏的音乐文件的方法。这项技术可以广泛应用于伴唱、演奏、混音等领域。以下将详细介绍四种常用的歌曲伴奏提取方法&#xff0c;并提供记灵在线工具的使用说明&#xff0c;让您能轻松进行伴奏提取。 一、使用记灵在线…

Linux下载不同版本的gcc与g++并编译,演示安装gcc11

1. 引言 系统: ubuntu 1804点我进入清华源-GCC链接: https://mirror.tuna.tsinghua.edu.cn/gnu/gcc/ 2. 下载编译指定版本gcc 2.1 下载一个低版本g 为了保证后续安装gcc能编译通过&#xff0c;且安装g同时也会安装gcc&#xff01; sudo apt-get install g2.2 下载指定gcc…

KD06丨超级趋势线第4版大升级

大家好&#xff0c;今天我们来分享可达鸭策略最后一期——超级趋势线第4版&#xff0c;进出场自适应大升级。 从2021年开始&#xff0c;我开始分享超级趋势线系列策略。在最初超级趋势线主体构造不断改造&#xff0c;到加入过滤&#xff0c;到出场迭代等等&#xff0c;历经大版…

Vue中的el-date-picker时间选择器的使用

1、value-format属性设置需要什么格式的时间 2、type类型选择datetime、date 年月日时分秒 <el-date-pickervalue-format"yyyy-MM-dd HH:mm:ss"v-model"excelRuleForm.startTime"type"datetime":placeholder"选择开始时间"> &…

统信UOS系统开发笔记(八):在统信UOS上编译搭建mqtt基础环境(版本使用QMQTT::Client)

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/131455493 红胖子(红模仿)的博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软…

android实现hook其它应用代码和方法调用(无root)

上次讲过无root实现复制其它应用data内部数据&#xff0c;这次讲一下无root情况下直接访问目标应用进程&#xff0c;然后对其进行hook操作&#xff0c;这种跨进程hook的原理是通过dex注入和资源文件修改来实现的。 首先在android studio中创建一个模块&#xff0c;在模块中创建…