麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
517
2024-03-14
数据库作为存储企业数据的重要资产和构筑企业数据管理体系的核心要素,已成为当前信创产品的替换重点。随着监管要求的明确,国产替换已经在金融行业中逐步开展,尤其是在银行业,应用系统迁移到国产数据库在如火如荼地进行中。随着国产数据库在金融业的占比越来越大,国产数据库的运维和使用过程中遇到的痛点和难点问题也逐渐暴露出来。
作者结合国产数据库的使用实践,梳理使用过程遇到的8个痛难点,主要集中在产品稳定性和运维技能、周边工具等方面。
1、目前国产数据库还处于一个高速发展的阶段,产品的质量控制没法得到稳定的保障。较之前的国外传统数据库相比,目前国产数据库在实际的生产使用中发现的产品缺陷相对较多,数据库版本的升级和迭代相对频繁,难以维持在一个较为稳定的版本。金融企业在生产系统上频繁进行版本升级会给生产系统的安全运行带来一定的风险和隐患。
2、许多国产数据库在服务器资源需求方面开销较大,涉及组件包括计算层、数据层和管控面等。在容灾建设方面,比如两地三中心、三地五中心等,资源需求还需要成倍增长。以国产某分布式数据库和传统国外数据库举例,多中心架构部署的资源总量可能相差5倍以上,系统投产资源和成本投入与传统数据库相比相对较高。
3、数据库作为系统基础架构的重要支撑部分,国产数据库在一些核心功能上可能存在缺陷。比如分布式数据库的路由分片功能出现错乱,或者系统高可用切换的时候可能没法保证所有多分片切换到异地中心是原子操作,这些可能出现的核心功能缺陷一定程度上也影响了国产数据库产品的服务能力和容灾能力。
4、近两年国产数据库业务推广和发展飞速,对数据库厂商的运维支持工程师人员的需求突增,但是DBA的技术能力需要时间和积累和丰富的实践基础,会存在部分运维支持工程师运维能力欠缺和经验不足的情况。因此银行业系统管理员和DBA对国产数据库的运维技能可能存在不足,在数据库出现故障的时候,对问题根因的快速定位和应急能力需要提高。
5、国产数据库配套的监控和故障分析工具还不够成熟,尤其是分布式数据库在问题和故障的定位和排查方面比较困难,故障诊断和故障自愈的功能在实际生产运维中有比较迫切的需求。
6、国产数据库的技术文档相对传统数据库还不够完善,生产中遇到的很多故障和缺陷在技术文档中都很难找到相关的参考资料。国产数据库在业内的技术生态也不够活跃,技术氛围相对不够浓烈,社区和论坛建设需要加强。
7、目前很多银行已经在做数据库系统迁移,可能涉及到数据迁移和应用适配改造的问题。数据迁移中对数据的一致性和业务连续性的要求非常高,目前国产数据库提供的数据迁移工具和方案是否稳定可靠还有待观察。
8、国产数据库还处于不断迭代更新的过程中,新增的功能和复杂性可能会增加备份和恢复的难度,例如对于分布式架构的跨集群备份恢复方案不够成熟、备份恢复的操作难度较较高以及备份恢复后的数据完整性保障等难点。
针对国产数据库在产品稳定问题、资源消耗、功能缺陷、运维经验不足、故障根因定位困难、技术生态不完备、数据迁移工具以及数据备份恢复几方面问题,提出相应对策。
1、在国产数据库趋向于成熟的过程中,较为频繁的版本迭代不可避免。首先合理地选择升级时机,尽量选择在业务大批量迁移前和业务低峰时段进行升级,减少版本升级给生产环境带来的风险。同时,没有必要追随新版本,生产环境升级需要在新版本在测试和验证环境运行稳定一段时间,在业界有相关使用案例和数据的情况下,比较稳妥进行版本升级。关于升级策略选择问题,如果是大部分业务已经迁移到国产数据库,可以通过搭建新集群,采用数据铺底,新增数据通过数据同步软件实现新老集群的实时同步,实现应用系统基本无感实现迁移。如果是业务在大批量迁移到国产数据库前,可以在现有数据库集群基础进行升级,应用系统采用容灾切换方式实现升级,升级风险比较可控。不论采用哪种升级,保证系统安全稳定运行是首要任务,升级方案中要有明确的应急和回退方案,保证升级操作对业务连续性影响最小。
2、银行业近年来推进降本增效的相关工作,在选型和使用国产数据库时,要综合考虑资源使用问题。结合实际业务性能需求,合理规划数据库的配置,定制企业级标准数据库资源使用模型。针对系统等级选择不同的部署方式,在满足性能和容量同时,减少不必要的资源开销。要明确生产环境的数据库稳定版本,数据库版本的变化,管控集群和数据库实例版本的兼容问题。避免管控集群在各个网络区域进行重复建设,引发资源占用;同时在安全可控的条件下,稳步推进版本升级,实现管控集群复用,减少资源消耗。在资源部署方面,对于一些对性能要求不高或者业务属性不重要的应用系统,可以考虑采用数据库实例资源混部的方式或者虚拟机部署方式,充分利用硬件服务器的资源。同时在云原生背景下,考虑将提供数据库云服务版本。云原生提供了灵活的资源管理方式,通过云资源下发和资源灵活分配,实现资源最大化使用。
3、国产数据库部分核心功能缺陷的发生确实会带来很大的生产运行风险。在选型或使用国产数据库之前,需要进行详细的测试和评估。通过模拟实际业务场景,验证数据库在路由分片、高可用切换、分布式事务等核心功能上的稳定性和正确性。通过构建并行验证环境,将生产交易流量镜像转发导入到验证环境,充分验证国产数据库的功能、性能、稳定性和高可用性等核心能力。在数据库版本选择的时候,对于一些核心功能尚不稳定或者存在缺陷的版本需要慎重考虑,优先选择较为成熟和稳定的版本,不要为了追求新版本新功能牺牲系统稳定性。在应急处置方面,在发生数据库故障时,支持快速进行高可用切换或者容灾切换演练,实现分钟级的切换,尽量降低产品缺陷引发的业务影响。在国产数据库产品的核心功能无法得到保障的情况下,考虑寻找替代的分布式数据库解决方案,比如通过优化业务逻辑,减少数据依赖,多个数据库分片之间通过应用数据补偿或者引入SAGA、TCC分布式事务的组件实现数据一致性的保证。
4、解决国产数据库运维支持工程师和系统管理员技术能力及经验不足的问题需要采取一系列综合性的策略。技术管理团队对国产数据库的技术栈进行管理和运维,可以借鉴基于运维传统数据库的经验和知识,比如监控策略、应急场景、问题分析和运维工具化等方面进行类比,实现新老技术栈运维知识和经验的转化。定期对国产数据库的某些关键运维场景和问题排查经验开展相关技术沙龙在团队进行宣讲,加强技术交流和讨论。技术管理团队还可以建立一个内部的知识共享平台,分享一些最佳实践、解决方案和技术文档,这有助于管理员从彼此的经验中学习。同时,通过提供定期的培训课程和实战测验,以帮助DBA和系统管理员提升他们的数据库管理和系统运维技能,此外,鼓励员工获取相关的数据库认证,以考促学,验证其专业知识和技能水平。
5、监控和故障分析是生产运维的重中之重,在现有国产数据库周边工具不完备的条件下,企业可以结合使用多种监控工具,弥补某些工具在特定方面的不足。首先确保这些工具能够提供全面的性能监控、日志监控和报警功能。针对具体的业务和数据库特性,设置自定义的监控和报警规则,灵活地根据实际需求进行监控,减少误报,提高问题定位的准确率。利用异常日志和性能日志进行问题分析,通过日志分析工具实时监控和追踪系统异常和性能瓶颈。引入第三方监控和诊断工具APM工具和数据库全链路分析工具,以及开发定制化分析工具,提供丰富的分析功能和故障定位能力。定期进行故障模拟和应急演练,让运维团队熟悉故障排查的流程和方法,通过模拟真实环境中可能发生的故障,提高团队的应急处理能力。
6、国产数据库的技术生态相对比较年轻,社区和论坛建设还在起步发展中,相关产品技术手册比较缺失。银行业中的国产数据库厂商应完善技术文档库,涵盖数据库各个方面,包括安装、配置、性能调优、故障排查等。设立国产数据库的社区或论坛,促进用户之间的交流和经验分享,不断积累经验和知识为行业提供参考。定期组织技术研讨会、在线培训或研讨小组,深入讨论数据库的技术细节,提高用户对数据库的理解和应用水平,有助于形成更为丰富的技术资源。定期举办技术大会,邀请业内专家和从业者分享最新的技术趋势、最佳实践和创新案例,提高整个行业的技术水平。国产数据库可以加强与开源社区的合作,对标开源技术和标准,开放源代码,鼓励更多的开源社区的参与者和贡献者推进技术的演进,加强银行业对技术的管控能力,促进国产数据库在更大范围内的应用和推广。
7、数据迁移是使用国产数据库必要的实施步骤,在开始迁移之前,制定详细的迁移方案是关键。迁移方案应该包括迁移时间窗口、容量评估、迁移回退方案、数据一致性比对方案和迁移过程系统监控和关联的系统保障等。在正式数据迁移之前,在测试和验证环境对数据迁移全流程进行测试是至关重要的,基于测试可以预估出在生产环境实际迁移需要的时间,迁移遇到的问题以及对上下游系统的影响。数据迁移使用现成的迁移工具或者应用开发迁移数据的批量程序进行数据迁移,比如对于数据量不大和迁移时间要求不高的系统通过应用批量程序来进行数据迁移。数据迁移前后的数据一致性比对非常关键,在数据一致性校验工具基础上,应用具备相关数据对比能力,实现数据比对的兜底功能,保障数据迁移的数据一致性。系统迁移国产数据库完成后,如遇到异常需要回退到老库,能够实现一键式数据比对功能,并通过批量方式将新增的关键数据增补到老库,实现信息系统快速切换到老库的能力。
8、备份恢复是数据库容灾的最后一道防线,是数据库提供数据服务的底线,国产数据库应优化备份和恢复工具,提供更加直观、高效的工具或者平台,确保用户可以方便地执行必要的操作。采用并行处理、增量备份等技术手段对备份和恢复操作进行性能优化。提供自动化备份策略,支持设置定期备份计划,确保系统在不同时间点都有可用的备份。关于备份数据库也需要有容灾考虑,保障出现区域级灾难的时候备份数据在异地是可用的。DBA和系统管理员要熟练掌握备份恢复的操作步骤,制定计划定期进行备份恢复的演练,保证备份恢复的有效性,提升全员对数据备份恢复的基本操作能力。在数据库级别的备份恢复基础上,具备一键式表级自动恢复功能。
国产数据库在银行业推广中,已经取得了显著进展,但仍面临一系列挑战。银行重要敏感系统作为关键信息基础设施,对安全性、技术成熟度、生态系统建设、技术支持与服务、数据迁移与升级以及高可用性等方面有着极高要求。在国产数据库推广使用过程中,结合国产数据库的特性,充分考虑数据库的面临痛难点问题,采取积极谨慎态度、始终保持主动运维的意识,不断破解国产数据库使用种种难题,将安全生产作为国产数据库推广中首要任务,守牢安全生产的底线,保障银行信息系统稳定运行。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。