银行业数据库优化思路
Posted twt企业IT社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了银行业数据库优化思路相关的知识,希望对你有一定的参考价值。
作者:岳彩波,擅长Oracle、mysql,有丰富的数据库维护、调优经验,曾服务于金融行业,目前专注于第三方支付领域
一、银行业数据库面临的挑战
随着业务的飞速发展,银行理财产品和电子银行等业务的爆发式增长,导致数据库容量不断攀升,随之而来的性能问题却日益凸显,主要表现在如下方面:
架构:RAC或者单机架构没有最优化使用,分区等没有完善设计;
参数:易引起性能问题的数据库默认参数在设计时未根据业务特性进行定制;
存储:RAID/ASM/裸设备/FS的特性了解不多,对于系统需求的IOPS(即每秒进行读写(I/O)操作的次数)和MBPS(即兆比特每秒)以及延迟完全没有科学性评估;
业务:数据库难以应对应用层的高并发存取数据访问,随着数据量的增长该问题日益突出,在电子银行渠道(如网上银行、手机银行等)体现得愈加明显;
SQL:受限于现阶段银行IT实施商的人员素质和代码管控手段,应用实施过程中数据存储层代码质量普遍不高;关键业务SQL代码基本由初级数据库开发人员编写,并且毫无SQL语句质量审核机制,仅仅能够简单实现功能的SQL语句就直接发布到生产环境中,在数据量、并发量倍增之后极易引发严重的性能问题。
二、优化方法
1、调优诊断方法
性能数据采样分析;
制定优化方案(架构优化、参数优化、存储优化、SQL优化、业务优化方案);
实施优化并跟踪优化结果。
2、“头痛医头”vs“找到病根”
“头痛医头”
①故障出现时,互相指责和推卸责任,每个人都承受巨大压力;
② 没有时间在第一次发生故障时解决根本问题, 却总是花大量时间去一遍又一遍的解决“症状”。
“找到病根”
① 找到根本原因,实施“永久”的解决方案;
② 养成一种逻辑,以数据为依据,用系统化方法去解决问题。
三、优化目标
1、业务响应时间
响应时间是客户体验的第一要素,所有的优化都应该为降低响应时间而努力。对于oracle系统也是如此,优化系统参数,优化SQL语句,最终目的都是为了降低响应时间,在单位时间内可以处理更多的请求,为客户提供更优的服务。
2、消除瓶颈和潜在的风险
3、应用开发代码规范化
4、达到预期的优化方案目标
四、持续优化
面对日益增多的问题,我们必须要主动出击,主动监控,在不影响性能的前提下收集数据库的系统信息和监控数据,以便更好的分析数据库存在的性能因素和瓶颈,为未来业务的飞速发展和最佳的客户体验,打下良好的基础。
以上是关于银行业数据库优化思路的主要内容,如果未能解决你的问题,请参考以下文章