总结来说,DRDS是CDS(Completed Database Spllitting)的升级版,CDS更关注于分库分表的实现, DRDS在此基础上做了平台化,智能化的升级。
CDS核心功能:(1-2-3-4-5-6)
1.数据分片(切分规则多样、路由策略灵活、功能特性丰富、SQL支持全面)
2.运维控制台(界面友好、监控实时、操控简便、高可用、)
3.统一数据查询-MyDB(WEB化数据统一 查询管理平台、支持智能化元数据提示、支持字段脱敏、数据字典管理等功能特性、支持DDL变 更、数据订正流程化审核、SQL审计等功能)
4.大数据检索平台-数据中心(基于ElasticSearch+HBase存取实现,稳定高效结合数据管道平台,将在线业务数据实时同步到数据检索平台、查询维度丰富 建立各种预设 查询维度索引,从而满足多维度、复杂、统计SQL查询的高 性能响应要求、数据近实时一致性 通过保序和重试机制保证)
5.增量同步工具-数据管道平台(基于MySQL的Binlog日志和Oracle的Redo日志的解析,获取事务变更记录,实时向多目标消费端发送结构化的事务数据、支持异构数据源之间的增量复制、支持基于消息队列的事务数据发布与订阅)
6.全量迁移工具-数据迁移平台(提供海量数据的分片并行迁移、数据迁移完整性校验等功能、 高效可靠地完成MySQL、Oracle、MSSQL、 CDS集群、NoSQL等集群之间的数据迁移任务、 是实现业务系统平滑接入CDS分布式数据库的核心工具
)
DRDS介绍
精益化:依靠专业的人才去运维数据库--->标准化:运维文档标准化, 降低运维门槛--->自动化:依托自动化工具减 少重复工作, 提高效率--->可视化:通过实时监控和预警替代定期巡检,提高效率--->智能化:基于运维大数据和机器学习,预判和处理复杂、 未知的问题
CDS的优势:(1--2--3)
1.各个产品都已经经过多年打磨,积累了相当丰富的踩坑经验
2.分库分表的配套比较完整,常规需求基本上都能找到解决方案
3.灵活性高,对于较复杂的需求,也能通过各种组合来解决
CDS的劣势:(1--2--3--4)
1.流程长(操作繁琐,建集群需要跑多个平台 、 需要DBA、运维、CDS团队等多方面支持)
2.监控少(没有集群维度的实时监控信息看板 、 无法查看关注集群各个实例当前的运行情况)
3.规则(缺少版本控制 、 缺少规则热加载等)
4.用户体验(当前CDS控制台操作比较繁琐 、 用户体验方面并不是太友好)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
分布式数据库管理平台(DRDS)
![](https://i-blog.csdnimg.cn/blog_migrate/87488ede9316851124a6a1e346c2143c.png)
模块介绍:
1.console: 统一入口,建集群、初始化集群、查数据、 扩容缩容、迁移同步等
2.Config-server:1)提供集群规则, 控制事件 2)Driver、 Proxy运行监控 3) SmartRPC
3.Conductor:基于Netflix Workflow的任务流程处理模块 :可重复执行部署实例、 分配数据库、 DB授权等
4.Agent: 1)监控指标采集 2)数据库集群部署 3) 节点状态计算 4) 快速故障切换
5.Monitor: 查询和收集监控指标信息, 为ES存储服务
6.Alarm: 告警服务,智能分析系统数据,提前预警
7.Schedule: 调度任务 : 比如运营数据汇总,清理任务等
8.OpenApi: 对外开放的API : 比如获取集群实例信息,获取集群监控指标信息, 获取集群规则, 调整连接数等
功能特性:
1.权限控制:• app、DBA、admin、owner
2.用户自助:• 用户自主创建和管理集群 • 手动和自动分配数据库 • 初始化集群 • 增量变更(增加节点、添加应用IP、DDL&DML) • 集成MyDB查询
3.实时状态展示:• 各种监控指标 • 数据库实例的建库状态 • 集群历史状态统计分析
4.资源动态调配:• 实时监控数据库负载,计算集群处理能力,资源动态调配 • 优化闲置的服务器资源
功能大全
Q1:CDS为什么第一次访问数据库会比较慢?
A:服务启动后建立连接时,要从cds-server拉取集群规则,第一次需要查数据库,如果规则较多,时间就会比较长;cds-server获取到规则的同时,会在本地和r2m缓存中都保存规则,如果在r2m的有效期内启动应用,就直接从r2m获取规则,不再挨个查数据库表,所以后面访问数据库就快了。
Q2:如何实现快速初始化?
A:DRDS会集成数据库初始化的操作,把建规则、创建数据库、建表、授权应用这几个步骤流程化,开发提交需求,运营人员负责审核,审核完成后分配数据库资源,然后建库建表,最后开启监控,这些步骤组合成了一个工作流,一次性做完,用户在初始化完成之后就可以直接使用这个集群了。
MyDB
1.Mydb-server:和现有mydb做读写分离,对于比较耗资源的操作, 如DDL、DML、数据导出等,下发到MyDB-server实现 解决由于DDL或大事务DML的处理 影响MyDB查询的问题
2.MyDB-Plus:基于Apache-Calcite开 发的一个多种类型数据源统一查询平台,可以查MySQL、ES、CDS Hive、MongoDB等
DTS("数据对比、管道服务、作业平台")
打通三个组件,形成一个独立的数据迁移平台DTS,全量迁移、 增量同步和实时数据比对同时进行, 用户可以看到整体任务的实时进度。
单独出来,每个组件依旧是 独立的产品,支持日常使用。
DCenter:增强现有ES+Hbase模式的数据中心 添加监控、双写、索引重建、 优化异常恢复机制等
OpenApi:开放API,打造CDS的生态圈。