一、信创数据库运维管理主要工作范畴
信创数据库的运维管理工作的范畴与传统商用、开源数据库运维管理的范畴基本相同,主要包含如下几项:
1.负责对数据库系统进行合理规划,最大限度地发挥设备资源优势。保证数据库的稳定运行。
2.负责定期对所管辖的数据库系统的配置进行可用性,可靠性、数据一致性和完整性,性能以及安全检查,对性能以及安全的配置方法进行修订和完善。
3.负责对所管辖的数据库系统进行监控、并对运行过程中出现的问题及时排障解决。
4.数据库系统及数据的容灾备份和恢复工作。
二、信创数据库的规划管理
运维信创数据库的第一步是做好规划,前期规划建设做得好,运维工作就轻松,如果前期规划不善,则后期的运维工作将面临较大压力。新业务系统选型时,选择好合适的数据库以及部署环境至关重要。
1、基础环境以及选型部署规划
信创数据库中,有集中式数据库和分布式数据库,通常处理并发能力方面,集中式数据库弱于分布式数据库。分布式数据库利用多节点的优势能分担算力,提高并发,具有更强的扩展性。业务系统进行基础环境选型前,需要评估其并发数,日均交易数超过百万级别的都可以考虑采用分布式数据库。集中式数据库,也需要考虑应当采用虚拟机部署还是物理机部署,对于吞吐量较大,IOPS要求较高的,不建议采用虚拟化部署。
2、数据库版本选择、参数配置、模式选择、表设计、命名管理等注意事项和常用规范
信创数据库的参数配置,因为涉及的产品较多,不同数据库建议结合不同的CPU类型、操作系统等基础物理环境,从最优使用经验上形成基线,建立模板。对于数据库CPU、内存等参数,结合业务系统数据量进行分析,保留数据库热扩容的能力,例如高并发业务量系统,虚拟机热扩容内存后,应当开启参数保证数据库能实时识别并使用新增扩容的CPU和内存资源。高并发系统中的热点表较多时,应当在创建数据库时适当预留数据库BUFFER空间,绑定热点表至BUFFER中提高数据库响应能力。
对于进行信创改造的数据库,通常具备对于Oracle、MySQL的兼容模式选择,可以根据改造前系统的数据库产品进行模式选择,选择相同的产品模式,但是也建议在改造过程中尽量去除原有数据库平台的专用函数。对于不同的模式,可能存在部分参数会影响数据库导入格式,例如达梦的COMPATIBLE_MODE兼容模式以及CALC_AS_DECIMAL,在不同的模式和参数选择下,可能存在入库数据格式的不同,此类参数,对于运行其上的业务系统的逻辑的判断可能带来影响。
对于改造类系统,可以尽量采用原库的兼容模式,降低改造风险;对于新建的应用系统,数据库管理员应尽早介入,提醒应用开发侧人员尽量选择采用标准SQL2003标准规范数据库语法开发,避免使用到某种特别产品数据库的专用函数,便于后续的维护,同时也提高该系统对于多种数据库产品的兼容能力,提供了迁移的条件。
对于数据库运维中,数据库对象管理、用户管理等,随着数据库的套数的上升,往往管理复杂度呈指数上升。因此,在管理信创数据库时,早期对于数据库中的对象、表、用户的规划也要做好。制定企业合适的对象命名规范例如:统一要求各应用数据库和表的字符集必须一致,且在表级不建议自定义字符编码;推荐使用统一的命名规范使命名标准化,要求使用英文名词全称,不推荐使用中文标识或者混用拼音与英文。不允许使用系统保留词、关键字,规划时避免与数据库系统或常用访问方法冲突。
三、信创数据库监控以及优化管理
1. 信创数据库的监控管理
信创数据库的第三方监控工具相比Oracle和MySQL还是少很多,目前可以通过数据库原厂监控工具结合自定义监控补充完善监控系统。第三方监控可以通过ZABBIX等平台的自定义指标项,自定义监控脚本进行抓取和配置。原厂以及第三方监控都应纳入统一的告警平台进行大屏监控通知以及短信电话通知。
信创集中式数据库,目前主流平台是国产软硬件环境整体对比原有的Intel+Oracle架构不可否认仍然存在一定的性能差异,因此,基础资源的监控显得尤为突出。为了确保数据库的稳定性和性能,需要对数据库的系统资源进行监控,常用的例如数据库服务器CPU、内存、磁盘空间以及IO等系统资源的使用情况。
对于数据库级别的监控,除了常规的表空间、会话数监控、数据库进程资源监控、运行日志监控外,也可以增加一些对于性能指标的监控,例如数据库锁、慢日志、缓存命中率等,通过监控系统资源、数据库软件的运行情况,及时发现资源不足、性能瓶颈的情况,并及时采取措施进行解决,以确保数据库的稳定性和性能。
值得一提的是,不同于Oracle的SQL执行效率分析,可以通过AWR等报告抓取,信创数据库的SQL性能对于慢日志有较高的依赖。但是在开启数据库慢日志分析的时候,应当考虑信创数据库的慢日志分为SQL抓取/参数抓取等不同级别,打开不同的级别,对于数据库性能可能也产生不同的影响。只抓取sql对数据库性能影响较小,如果需要同时抓取参数,则可能对数据库性能影响较大,对于性能要求较高的系统不建议开启过于敏感的慢日志记录,如果一定要抓取,也应当设置合理的慢日志的阈值和级别。在设置监控阈值时,应当在进行性能压测后评估常规阈值,不同业务系统的阈值设置应当不同,根据业务系统对于SQL执行的效率需求而定。根据《分布式数据库技术金融应用规范技术架构JR/T 0203 —2020》,国产分布式数据库的自身的监控系统应具备以上描述的监控能力。实际上头部大厂的分布式数据库都有自己的监控平台可以实现上述监控目标,例如GoldenDB的insight平台、TDSQL的赤兔平台等。
此外,随着对于信息安全的不断强调,在传统监控部署的同时不应当忽视数据库中的安全事件的监控。安全事件可以包括病毒攻击、黑客攻击等,应该使用适当的安全监控措施来检测和防范这些事件的发生。通过对数据库的行为和数据流进行实时监控,并使用安全集中处理系统来发现和分析安全事件,获得告警信息,保护数据库系统的安全。此外对于数据库审计日志的监控,也应注意,对于关键敏感表,可以配置审计设备进行访问行为的记录和审计,对于非正常访问,当进行监控告警,及时发现风险事件。
优化数据库的性能能够提高企业业务处理的效率,减少用户等待的时间。数据库性能优化需要结合数据库结构、操作系统、网络环境和业务运行情况等因素,综合考虑。常见的数据库性能优化在信创数据库中仍然实用,例如对 SQL 语句进行优化,采用最优的 SQL 语句结构和规范;对数据库索引进行优化,删除无用的索引和优化缺失的索引;优化数据库表的结构,减少表中字段数量和表之间的关系;对于数据量较大的表,尽量采用分区等。
2. 信创数据库性能优化
信创数据库出现故障时,需要根据具体情况进行处理。例如一些操作的执行过程中造成的锁定,I/O 密集型操作的性能问题等,应该在数据库设计和发展阶段就考虑,并采用各种优化手段进行优化。针对性能进行优化,最直接的方案是从基础环境上进行优化,虚拟机迁移物理机,优化存储的IO能力。采用虚拟化部署,一台物理服务器上可能同时运行多套数据库虚拟机。如果多个数据库的业务高峰存在时间上的重叠,则可能出现CPU、IO资源抢占的问题。此时可以根据其并发业务的特性,将各物理机上的数据库虚拟机进行错峰部署迁移,避免同一台物理机上的不同虚拟机的资源抢占。此外,如果虚拟机仍然存在算力瓶颈或者IO瓶颈,可以通过将数据库部署主备后切换的方式,将数据库迁移至物理机。物理机减少了虚拟化层的算力资源损耗以及IO读写损耗。此外,如果IO不足的话,可以迁移物理机,通过增加链路的方式提高IO。如果是存储端性能不足,也应当分析存储IO响应,通过增加SSD缓存、迁移集中式全闪存等方案进行性能优化。对于过度占用数据库资源的用户,可以采用系统资源的限制方法;对于在 SQL 执行时发生的性能问题,可通过定期查询和定期插入等机制形成基线,遇到问题时便于对比分析。对于慢查询、锁定等问题,应该及时以合适的针对性的SQL优化、业务逻辑优化等机制解决。
四、信创数据库的容灾、备份与恢复
信创数据库的容灾设计,如果采用云或者虚拟化部署,则应当配置云上的虚拟机集群容灾备份机制,保障服务器硬件故障场景下的数据库高可用能力。如果采用物理机部署,则应当考虑采用数据库软件提供的集群模式。金融行业中,在资源充足的情况下,尽量配置至少双中心的集群复制。
通常成熟的信创数据库产品,均会配备数据库集群功能,信创数据库的集群中主备同步,以达梦为例,类似Oracle数据库,也有同步和异步的模式,但是没有最大可用模式。因此对于数据库集群是以双中心模式部署的集群,应当考虑业务系统对于数据丢失和性能的平衡。集群软件通常也提供自动切换能力,在主节点故障时,自动将服务切换至备用节点。但是在实际金融业生产环境中,企业数据库管理员应当结合实际生产中的情况,评估是否启用该功能,因为通常在进行数据库主备切换时是需要嵌入主备库的数据一致性验证步骤的,因此为了保证业务数据的一致性,针对重要生产系统的自动切换不建议启用。
数据库备份是数据库管理中必不可少的一部分,为了确保数据安全,必须定期对数据库进行备份,并使用加密措施防止非法用户对备份数据的拦截和获取。数据库备份应存放在不同于数据库本身存储介质的地方,并获得合适的可靠性保证,确保备份数据的安全性。备份数据的保存时间和存储介质应该根据业务需求和数据重要程度制定具体方案。
信创数据库备份频率应该纳入到维护计划中。备份策略要科学合理,定期对数据库进行全量备份和差异备份。此外,对于关键数据,应该采用多种备份方式进行备份,例如本地备份和远程备份,保障数据的安全性。但是目前信创数据库通常是通过数据库自带脚本进行备份,能适配信创数据库备份的第三方备份软件可选方案不算多,部分国产备份软件已经可以提供信创数据库的API备份能力。目前常用方式仍是数据库备份完成后,通过第三方软件离线备份数据库自带软件产生的备份文件。涉及重要数据的数据库,备份频率当不低于每周一次全备,每日增备或归档日志备份。
五、信创数据库的安全管理
为了保障数据的安全,除了进行相应监控外,应当在信创数据库运维管理规范中注意好用户授权、密码管理、审计等内容。
信创数据库权限管理是保证数据库操作安全的一个重要措施,与传统集中式数据库管理基本类似。基于权限管理原则,对数据库进行层级管理,规范化权限的授予。管理员需要对用户的操作权限进行审批,建立和完善权限管理制度。要有完备的权限控制机制,严密的流程控制体系,保障低权限用户不会获取到高权限的数据库访问权。权限分配应根据用户职能和工作需要来规定,“最小授权原则” 应该贯穿到每一项数据操作,应该根据不同的用户需求进行权限的分级。管理权限的分级应该根据其职责和掌握的信息、知识水平进行分类。在分级的过程中,对不同角色﹑不同资格的用户进行权限的授予,在权限的授予过程中需要注意对用户的存取控制。数据库管理员有相应的管理权限,必须严格把控权限的分配和审批,确保管理权限合理使用。
在数据库管理中,信创数据库以达梦为例,密码管理不同于Oracle,不能配置PROFILE进行统一管理,需要在每次创建用户时指定相应的安全策略,策略要求密码的复杂度、强度及其变更规则,应当参考非信创设置统一的基线要求,保护数据库的操作安全。此外,在管理中,应当注意定期更换密码,对已经离职用户的密码进行即时注销。值得一提的是,数据库的用户定期改密一直是监管要求但是较多企业无法实现的一个问题。因为修改数据库密码通常要涉及应用系统的重启,会影响业务连续性。但是目前市场出现的一些账号加密托管系统,可托管和提供数据库的密码。应用每次发起连接都需要到该系统去获取密码,则可以解决该问题。但问题在于涉及应用的修改,因此可以采取逐步替换的策略,尽早规划,尽早启动。
六、总结
信创数据库运维管理规范是企业信息安全和稳定性的重要保障,应当尽早建立并持续优化,在运维规范中不仅要关注常规的数据库管理项,也要根据信创数据库的逐渐普及及时补充更新不同产品的基线;在传统数据库考虑的监控、优化等范畴之外,提前进行规划层面的一些规范指导,也需要加强对安全的监控和防范。总体而言,在制定运维管理规范时,企业需要充分考虑业务的特性以及选用的数据库产品特性,制定相应的规范。此外,进行数据库规范管理需要一个有技术和经验的很好的管理团队,加强管理执行力度,以确保规范管理的贯彻和实施。
课题主持:
笔名:哲哲蛙,长期服务于某城商行信息技术部门,熟悉大型企业的IT数据中心基础平台的建设和维护工作,对容灾架构有较为深刻的理解,对小型机、X86服务器、存储、操作系统、数据库、虚拟化、备份等各类主流产品以及技术较为熟悉。
数据库自主可控课题成员参与审核:
孔再华 股份制银行 数据库架构师
胡晶玉 大型证券 数据库架构师
卢丽欢 张家港农商银行 系统运维经理
苑华伟 江苏农信 分布式数据库专家
范永清 厦门银行 系统架构师
如有任何问题,可点击文末阅读原文,到社区原文下评论交流
觉得本文有用,请转发或点击在看,让更多同行看到
资料/文章推荐:
欢迎关注社区以下 “数据库”技术主题 ,将会不断更新优质资料、文章。地址:https://www.talkwithtrend.com/Topic/597
长按二维码关注公众号
*本公众号所发布内容仅代表作者观点,不代表社区立场