GaussDB OLTP云数据库配套工具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利用普通服务器进行集群部署,提供与传统商业解决方案相同甚至更高的处理能力。
——结束

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
前端Vuer,请收好这份《Vue组件单元测试》宝典,给自己多一些安全感
大家好,我是 Kagol。 作为一名前端,在做业务开发的过程中,你是否曾经: 因为担心上线之后出bug,而反复手工验证自己负责的模块 不敢修改现有的“屎山”(别人写的或者是自己1年前写的)代码,从而不断地编写if/else 发现业务中有很多重复的代码,每次一改好多地方都要改,但又不敢重构,担心重构之后出bug 战战兢兢地修复一个陈年bug,就怕引起N个新bug 如果你中了以上任何一条,说明你现在缺乏安全感,你担心、你害怕、你不敢、你战战兢兢、你如履薄冰。 每天写代码都处在担惊受怕当中,程序员的尊严何在! 程序员的安全感要自己给自己,是时候改变现状了! 我们有很多方法可以给自己安全感,比如: 配置代码检测工具 ESLint 安装拼写检查插件 Code Spell Checker 代码评审 Code Review 结对编程 Pair programming 编写单元测试 Unit Test 本文主要给大家介绍如何在 Vue 项目中编写单元测试。 1 搭环境 我们的单元测试环境基于 vitest + @vue/test-utils。 前提:你需要有一个 Vue 项目,没有的话可以参考 Vit...
- 下一篇
NSQ 行情数据无忧处理丨DolphinDB easyNSQ 模块使用教程
为了实时获取 Level2 行情数据,DolphinDB 对接恒生 NSQ 极速行情服务软件,开发了能够获取上海和深圳市场行情数据的 NSQ 插件。安装好插件后,用户需要创建用于接收实时数据的持久化共享流表和分区表,并且发起相关订阅。为了方便用户快速搭建 NSQ 实时行情数据的流计算环境,DolphinDB 开发了 DolphinDBModules::easyNSQ 模块(简称 easyNSQ 模块),主要用于 NSQ 实时行情数据的自动化接收和存储。目前已经支持的数据源包括上海和深圳市场的: 现货逐笔委托行情主推回调(OnRtnSecuTransactionEntrustData->orders) 现货逐笔成交行情主推回调(OnRtnSecuTransactionTradeData->trade) 现货深度行情主推回调(OnRtnSecuDepthMarketData->snapshot) 注意:DolphinDB 仅提供对接 HSNsqApi 的 NSQ 插件,数据源和接入服务可咨询数据服务商或证券公司。 NSQ 插件目前支持版本:release200,relea...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- 2048小游戏-低调大师作品
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音