oracle数据库已经是自成一个体系,在考虑替代oracle的过程中,不能简单得用一种数据库去替代oracle,而是需要从整体架构设计上去替代它。
架构体系中包括总体架构设计,应用架构设计,数据架构设计,其中数据架构设计中分为数据分布设计,数据库分类设计和数据库选型设计
比如应用层的数据分布设计对后期的数据库内的逻辑划分有重要指导作用,比如不同应用之间的解耦,微服务之间的调用关系。可以通过应用数据的分布设计,划分不同的schema或者database
数据库分类设计:可以根据应用数据特点分为redis缓存库,大数据hbase,全文检索库es,地理数据缓存比较好的mongdb等,不同数据库的组合搭配更快的提升响应速度
数据库选型设计: 在关系型数据库选型,包括对于业务数据梳理,根据业务数据特点和各个人员的关注点设置合理选型测试方案。
因此在这里针对关系型数据库的选型设计做一个详细阐述。
数据库选型原则:
在之前去O入云的探索----数据库画像分析(https://www.modb.pro/db/69119)中,提到不同的人员对数据库的关注不同。因此在数据库选型的过程中需要关注一下几个方面:1:业务适配方面
业务方是数据库的最终使用者,因此在数据库选型的过程中数据库能力一定能够覆盖关键业务的关联操作,以及复杂的查询分析操作。目前比较主流的是MySQL和PostgreSQL两种流派
2:处理能力方面。
通过数据库的tpcc测试或者其他压测方式,压测出各种关系型数据库的应用事务的处理能力。此指标能够说明不同数据库的事务处理能力,还能为后期的数据库资源评估提供参考,通过设置不同规格的数据库配置,以满足不同的业务请求
3:安全可控方面。
主流数据库存在安全协议以及闭源的风险。当然可能很多厂商并不把此项原则作为主要参考。结合目前的国内趋势,开源国产是大方向,因此更加开放自由的协议是一个比较好的选择。
4:系统演进方面。
很多公司都是使用oracle数据库,因此在系统演进的过程中,数据库的兼容性,代码改造量,迁移工作量都是需要考虑的一个方面。合适的数据库选型更便于实现开源化转型和系统演进
5:安全可靠方面
数据库产品具有完备的高可用架构体系,并要求具有完善的用户标识与鉴别、存取控制、视图机制、审计、数据加密等安全控制机制,能够提供定期的安全补丁6:运维可控原则
数据库作为最关键的核心组件,要能够实现对数据库运维的自动化、自助化、智能化、定制化,实现对数据库运维的安全可控,并能够充分利用现有的运维能力,并要求所选择的数据库具备广泛的生态环境以及人才储备。
7:快速恢复原则
要具备实现对数据库快速备份及恢复能力,降低数据库恢复时间,避免数据误操作,提高数据库可用性。数据库选型测试指标
根据以上的数据库选型原则制定出合理的数据库测试指标。测试项 | 结果 | |
测试大项 | 测试场景 | 测试结果 |
标准TPCC事务测试 | 80并发 | |
160并发 | ||
240并发 | ||
xxx并发 | ||
业务SQL性能测试 | SQL1 | |
SQL2 | ||
SQL3 | ||
SQL4 | ||
SQL5 | ||
.... | ||
大表性能测试 | 数据量 | |
占用空间 | ||
冷库全表扫描 | ||
热库全表扫描 | ||
索引不回表扫描 | ||
索引回表扫描 | ||
高可用测试 | 场景一 服务器异常宕机测试 | |
场景二 从库数据恢复测试 | ||
场景三 自动切换时常测试 | ||
兼容性测试 | 数据类型 | |
别名 | ||
谓词 | ||
函数 | ||
常用SQL | ||
触发器 | ||
集合 | ||
连接 | ||
分区表 | ||
视图 | ||
序列 | ||
修改表名 | ||
修改表字段 | ||
物化视图 | ||
稳定性测试 | 连续无报错测试时长 | |
最高TPMC | ||
最低TPMC | ||
平均TPMC | ||
监控测试项 | 总监控项 | |
满足项 | ||
满足项百分比 | ||
问题诊断能力测试 | 总监控项 | |
满足项 | ||
满足项百分比 | ||
物理备份能力测试(NAS) | 物理备份工具 | |
备份数据量 | ||
备份时长 | ||
备份速度(GB/分) | ||
物理恢复能力测试(NAS) | 物理恢复工具 | |
恢复数据量 | ||
恢复时长 | ||
恢复速度(GB/分) | ||
逻辑备份能力测试 | 逻辑备份工具 | |
备份数据量 | ||
备份时长 | ||
备份速度(GB/分) | ||
逻辑恢复能力测试 | 逻辑恢复工具 | |
恢复数据量 | ||
恢复时长 | ||
恢复速度(GB/分) | ||
时间点恢复能力测试 | 是否支持 | |
闪回能力测试 | INSERT闪回 | |
UPDATE闪回 | ||
DELETE闪回 | ||
同构数据库之间的同步能力测试 | 同步速度 | |
异构数据库之间的同步能力测试 | 同步速度 | |
个性化业务功能测试,比如数据库代理功能 | INSERT同步记录条数 | |
INSERT同步成功耗时 | ||
delete同步记录条数 | ||
delete同步成功耗时 |
最后修改时间:2022-01-26 17:08:05
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
您好,您的文章已入选合格奖,10墨值奖励已经到账请查收!
❤️我们还会实时派发您的流量收益。
3年前

评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1270次阅读
2025-03-13 11:40:53
玩一玩系列——玩玩pg_mooncake(PostgreSQL的高性能列存新贵)
小满未满、
528次阅读
2025-03-03 17:18:03
MySQL8.0统计信息总结
闫建(Rock Yan)
482次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
453次阅读
2025-03-13 14:38:19
Ogg23ai高手必看-MySQL Innodb Cluster跟oracle的亲密接触
曹海峰
448次阅读
2025-03-04 21:56:13
王炸!OGG 23ai 终于支持从PostgreSQL备库抽取数据了
曹海峰
398次阅读
2025-03-09 12:54:06
SQL优化 - explain查看SQL执行计划(一)
金同学
387次阅读
2025-03-13 16:04:22
玩一玩系列——玩玩login_hook(一款即将停止维护的PostgreSQL登录插件)
小满未满、
375次阅读
2025-03-08 18:19:28
明明想执行的SQL是DELETE、UPDATE,但为什么看到的是SELECT(FDW的实现原理解析)
小满未满、
351次阅读
2025-03-19 23:11:26
MySQL突然崩溃?教你用gdb解剖core文件,快速锁定“元凶”!
szrsu
333次阅读
2025-03-13 00:29:43