DRDS和RDS适用场景和存储方案选型标准:
DRDS适用场景:
1、 读写分离:分散读压力,需要考虑主从复制延迟和分配机制(RDS自带读写数据库代理支持读写分离);
2、 分表分库:解决大数据量场景,分散存储和访问压力;
DRDS弊端:
1、 分布式事务问题,DRDS原生事务为柔性事务非强一致事务,在部分分库执行失败回滚时有可能读到或覆盖脏数据;
2、 JOIN/COUNT/ORDER BY操作对业务有侵入;
3、 成本及可维护性,拆分键和路由规则选择、DRDS版本更新和底层RDS扩容问题;
建议说明:
1.极端场景数据量大的情况才建议使用DRDS分表分库
2.大部分新业务或迁过来的业务按照功能从业务上进行垂直拆分(表、库和实例级别),少部分对实时性要求不高读多写少场景选择读写分离方案。
DRDS 分配规则:
分为 独占服务数据库、共享数据库2类,DRDS 无物理空间限制,只需考虑性能和未来的可迁移性:
按照业务重要性和实际情况选择:
共享数据库:如非核心、业务量不大(且可以有业务中断时间,能做数据库停机迁移)年最大数据条数<100M
共享数据库按照业务,划分几个共享数据库,大类按照研发部门+系统/业务模块规则进行划分,做到业务大类隔离。
独占数据库:核心的需要保证高可用;未来是7*24无停机时间可做迁移类。如账务、通道类 系统
获取前提:有基于3年内性能评估分析报告或性能测试报告
RDS分配规则:
获取前提:有基于3年内性能评估分析报告或性能测试报告,报告必须包含性能和容量使用两块
(性能指标包含:连接数/IOPS/QPS/TPS,容量指标包含:当前数据量和近半年内增量)
1.通用型-用于测试、研发短期应用(按需使用,直接4core 8G起配)
(通用型-基础版:1个节点,适用于开发、集成测试或预发环境,非生产环境建议公用一个实例,按照库和账号进行逻辑上隔离,使用建议按量付费使用结束后可随时释放,长期使用建议包年包月会有折扣)
2.独享型-高可用版:
用于生产配置根据压测报告来定规格,阿里云支持平滑动态升级,升级时如有数据迁移则会发生秒级闪断切换;
非核心业务使用共享实例,库、账号和白名单单独配置逻辑上分离以便审计、调优和后续拆分迁移)
建议配置:重要应用独用(4core 16G,500G),共享的数据库服务器(8core 32G, 1T),结合业务需要求可做略调,如果业务量猛增,则需迁移出来变为独用。
3.独享型统一RDS 5.7高可用版+本地SSD盘
4.数据库空间要提前规划,8core 1T(结合当前使用量进行)