《XX医院全业务周期SQL代码质量监测管理服务项目采购需求.docx》由会员分享,可在线阅读,更多相关《XX医院全业务周期SQL代码质量监测管理服务项目采购需求.docx(5页珍藏版)》请在优知文库上搜索。
1、XX医院全业务周期SQL代码质量监测管理服务项目采购需求一、项目概况医院的HIS电子病历等核心应用系统在软件研发及持续交付和持续运维(DevOps)过程中,SQL质量问题存在于软件的全生命周期,在数据库代码设计环节,SQL问题一直层出不穷。长期以来,大部分数据库性能问题由应用开发及运维产生的不良SQL、低效和不规范的表设计所致,并且在开发、测试和上线过程中缺乏有效的审核管理和流程规范,导致SQL问题不能早期发现并解决。一旦应用或更新发布上线后,业务爆发各种SQL性能问题和安全问题,从而导致业务高峰期运行卡顿甚至不可用。本项目旨在对医院的关键应用的SQL质量管控前置化,使不合理的库表设计、对象设
2、计和问题SQL在发生业务影响之前就及时发现并优化。二、技术和服务要求(一)服务内容概述本项目的主要服务内容包括:数据库设计、开发规范方面的优化咨询服务,业务信息系统SQL质量审核评估,业务系统SQL性能风险识别,数据库系统代码变更风险管控,核心业务系统SQL性能优化提升,数据库高效设计开发技能培训等。针对对医院的HIS/EMR等关键应用系统将SQL代码质量管控前置,使不合理的库表设计、对象设计和问题SQL在发生业务影响之前就及时发现并优化,减少或降低因新代码上线对生产系统造成不良影响或重大性能故障乃至宕机的概率,以第三方中立的的角度从代码级保障业务的稳定运行。(二)服务要求1 .协助制定数据库
3、高效设计开发规范根据相关业务数据库的特性以及核心业务数据库的使用情况,从数据库优化的角度,拟定用于SQL相关设计和开发过程的规范。针对在开发过程中的一些问题提出建议,同时避免开发人员在编写代码过程中在不太了解特定数据库特性的情况下提供参考,提高代码的质量和代码可读性等,同时在开发的时候可以培养出好的习惯,减少开发过程中出现错误。数据库高效开发规范强调实用性、可操作性,根据开发人员在编码过程中常见的问题和易犯的错误,针对LONG,LONGRAW类型对象、外键列无索引、无主键表、笛卡尔积SQL、嵌套层过多SQL、表连接过多SQL、全表扫描SQL等进行风险管控和整改落地,从而把控平台数据开发质量,进
4、而提高平台的高效性。对代码编写的各方面均进行了详细明确的规范和约束。2 .数据库高效设计开发技能培训按照实际需要,对开发团队开展SQL开发规范、SQL编写技能、SQL调优等方面的培训或交流,让开发人员懂得怎么样去构建一个高质量的系统。通过专业的技能培训提高开发人员高质量的数据架构设计、SQL编写能力。同时结合医院应用系统的共性问题,让开发人员更加深入的理解和接受规范,从而降低低效SQL代码出现率,从开发源头杜绝影响用户体验的低效设计与SQL代码上线生产业务系统。3 .业务信息系统SQL质量审核评估系统整体的性能质量管控,可采用自动化的SQL质量管控工具,通过SQL性能审核以及系统SQL质量评分
5、功能对系统的整体性能进行评估。同时,针对系统一段时间的变化情况进行趋势对比分析,并针对核心SQL对象访问的表和索引提供合理的设计、改进建议,确保需要访问的表和索引能够与开发人员的SQL代码及业务需求相配合,通过最佳执行计划提升SQL性能。4 .业务系统SQL性能风险识别通过自动化的审核工具针对HIS/EMR系统数据库中存在的LONG,LONGRAW类型对象、外键列无索引、无主键表、笛卡尔积SQL、嵌套层过多SQL、表连接过多SQL、全表扫描SQL等影响性能的SQ进行自动化分析采集,最终进行SQL风险识别管控和问题SQL整改落地,从而把控平台数据开发质量,进而提高平台的高效性。5 .数据库系统代
6、码变更风险管控通过SQL性能管理服务并结合相应的SQL管理工具,能够快速的对数据库系统变更进行风险判定和质量审核,并通过分析上线代码、脚本(DML和DDL),从中发现潜藏的低效问题SQL和变更关联影响,从而避免变更系统带来的性能风险。在应用开发阶段,针对医院核心业务数据库的SQL脚本(DML和DDL),根据既定规则,进行全量扫描分析,标记其中不符合开发规范、存在性能风险的问题。从而实现数据库的系统变更的风险扫描和问题检测。数据库SQL性能审核规则包括缺少主键、外键上缺少索引、列定义中使用IOng、IongraW字段、无SQL使用的索引、全表扫描、全索引扫描、索引跳跃扫描、过多层嵌套、笛卡尔积等
7、。6 .核心业务系统SQL性能优化提升通过对医院核心系统的业务周期、类型,数据库性能数据采集、分析,结合数据结构规划以及物理模型梳理进行SQL问题定位、分析、测试,找出SQL最佳优化路径进行整改提升。并针对优化效果进行跟踪保障。系统运行性能的优化提升,是一个全方位、多角度,覆盖整个应用系统的运行生命期的系统工程,核心业务系统数据库性能优化提升,致力于为前端用户打造极致性能的数据库运行系统。(三)服务工具要求1.本项目拟采用工具+人员的服务交付模式,项目服务周期内,服务提供方的现场人员驻点服务时间总计不少于15个工作日。此外,服务提供方须配套提供一套具备正版授权的SQL质量管理软件(或称SQL代
8、码审核系统)作为项目服务支撑工具,工具软件合法使用过程所涉及的一切费用应包含在项目服务总价之中。2.为保证服务质量,所提供的配套工具应满足以下功能要求:1)提供数据库对象审核功能,可以按照不同用户对所属的对象进行逐一审核,能够一键获取核审结果报告,内容至少应包含对象得分情况,规则违反情况,如规则名称、描述、扣分情况、违反次数等。2)对于数据库对象审核结果,应能够显示违反规则的对象名、扣分情况,以及优化建议或解决办法。3)提供SQL代码审核功能,支持运维人员手工输入SQL文本进行审核,并能够对审核对象给出评分,提示规则违反情况和解决建议。4)支持审核规则的编辑功能,提供规则列表展示并允许添加、删
9、除、修改规则,允许规则的启用与停用,允许设置每条规则的扣分方式。5)支持TOPSQL自动采集审核,允许设置SQL审核的执行频率和设置自动TOPSQL自动审核的条目数。6)提供TOPSQL审核结果统计分析功能,能够总体展示审核结果的风险率,总体审核得分,各个规则的违反占比等信息。7)对于TOPSQL审核,能够下钻查看审核结果详情,包括扣分情况、SQL违反的规则名、违反次数、描述等信息,8)能够对审核的ToPSQL进行多维度的跟踪分析,可按照总SQL的总消耗、单次消耗、执行次数、运行时间、运行CPU时间、IO等待时间等不同维度进行过滤展示,能够按照SQLID和SQL文本对TOPSQL进行检索,可下
10、钻分析SQL语句的当前执行计划与历史执行计划。9)能够对审核的ToPSQL下钻获取语句文本内容、SQL执行计划和SQL分析报告,能够根据不同历史时间点查看特定SQL的分析报告,要求分析报告应包含优化建议。10)能够对审核的TOP大表,支持击表名下钻查看表的详细信息,内容至少包括表的统计信息、字段说明、约束条件、表的列统计信息、索引信息等关键内容;能够通过点击索引进一步下钻获取索引详细信息,至少包括索引所在的表用户、表名、索引所在的列名、列位置和索引顺序等内容。11)支持TOPSQL自动采集审核、时间风险率评估,支持当前和历史风险率动态指标展示,动态评估间隔不小于1小时。12)支持自由添加减少审
11、核对象数据源,对象源识别信息至少包括IP地址、端口号、数据库类型、实例名(或服务名)、节点名称等信息。13)支持审核规则和添加、删除与编辑管理,对于每条规则,支持动手启用或关闭。14)支持对每个审核规则设置扣分策略,包括分值设置与扣分上限等。15)具审核工单管理功能,能够动手创建审核工单,可以指派工单的名称、处理人、处理优先级、目标数据库等信息。16)支持审核工单跟踪管理功能,能够根据工单号或工单名称、创建人或处理人信息检索工单,并查询工单的处理状态,支持工单的删除功能。17)支持TOPSQL审核状况比对功能,能够自由选择不同历史时间段的SQL审核结果进行比较,显示各自时间段的SQL风险率情况。18)提供多种用户角色管理功能,支持用户增减与角色分配,用户角色种类至少包括管理员、DBA、运维人员、开发人员等等。19)SQL核心功能至少应支持主流ORAeLE和达梦两种商业化的主流国内外数据库类型,20)支持与现有数据库智能运维平台联动,实现事前、事中、事后SQL质量审核。