1. 用途和受众
1.1 预期用途
- 指导华为云上分布式数据库架构的设计和开发。
- 为售前、解决方案设计、实施和审查提供可重用的架构模式。
- 作为解决方案手册、交付包或实际部署的架构基础。
- 定义安全性、可靠性、性能、成本、运营和合规性护栏。
1.2 目标受众
| 观众 |
典型角色 |
预期用途 |
| 内部 |
架构师、开发人员、交付工程师、运营工程师
|
解决方案设计、审查、交付和实施 |
| 外部 |
客户、合作伙伴、ISV、开发人员
|
评估、实施、集成和操作 |
2. 参考架构概述
2.1 架构描述
通过DDM+RDS实现可自动分库分表、读写分离、弹性扩容的分布式数据库方案,可以支撑百TP级,30+万QPS的读写并发。满足互联网客户超高实时读写并发场景。
2.2 业务背景
| 项目 |
描述 |
| 业务问题 |
互联网客户面临超高实时读写并发场景,单机数据库无法支撑30+万QPS的读写需求,需要分布式数据库方案 |
| 期望的结果 |
构建基于DDM+RDS的分布式数据库,实现自动分库分表、读写分离、弹性扩容,支撑百TP级、30+万QPS读写并发 |
| 主要用户 |
互联网企业客户、高并发业务应用开发者 |
| 关键制约因素 |
RDS水平扩展需要重新做数据库集群迁移;RDS单盘数据不能超过32T;需要多AZ部署保障高可用 |
| 成功指标 |
30W+QPS读写并发;多AZ高可用部署;超低时延响应;系统高峰期稳定运行 |
2.3 架构优点
| 优点 |
描述 |
| 极致性能 |
可支持高频读写场景30W+QPS |
| 超低时延 |
引入redis做缓存降低时延,读写分离提升资源利用率,避免读写冲突 |
| 分布式高可用 |
多可用区部署提升系统可用性 |
| 性价比高 |
使用开源RDS实例相比商业分布式数据库成本更低 |
2.4 设计关注点
| 关注维度 |
描述 |
| 安全 |
可配合DBMS服务实现数据库审计,审计日志汇总在LTS进行分析 |
| 可靠性 |
需要多AZ部署;每日数据库定时备份到OBS |
| 观测/运维 |
跟客户对齐监控指标后可对接到客户的统一告警平台;RDS单盘数据不能超过32T,数据量越大备份时间越长 |
| 可扩展/性能 |
RDS水平扩展需要重新做数据库集群迁移 |
2.5 典型架构
典型架构图
2.6 流程描述
| 阶段 |
步骤 |
说明 |
| 缓存查询 |
1 |
应用首先去redis查询,如果命中直接返回结果 |
| DDM查询 |
2 |
如果redis没有命中,应用去DDM查询数据 |
| 数据分片 |
3 |
DDM会通过分库分表,将数据分片到多个RDS主备实例中 |
| 请求路由 |
4 |
DDM根据元数据将读写请求路由到目标RDS |
| 结果汇总 |
5 |
RDS完成计算后在DDM汇总并返回给应用 |
2.7 云服务产品清单
| 分类 |
服务或产品 |
推荐配置 |
| 数据库缓存 |
DCS |
分布式缓存服务,用于热点数据缓存,降低查询时延 |
| 分布式中间件 |
DDM |
分布式数据库中间件,实现自动分库分表、读写分离、弹性扩容 |
| 数据库 |
RDS |
关系型数据库服务,主备部署,支撑分片数据存储与计算 |
| 监控运维 |
CES |
云监控服务,用于监控数据库运行状态 |
| 监控运维 |
LTS |
日志服务,用于审计日志汇总与分析 |
| 监控运维 |
OBS |
对象存储服务,用于每日数据库定时备份 |
| 安全审计 |
DBMS |
数据管理服务,实现数据库审计 |
3. 参考链接
- 产品文档:
<URL>
- 实施指南:
<URL>
- 源代码或 IaC:
<URL>
- 操作手册:
<URL>
- 安全性和合规性映射:
<URL>
4. 使用限制
- RDS水平扩展需要重新做数据库集群迁移,需在低峰期执行扩容操作。
- RDS单盘数据不能超过32T,数据量越大备份时间越长,需合理规划数据分片。
- 需要多AZ部署以保障系统高可用性。
- 每日数据库需定时备份到OBS,确保数据安全。
附录 A. 术语和缩略语
| 术语 |
定义 |
| DDM |
华为云分布式数据库中间件(Distributed Database Middleware),实现分库分表、读写分离 |
| RDS |
华为云关系型数据库服务(Relational Database Service) |
| DCS |
华为云分布式缓存服务(Distributed Cache Service) |
| CES |
华为云监控服务(Cloud Eye Service) |
| LTS |
华为云日志服务(Log Tank Service) |
| OBS |
华为云对象存储服务(Object Storage Service) |
| DBMS |
华为云数据管理服务(Data Management Service) |
| Redis |
分布式内存缓存数据库 |
| QPS |
每秒查询数(Queries Per Second) |
| TP |
事务处理(Transaction Processing) |
| AZ |
可用区(Availability Zone) |
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
评论(0)