GaussDB OLTP云数据库配套工具DDM

目录

一、前言

二、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.hqwc.cn/news/8529.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据治理平台怎样进行数据治理?做数据治理公司推荐

在大数据蓬勃发展的时代&#xff0c;有很多数据问题&#xff0c;如数据质量不高、数据共享程度较低&#xff0c;那如何提升数据质量&#xff0c;怎样进行数据治理呢&#xff1f; 数据治理在实施过程中会牵涉到很多部门&#xff0c;那如何进行数据治理呢&#xff1f; 1.梳理企业…

在VMware Workstation虚拟机上安装centos服务,并使用xshell连接centos服务。

一、安装VMware Workstation 可前往http://www.kkx.net/soft/22239.html&#xff0c;附带有下载链接&#xff0c;和对应的破解码。 二、下载centos .iso格式文件 前往https://mirrors.aliyun.com/centos/7/isos/x86_64/下载。 以下两个&#xff0c;选择哪一个都行。 记得要下…

【若依框架学习】day1-启动项目

若依开源框架&#xff0c;前后端分离项目&#xff0c;地址&#xff1a;http://doc.ruoyi.vip/ruoyi-vue/ 先配置环境 JDK1.8&#xff0c; MySQL5.7 &#xff0c;Maven3.6&#xff0c;redis、nginx(可以不配)、 node 具体见&#xff1a;https://ygstriver.blog.csdn.net/articl…

解决使用idea的maven打包springboot项目时,“不支持版本号17”的问题

问题描述 在idea里面使用maven的package功能&#xff0c;对一个springboot项目打包jar包时&#xff0c;出现了“不支持版本号17”的错误 经排查&#xff0c;本地确实装了jdk17的&#xff0c;而且运行mvn -version也提示有java 17 解决办法 最后发现&#xff0c;可能是idea…

0073. 矩阵置零

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

PaoPao泡泡清新文艺的微社区系统源码

泡泡是一个真正意义上高性能的微社区&#xff0c;虽然规模不大却拥有完备的功能。 该系统采用了GoZinc架构&#xff0c;前端使用Vue3进行构建&#xff0c;采用清新简洁的设计风格&#xff0c;布局类似Twitter的三栏设计。 后端服务使用Go编写&#xff0c;仅占用8MB的内存&…

小程序的剪贴板 实现复制文本功能

小程序的剪贴板 实现复制文本功能 wx.setClipboardData wx.setClipboardData() 设置系统剪贴板的内容。调用成功后&#xff0c;会弹出 toast 提示"内容已复制"&#xff0c;持续 1.5s Promise 风格 调用&#xff1a;支持微信 Windows 版&#xff1a;支持微信 Mac 版&…

新手入门深度学习 | 6-2:AlexNet(2012)详解

&#x1f517; 运行环境&#xff1a;python3&#x1f6a9; 作者&#xff1a;K同学啊&#x1f947; 精选专栏&#xff1a;《深度学习100例》&#x1f525; 推荐专栏&#xff1a;《新手入门深度学习》&#x1f4da; 选自专栏&#xff1a;《Matplotlib教程》&#x1f9ff; 优秀专栏…

K8S-二进制部署

二进制搭建 Kubernetes v1.20 k8s集群master01&#xff1a;192.168.22.10 kube-apiserver kube-controller-manager kube-scheduler etcd k8s集群master02&#xff1a;192.168.22.20 k8s集群node01&#xff1a;192.168.22.11 kubelet kube-proxy docker k8s集群node02&#x…

30分钟,认识 html 本质

30分钟&#xff0c;认识 html 本质 html 是什么&#xff1f;html 起源html 发展标签分类空间占用方式布局文本修饰流媒体标签 预定义符号 Symbols弃用的部分标签学习 html html 是什么&#xff1f; HTML的英文全称是 Hyper Text Markup Language&#xff0c;即超文本标记语言。…

Spring Boot中RabbitMQ自动配置的介绍、原理和使用

Spring Boot中RabbitMQ自动配置的介绍、原理和使用 引言 RabbitMQ是一种高性能的消息队列系统&#xff0c;它支持多种消息协议和丰富的功能&#xff0c;如消息路由、消息确认、消息重试、死信队列等。在Spring Boot中&#xff0c;我们可以通过自动配置的方式来使用RabbitMQ。…