GaussDB OLTP云数据库配套工具DDM

2023-10-10 16:30

本文主要是介绍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利用普通服务器进行集群部署,提供与传统商业解决方案相同甚至更高的处理能力。

——结束

这篇关于GaussDB OLTP云数据库配套工具DDM的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/GaussDB/article/details/131549950
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/181698

相关文章

Python使用FFmpeg实现高效音频格式转换工具

《Python使用FFmpeg实现高效音频格式转换工具》在数字音频处理领域,音频格式转换是一项基础但至关重要的功能,本文主要为大家介绍了Python如何使用FFmpeg实现强大功能的图形化音频转换工具... 目录概述功能详解软件效果展示主界面布局转换过程截图完成提示开发步骤详解1. 环境准备2. 项目功能结

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Linux系统之stress-ng测压工具的使用

《Linux系统之stress-ng测压工具的使用》:本文主要介绍Linux系统之stress-ng测压工具的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、理论1.stress工具简介与安装2.语法及参数3.具体安装二、实验1.运行8 cpu, 4 fo

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

Python使用pynput模拟实现键盘自动输入工具

《Python使用pynput模拟实现键盘自动输入工具》在日常办公和软件开发中,我们经常需要处理大量重复的文本输入工作,所以本文就来和大家介绍一款使用Python的PyQt5库结合pynput键盘控制... 目录概述:当自动化遇上可视化功能全景图核心功能矩阵技术栈深度效果展示使用教程四步操作指南核心代码解析

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

使用Python和Tkinter实现html标签去除工具

《使用Python和Tkinter实现html标签去除工具》本文介绍用Python和Tkinter开发的HTML标签去除工具,支持去除HTML标签、转义实体并输出纯文本,提供图形界面操作及复制功能,需... 目录html 标签去除工具功能介绍创作过程1. 技术选型2. 核心实现逻辑3. 用户体验增强如何运行

Python使用Turtle实现精确计时工具

《Python使用Turtle实现精确计时工具》这篇文章主要为大家详细介绍了Python如何使用Turtle实现精确计时工具,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录功能特点使用方法程序架构设计代码详解窗口和画笔创建时间和状态显示更新计时器控制逻辑计时器重置功能事件